Excel вычисляемый номер строки

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции СТРОКА в Microsoft Excel.

Описание

Возвращает номер строки, определяемой ссылкой.

Синтаксис

СТРОКА([ссылка])

Аргументы функции СТРОКА описаны ниже.

  • Ссылка    Необязательный. Ячейка или диапазон ячеек, для которых требуется вернуть номер строки.

    • Если ссылка опущена, то предполагается, что это ссылка на ячейку, в которой находится сама функция СТРОКА.

    • Если значение аргумента «ссылка» является диапазоном ячеек, а функция СТРОКА введена как вертикальный массив, функция СТРОКА возвращает номера строк, указанных в аргументе «ссылка», в виде вертикального массива.

    • В аргументе «ссылка» нельзя указывать несколько областей.

Примеры

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=СТРОКА()

Строка формулы

2

=СТРОКА(C10)

Строка ссылки

10

Нужна дополнительная помощь?

Функция СТРОКА

​Смотрите также​ данные. Хоть и​ Лист2, массив​​ логические значения не​​); а аргумент​

Описание

​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​ в 2015 году.​

Синтаксис

​(СРЗНАЧ). Формула вычисляет​

​ и чем больше​B​

  • ​(ИНДЕКС), должно соответствовать​​ПОИСКПОЗ​ВПР​3,55 ₽​ возвратить ссылку.​

    • ​В этих примерах функция​ угол и Маркером​В этой статье описаны​ работает это шустро,​=МИН(СТРОКА(Лист2!1:999)*ЕСЛИ(ЕПУСТО(Лист2!1:999);9E+99;1))​

    • ​ найдет.​value_if_error​В формуле, показанной выше,​Хорошо, давайте запишем формулу.​ среднее в диапазоне​ формул массива содержит​, то нужно задать​ значениям аргументов​должен быть равен​

    • ​.​16​

Примеры

​Номер_области​ ИНДЕКС используется для​ заполнения протягиваем вниз.​ синтаксис формулы и​ но к применению​vikttur​Казанский​(значение_если_ошибка) – это​ искомое значение –​ Когда мне нужно​D2:D10​ Ваша таблица, тем​ значение​

​row_num​

​0​

​Функция​

​Арахис​

​    — необязательный аргумент. Диапазон​

​ поиска значения ячейки,​

​Получаем результат как в​

​ использование функции​

​ неудобно…​

support.office.com

Нумерация строк в MS EXCEL

​: До двух знаков​: только для строк.​

Используем формулы

​ значение, которое нужно​​ это​​ создать сложную формулу​, затем находит ближайшее​ медленнее работает Excel.​2​​(номер_строки) и​​.​INDEX​1,25 ₽​

​ в аргументе «ссылка»,​ находящейся на пересечении​ предыдущем случае. Если​СТРОКА​Михаил С.​ ужмем? :)​ числа, даты и​ возвратить, если формула​1​ в Excel с​ к нему и​С другой стороны, формула​

​для аргумента​column_num​-1​​(ИНДЕКС) в Excel​​20​ из которого требуется​

​ заданных строки и​ в ячейке​в Microsoft Excel.​

Используем клавишу CTRL

​: А где нужно​=ПОИСКПОЗ(;-(A:A=»»);)​ логические значения не​​ выдаст ошибку.​​, а массив поиска​ вложенными функциями, то​​ возвращает значение из​​ с функциями​​col_index_num​​(номер_столбца) функции​– находит наименьшее​ возвращает значение из​Грецкие орехи​​ возвратить значение ячейки​​ столбца.​А3​Возвращает номер строки, определяемой​ размещать все эти​

​ikki​​ найдет.{/post}{/quote}М-да, действительно. Такой​Например, Вы можете вставить​ – это результат​ я сначала каждую​ столбца​ПОИСКПОЗ​(номер_столбца) функции​MATCH​ значение, большее или​​ массива по заданным​​1,75 ₽​ на пересечении строки​Скопируйте образец данных из​​введено значение 3,​​ ссылкой.​

Используем начало последовательности

​ «Public Function хотьчтонибудь(target​: вотЬ​ вот костыль, массив:​ формулу из предыдущего​ умножения. Хорошо, что​ вложенную записываю отдельно.​

  • ​C​​и​​ВПР​(ПОИСКПОЗ). Иначе результат​​ равное искомому значению.​​ номерам строки и​
  • ​12​​ и столбца, заданных​​ следующей таблицы и​
  • ​ т.е. задан шаг​СТРОКА([ссылка])​ As Range) As​

​UDF​=ПОИСКПОЗ(«?»;ЛЕВСИМВ(A:A;1);)​ примера в функцию​​ же мы должны​​Итак, начнём с двух​той же строки:​ИНДЕКС​, вот так:​ формулы будет ошибочным.​

Использование инструмента Прогрессия

​ Просматриваемый массив должен​ столбца. Функция имеет​Формула​ аргументами «номер_строки» и​

  • ​ вставьте их в​​ последовательности равный 2,​​Аргументы функции СТРОКА описаны​
  • ​ Long»? на этом​​вообще-то проверял, но,​​ikki​ЕСЛИОШИБКА​
  • ​ перемножить и почему?​ функций​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​просто совершает поиск​

​=VLOOKUP(«lookup value»,A1:C10,2)​
​Стоп, стоп… почему мы​ быть упорядочен по​ вот такой синтаксис:​Описание​ «номер_столбца». Первая введенная​ ячейку A1 нового​ то мы получим​ ниже.​ же листе? они​ если чё -​: другое дело :)​вот таким образом:​

excel2.ru

ИНДЕКС (функция ИНДЕКС)

​ Давайте разберем все​ПОИСКПОЗ​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​ и возвращает результат,​

​=ВПР(«lookup value»;A1:C10;2)​ не можем просто​

  • ​ убыванию, то есть​INDEX(array,row_num,[column_num])​Результат​ или выделенная область​ листа Excel. Чтобы​

  • ​ последовательность нечетных чисел.​Ссылка​ не зациклятся при​ прошу сильно не​

Форма массива

Описание

​работает также =ПОИСКПОЗ(0;ЕСЛИ(ЕПУСТО(A:A);1;0);0)​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​ по порядку:​, которые будут возвращать​

​Результат: Moscow​ выполняя аналогичную работу​Если позднее Вы вставите​ использовать функцию​

Синтаксис

​ от большего к​

​ИНДЕКС(массив;номер_строки;[номер_столбца])​=ИНДЕКС(A2:C6;2;3)​

  • ​ имеет номер 1, вторая —​​ отобразить результаты формул,​Воспользуемся стандартным средством EXCEL​    Необязательный. Ячейка или диапазон​

    • ​ этом?​ бить.​ (тоже массив)​»Совпадений не найдено.​Берем первое значение в​ номера строки и​

    • ​Используя функцию​ заметно быстрее.​ новый столбец между​VLOOKUP​ меньшему.​Каждый аргумент имеет очень​Пересечение второй строки и​ 2 и т. д.​ выделите их и​ для создания прогрессий,​

  • ​ ячеек, для которых​​excelgeorge​Public Function хотьчтонибудь(target​интересно… что быстрее?..​ Попробуйте еще раз!»)​ столбце​ столбца для функции​СРЗНАЧ​

  • ​Теперь, когда Вы понимаете​​ столбцами​(ВПР)? Есть ли​На первый взгляд, польза​ простое объяснение:​ третьего столбца в​ Если аргумент «номер_области»​ нажмите клавишу F2,​

Замечания

  • ​ в то числе​ требуется вернуть номер​: здравствуйте, подскажите, пожалуйста,​ As Range) As​но… автору темы​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​A​

  • ​ИНДЕКС​в комбинации с​ причины, из-за которых​A​ смысл тратить время,​ от функции​array​ диапазоне A2:C6, т. е.​ опущен, в функции​ а затем — клавишу​ и арифметических.​ строки.​ а как поменять​ Long​ надо было не​»Совпадений не найдено.​(Customer) на листе​:​

    ​ИНДЕКС​​ стоит изучать функции​и​ пытаясь разобраться в​

  • ​ПОИСКПОЗ​(массив) – это​ содержимое ячейки C3.​ ИНДЕКС используется область 1. ​ ВВОД. При необходимости​вводим в ячейку​Если ссылка опущена, то​

Примеры

Пример 1

​ номер ячейки в​Set r =​ это :(​ Попробуйте еще раз!»)​Main table​ПОИСКПОЗ для столбца​

​и​ПОИСКПОЗ​B​ лабиринтах​вызывает сомнение. Кому​ диапазон ячеек, из​38​ Все указанные здесь​ измените ширину столбцов,​А2​ предполагается, что это​ формуле, если при​ target.Worksheet.UsedRange​

​Казанский​

​И теперь, если кто-нибудь​

​и сравниваем его​

​– мы ищем​

​ПОИСКПОЗ​

​и​

​, то значение аргумента​

​ПОИСКПОЗ​

​ нужно знать положение​

​ которого необходимо извлечь​

​=ИНДЕКС((A1:C6;A8:C11);2;2;2)​ области должны находиться​ чтобы видеть все​значение 1;​

​ ссылка на ячейку,​

​ ее протягивании автоматически​

​хотьчтонибудь = 0​: Эту формулу можно​ введет ошибочное значение,​ со всеми именами​

​ в столбце​

Пример 2

​, в качестве третьего​ИНДЕКС​ придется изменить с​и​ элемента в диапазоне?​ значение.​Пересечение второй строки и​

​ на одном листе. ​ данные.​выделяем диапазон​ в которой находится​ берется след. номер​For Each c​ упростить:​ формула выдаст вот​ покупателей в таблице​B​ аргумента функции​, давайте перейдём к​

​2​

​ИНДЕКС​

​ Мы хотим знать​

​row_num​​ второго столбца во​​ Если указать области,​

​Данные​A2:А6​ сама функция СТРОКА.​ стоки, а нужно,​ In r.Rows​=ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);)​ такой результат:​ на листе​, а точнее в​

​ПОИСКПОЗ​

​ самому интересному и​на​?​ значение этого элемента!​

​(номер_строки) – это​

​ второй области (A8:C11),​​ находящиеся на разных​Данные​, в котором будут​Если значение аргумента «ссылка»​ чтобы брался следующий,​If Not c.Find(What:=»*»,​Но есть нюанс:​Если Вы предпочитаете в​Lookup table​ диапазоне​чаще всего нужно​ увидим, как можно​3​=VLOOKUP(«Japan»,$B$2:$D$2,3)​

​Позвольте напомнить, что относительное​

Ссылочная форма

Описание

​ номер строки в​ т. е. содержимое ячейки​ листах, произойдет ошибка​Яблоки​ содержаться номера строк;​ является диапазоном ячеек,​ то есть отнимался​ LookIn:=xlFormulas, _​ она считает непустой​

Синтаксис

​ случае ошибки оставить​

​(A2:A13).​B2:B11​

  • ​ будет указывать​​ применить теоретические знания​, иначе формула возвратит​=ВПР(«Japan»;$B$2:$D$2;3)​

    • ​ положение искомого значения​ массиве, из которой​ B9.​ #ЗНАЧ!  Если необходимо​

    • ​Лимоны​вызываем инструмент Прогрессия (Главная/​ а функция СТРОКА​ диапозон строк.​LookAt:=xlPart, MatchCase:=False) Is​ ячейку, в которой​ ячейку пустой, то​Если совпадение найдено, уравнение​, значение, которое указано​1​

  • ​ на практике.​​ результат из только​В данном случае –​ (т.е. номер строки​ нужно извлечь значение.​1,25​

  • ​ использовать диапазоны, находящиеся​​Бананы​ Редактирование/ Заполнить/ Прогрессия…),​ введена как вертикальный​Значения подтягиваются из​ Nothing Then​

  • ​ содержится пустая строка,​​ можете использовать кавычки​ возвращает​ в ячейке​или​Любой учебник по​ что вставленного столбца.​ смысла нет! Цель​ и/или столбца) –​ Если не указан,​=СУММ(ИНДЕКС(A1:C11;0;3;1))​ на разных листах,​Груши​ в появившемся окне​ массив, функция СТРОКА​ другого excel файла,​хотьчтонибудь = c.Row​ например формула =»»​ («»), как значение​1​H2​-1​ВПР​Используя​ этого примера –​ это как раз​ то обязательно требуется​Сумма третьего столбца в​ рекомендуется применить функцию​Формула​ нажимаем ОК.​ возвращает номера строк,​ но можно и​

​Exit Function​ или результат копирования-вставки​ второго аргумента функции​(ИСТИНА), а если​(USA). Функция будет​в случае, если​твердит, что эта​ПОИСКПОЗ​ исключительно демонстрационная, чтобы​

Замечания

  • ​ то, что мы​ аргумент​ первой области диапазона​ ИНДЕКС в форме​Описание​СОВЕТ:​ указанных в аргументе​ с другого листа,​End If​ как значения такой​ЕСЛИОШИБКА​ нет –​ выглядеть так:​ Вы не уверены,​ функция не может​/​

  • ​ Вы могли понять,​ должны указать для​column_num​ (A1:C11) является суммой​ массива и использовать​Результат​О специальных случаях​

  • ​ «ссылка», в виде​ не суть. Эти​Next c​ ячейки.​. Вот так:​0​=MATCH($H$2,$B$1:$B$11,0)​ что просматриваемый диапазон​ смотреть влево. Т.е.​ИНДЕКС​ как функции​ аргументов​

  • ​(номер_столбца).​ диапазона C1:C11.​ другую функцию для​=ИНДЕКС(A2:B3;2;2)​ нумерации строк можно​ вертикального массива.​ значения идут на​End Function​Предыдущие формулы такую​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)​(ЛОЖЬ).​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​ содержит значение, равное​ если просматриваемый столбец​, Вы можете удалять​ПОИСКПОЗ​row_num​column_num​216​ вычисления диапазона, составляющего​

​Значение ячейки на пересечении​​ почитать в статьях​В аргументе «ссылка» нельзя​ каждой строке, а​

Примеры

​применение: =хотьчтонибудь(Лист1!A:IV)​ ячейку считают пустой.​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​Далее, мы делаем то​Результатом этой формулы будет​ среднему. Если же​ не является крайним​ или добавлять столбцы​и​(номер_строки) и/или​(номер_столбца) – это​=СУММ(B2:ИНДЕКС(A2:C6;5;2))​ массив.  Например, определить​

​ второй строки и​

​ Автоматическая перенумерация строк​

​ указывать несколько областей.​

​ не через 10​

​можно и для​

​ikki​

​Надеюсь, что хотя бы​

​ же самое для​

​4​

​ Вы уверены, что​

​ левым в диапазоне​

​ к исследуемому диапазону,​

​ИНДЕКС​

​column_num​

​ номер столбца в​

​Сумма значений из диапазона,​

​ используемый диапазон можно​

​ второго столбца в​

​ при применении фильтра,​

​Скопируйте образец данных из​

​ строк каждое, как​

​ текущего листа: =хотьчтонибудь(A:IV)​

​: угум. я тоже​

​ одна формула, описанная​

​ значений столбца​

​, поскольку «USA» –​

​ такое значение есть,​

​ поиска, то нет​

​ не искажая результат,​

​работают в паре.​

​(номер_столбца) функции​

​ массиве, из которого​

​ начинающегося с ячейки​

​ с помощью функции​

​ диапазоне A2:B3.​ Автоматическая нумерация при​ следующей таблицы и​ мне было бы​

​Казанский​

​ думал, что можно​

​ в этом учебнике,​B​ это 4-ый элемент​ – ставьте​ шансов получить от​

​ так как определен​

​ Последующие примеры покажут​

​INDEX​ нужно извлечь значение.​ B2 и заканчивающегося​ ВЫБОР.​

​Груши​

​ добавлении строк, Сохранение​

​ вставьте их в​ удобнее и не​: Если Find, то​ упростить.​ показалась Вам полезной.​(Product).​ списка в столбце​0​

​ВПР​

​ непосредственно столбец, содержащий​

support.office.com

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

​ Вам истинную мощь​(ИНДЕКС). Как Вы​​ Если не указан,​​ пересечением пятой строки​​Например, если аргумент «ссылка»​​=ИНДЕКС(A2:B3;2;1)​ нумерации при удалении​ ячейку A1 нового​ возникло бы вопросов.​​ зачем цикл :)​​но упрощенная -​ Если Вы сталкивались​Затем перемножаем полученные результаты​B​для поиска точного​желаемый результат.​​ нужное значение. Действительно,​​ связки​

​ помните, функция​ то обязательно требуется​ и второго столбца​ определяет ячейки (A1:B4,D1:E4,G1:H4),​Значение ячейки на пересечении​​ строк, Нумерация строк​​ листа Excel. Чтобы​Если честно, то​Set r =​ она работает НЕПРАВИЛЬНО.​ с другими задачами​ (1 и 0).​​(включая заголовок).​​ совпадения.​Функции​ это большое преимущество,​ИНДЕКС​

​ИНДЕКС​ аргумент​ диапазона A2:A6, т. е.​​ номер области 1​​ второй строки и​ и столбцов римскими​ отобразить результаты формул,​ оч трудно сформулировать,​ target.Worksheet.cells.Find(…​например, если в​ поиска, для которых​ Только если совпадения​ПОИСКПОЗ для строки​​Если указываете​​ПОИСКПОЗ​​ особенно когда работать​​и​может возвратить значение,​row_num​ сумма значений из​ соответствует диапазону A1:B4,​​ первого столбца в​​ цифрами и Нумерация​

ИНДЕКС и ПОИСКПОЗ в Excel

  • ​ выделите их и​ проще показать.​
  • ​if not r​ первой ячейке пусто,​
  • ​ не смогли найти​ найдены в обоих​
  • ​– мы ищем​1​
    • ​и​ приходится с большими​
    • ​ПОИСКПОЗ​ находящееся на пересечении​
    • ​(номер_строки)​ диапазона B2:B6.​
    • ​ номер области 2​
    • ​ диапазоне A2:B3.​ столбцов буквами.​

Базовая информация об ИНДЕКС и ПОИСКПОЗ

​ нажмите клавишу F2,​Пример ниже, заранее​ is nothing then​​ во второй -​​ подходящее решение среди​​ столбцах (т.е. оба​​ значение ячейки​, значения в столбце​ИНДЕКС​ объёмами данных. Вы​, которая легко справляется​

​ заданных строки и​Если указаны оба аргумента,​2,42​ — диапазону D1:E4,​Бананы​Функция ИНДЕКС возвращает значение​​ а затем — клавишу​​ спасибо​​ хотьчтонибудь = r.row​​ дата, а третья​​ информации в этом​​ критерия истинны), Вы​

ИНДЕКС – синтаксис и применение функции

​H3​​ поиска должны быть​​в Excel гораздо​ можете добавлять и​ с многими сложными​ столбца, но она​ то функция​К началу страницы​

​ а номер области​
​В этом примере функция​

​ или ссылку на​ ВВОД. При необходимости​

  • ​PooHkrd​​Только вот метод​ снова пустая, то​ уроке, смело опишите​ получите​
  • ​(2015) в строке​​ упорядочены по возрастанию,​ более гибкие, и​ удалять столбцы, не​ ситуациями, когда​ не может определить,​ИНДЕКС​Этот учебник рассказывает о​​ 3 — диапазону​​ ИНДЕКС используется в​
  • ​ значение из таблицы​​ измените ширину столбцов,​: Если я все​ Find не работает​ такая формула дает​ свою проблему в​1​1​​ а формула вернёт​​ им все-равно, где​

​ беспокоясь о том,​ВПР​​ какие именно строка​​возвращает значение из​ главных преимуществах функций​ G1:H4.​ формуле массива для​

​ или диапазона.​​ чтобы видеть все​​ правильно понял и​

​ в UDF в​
​ #Н/Д.​

​ комментариях, и мы​. Если оба критерия​​, то есть в​​ максимальное значение, меньшее​ находится столбец со​​ что нужно будет​​оказывается в тупике.​​ и столбец нас​​ ячейки, находящейся на​ИНДЕКС​​После того как с​​ поиска значений двух​

​Функцию ИНДЕКС можно использовать​ данные.​ вам требуется чтобы​ моем любимом 2000​а вот если​ все вместе постараемся​ ложны, или выполняется​​ ячейках​​ или равное среднему.​

ПОИСКПОЗ – синтаксис и применение функции

​ значением, которое нужно​​ исправлять каждую используемую​​Решая, какую формулу использовать​ интересуют.​ пересечении указанных строки​и​ помощью аргументов «ссылка»​ заданных ячеек в​

​ двумя способами:​​Формула​​ при протягивании формула​ :(​ третья — тоже​ решить её.​​ только один из​​A1:E1​Если указываете​ извлечь. Для примера,​

​ функцию​
​ для вертикального поиска,​

​Теперь, когда Вам известна​​ и столбца.​​ПОИСКПОЗ​ и «номер_области» выбран​

​ массиве с диапазоном​
​Если вы хотите возвращать​

  • ​Описание​​ не изменялась в​ikki​ дата, то результат​Урок подготовлен для Вас​ них – Вы​:​-1​
  • ​ снова вернёмся к​​ВПР​ большинство гуру Excel​ базовая информация об​
  • ​Вот простейший пример функции​​в Excel, которые​ диапазон, с помощью​​ 2 x 2.​​ значение указанной ячейки​Результат​ некотором количестве строк,​
    • ​: мда… усложнил малость.​​ равен 3.​​ командой сайта office-guru.ru​​ получите​=MATCH($H$3,$A$1:$E$1,0)​, значения в столбце​ таблице со столицами​.​ считают, что​ этих двух функциях,​
    • ​INDEX​​ делают их более​ аргументов «номер_строки» и​В этом случае нужно​​ или массива ячеек,​​=СТРОКА()​​ после чего уже​​все равно это​неупрощенная — работает​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​​0​​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​​ поиска должны быть​​ государств и населением.​
    • ​3. Нет ограничения на​​ИНДЕКС​ полагаю, что уже​(ИНДЕКС):​ привлекательными по сравнению​ «номер_столбца» выбирается конкретная​ выбрать любые две​ см. раздел Форма​Строка формулы​

​ ссылалась бы на​ должно работать быстрее,​​ правильно во всех​​Перевел: Антон Андронов​.​Результатом этой формулы будет​ упорядочены по убыванию,​ На этот раз​

​ размер искомого значения.​/​ становится понятно, как​=INDEX(A1:C10,2,3)​ с​ ячейка: номер строки​ ячейки по вертикали,​ массива.​​2​​ другой диапазон, то​​ чем формулы массива,​​ случаях.​​Автор: Антон Андронов​​Теперь понимаете, почему мы​5​​ а возвращено будет​​ запишем формулу​Используя​ПОИСКПОЗ​ функции​=ИНДЕКС(A1:C10;2;3)​ВПР​ 1 соответствует первой​ например A1:A2, вставить​

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

​Если требуется возвращать ссылку​=СТРОКА(C10)​ вам нужно сначала​ тем более смотрим​вообще-то странно.​Excel-ok​​ задали​​, поскольку «2015» находится​​ минимальное значение, большее​​ПОИСКПОЗ​​ВПР​​намного лучше, чем​ПОИСКПОЗ​Формула выполняет поиск в​. Вы увидите несколько​​ строке диапазона, номер​​ в первую ячейку​ на указанные ячейки,​Строка ссылки​ прописать вручную необходимый​

​ не весь лист,​пс. у меня​​: =МИН(ЕСЛИ(ДЛСТР(СТРОКА(Лист1!1:65536))>0;СТРОКА(Лист1!1:65536)))​​1​​ в 5-ом столбце.​​ или равное среднему.​

​/​, помните об ограничении​ВПР​
​и​ диапазоне​ примеров формул, которые​

​ столбца 1 —​ формулу =ИНДЕКС({1;2:3;4};0;2) и​ см. раздел Ссылочная​10​ по размерам блок​

ИНДЕКС и ПОИСКПОЗ в Excel

​ а UsedRange.​ Excel 2003… можть,​/как формула массива/​, как искомое значение?​

​Теперь вставляем эти формулы​
​В нашем примере значения​

​ИНДЕКС​ на длину искомого​. Однако, многие пользователи​

  • ​ИНДЕКС​​A1:C10​​ помогут Вам легко​ его первому столбцу​​ нажать клавиши CTRL+SHIFT+ВВОД.​​ форма.​Используем различные подходы для​​ формул, потом протягивать​​но, кшн, можно​​ глючный какой?​​по задумке должна​ Правильно, чтобы функция​ в функцию​
  • ​ в столбце​​, которая покажет, какое​​ значения в 255​​ Excel по-прежнему прибегают​​могут работать вместе.​​и возвращает значение​​ справиться со многими​ и т. д.​ Если ввести формулу​Возвращает значение элемента таблицы​ нумерации строк.​

    ​ вниз не одну​
    ​ и без цикла.​

    ​Михаил С.​ возвращать номер первой​ПОИСКПОЗ​​ИНДЕКС​​D​​ место по населению​​ символов, иначе рискуете​ к использованию​ПОИСКПОЗ​ ячейки во​​ сложными задачами, перед​​ Ссылка, возвращаемая функцией​ как формулу массива,​ или массив, заданного​

​Пусть в ячейке​ ячейку с формулой,​

ИНДЕКС и ПОИСКПОЗ в Excel

​но тогда обязательно​: =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию​ по счету строки​​возвращала позицию только,​​и вуаля:​упорядочены по возрастанию,​​ занимает столица России​​ получить ошибку​​ВПР​​определяет относительную позицию​​2-й​​ которыми функция​ ИНДЕКС, указывает на​

​ Excel автоматически вставит​ номером строки и​A2​​ а весь блок​​ надо задать в​ 1)​ в которой хоть​ когда оба критерия​​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​ поэтому мы используем​​ (Москва).​​#VALUE!​

​, т.к. эта функция​
​ искомого значения в​

​строке и​ВПР​ пересечение строки «номер_строки»​ ее во вторую​ номером столбца.​введено значение 1​​ целиком.​​ Find SearchOrder:=xlByRows​​Казанский​​ что-нибудь есть​ выполняются.​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​ тип сопоставления​​Как видно на рисунке​​(#ЗНАЧ!). Итак, если​​ гораздо проще. Так​​ заданном диапазоне ячеек,​3-м​бессильна.​​ и столбца «номер_столбца».​​ ячейку.​

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

​Если первый аргумент функции​ (номер первой строки).​Ну, в общем​ikki​​: Нет. Если бы​​(формула находится на​​Обратите внимание:​​Если заменить функции​​1​​ ниже, формула отлично​ таблица содержит длинные​ происходит, потому что​​ а​​столбце, то есть​В нескольких недавних статьях​Если указать в качестве​Формула​ ИНДЕКС является константной​ В следующую строку​ ответил, как минимум,​​: ну виртуозы!!!​​ было так =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A))​​ листе Лист2, книга​​В этом случае​​ПОИСКПОЗ​​. Формула​ справляется с этой​ строки, единственное действующее​ очень немногие люди​

​ИНДЕКС​ из ячейки​​ мы приложили все​​ аргумента «номер_строки» или​​Описание​​ массива, используйте форму​ таблицы, в ячейку​ не хуже чем​​и, самое главное​​это было бы​​ с этими листами​​ необходимо использовать третий​​на значения, которые​​ИНДЕКС​

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

​ задачей:​​ решение – это​ до конца понимают​​использует это число​​C2​ усилия, чтобы разъяснить​ «номер_столбца» значение 0​Результат​ массива.​А3​ поставлена задача.​ — обработает скрытые​​ как по умолчанию​​ создана и сохранена)​​ не обязательный аргумент​​ они возвращают, формула​/​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​ использовать​ все преимущества перехода​ (или числа) и​.​ начинающим пользователям основы​ (ноль), функция ИНДЕКС​

​=ИНДЕКС({1;2​ИНДЕКС(массив; номер_строки; [номер_столбца])​​, вводим формулу =А2+1​​З.Ы. В примере​​ строки/столбцы и будет​ =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1)​почему она не​ функции​ станет легкой и​ПОИСКПО​​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​ИНДЕКС​ с​ возвращает результат из​Очень просто, правда? Однако,​​ функции​​ возвратит ссылку на​:​Аргументы функции ИНДЕКС описаны​ и копируем ее​ не понятно вообще​

​ работать в любом​А =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) эквивалентно​​ работает?​​ИНДЕКС​ понятной:​​З​​Теперь у Вас не​/​​ВПР​​ соответствующей ячейки.​​ на практике Вы​​ВПР​​ целый столбец или​​3;4};0;2)​

​ ниже.​
​ в ячейки ниже.​

​ ничего.​ Эксе, хоть в​ =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0)​​Михаил С.​​. Он необходим, т.к.​​=INDEX($A$1:$E$11,4,5))​​возвращает «Moscow», поскольку​ должно возникать проблем​​ПОИСКПОЗ​​на связку​​Ещё не совсем понятно?​​ далеко не всегда​и показать примеры​ целую строку соответственно.​

​Значение ячейки на пересечении​​Массив​​Так как в формуле​​excelgeorge​​ 97-м.​ikki​: Потому, что, если​ в первом аргументе​=ИНДЕКС($A$1:$E$11;4;5))​ величина населения города​ с пониманием, как​.​ИНДЕКС​ Представьте функции​ знаете, какие строка​ более сложных формул​Аргументы «номер_строки», «номер_столбца» и​ первой строки и​    — обязательный аргумент. Диапазон​ мы сослались на​:​​The_Prist, снимаю шляпу.​​: =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию​

​ ее чуть преобразовать,​ мы задаем всю​​Эта формула возвращает значение​​ Москва – ближайшее​​ работает эта формула:​Предположим, Вы используете вот​и​ИНДЕКС​ и столбец Вам​​ для продвинутых пользователей.​​ «номер_области» должны указывать​ второго столбца в​ ячеек или константа​ ячейку выше с​vikttur​​Казанский​​ 1){/post}{/quote}​​ то получим​​ таблицу и должны​

​ на пересечении​ меньшее к среднему​​Во-первых, задействуем функцию​​ такую формулу с​ПОИСКПОЗ​​и​​ нужны, и поэтому​​ Теперь мы попытаемся,​​ на ячейку внутри​ массиве. Массив содержит​​ массива.​​ помощью относительной ссылки,​

​: =ИНДЕКС($B$1:$B$100;(СТРОКА(A1)-1)/14+1)​
​: Не спеши со​

​разобрался.​=МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536)));​ указать функции, из​​4-ой​​ значению (12 269​MATCH​ВПР​, а тратить время​​ПОИСКПОЗ​​ требуется помощь функции​​ если не отговорить​​ аргумента «ссылка»; в​

​ значения 1 и​
​Если массив содержит только​

​ то EXCEL при​Играйтесь знаменателем.​​ шляпой ;)​мне, кшн, стыдно,​в любом случае​ какого столбца нужно​строки и​ 006).​(ПОИСКПОЗ), которая находит​, которая ищет в​ на изучение более​в таком виде:​ПОИСКПОЗ​ Вас от использования​ противном случае функция​ 2 в первой​​ одну строку или​​ копировании вниз модифицирует​​excelgeorge​​Сравни с дополненным​​ но страна должна​​ ДЛСТР(1:65536)>0=истина;​ извлечь значение. В​5-го​​Эта формула эквивалентна двумерному​​ положение «Russia» в​

​ ячейках от​​ сложной формулы никто​​=INDEX(столбец из которого извлекаем,(MATCH​.​ВПР​ ИНДЕКС возвращает значение​ строке и значения​​ один столбец, соответствующий​​ вышеуказанную формулу в​: спасибо, попробую​ вариантом:​ знать своих героев.​если проверять по​​ нашем случае это​​столбца в диапазоне​ поиску​ списке:​B5​ не хочет.​ (искомое значение,столбец в​

​Функция​, то хотя бы​​ ошибки #ССЫЛКА!. Если​​ 3 и 4​​ аргумент «номер_строки» или​​ =А3+1, затем в​PerfectVam​Public Function хотьчтонибудь(target​Excel реабилитирован.​

ИНДЕКС и ПОИСКПОЗ – примеры формул

​ столбцу А:А, то​ столбец​A1:E11​​ВПР​​=MATCH(«Russia»,$B$2:$B$10,0))​​до​​Далее я попробую изложить​ котором ищем,0))​MATCH​ показать альтернативные способы​ аргументы «номер_строки» и​

Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС

​ во второй строке.​​ «номер_столбца» не является​​ =А4+1 и т.д.,​: А вот так​ As Range) As​оказалось, что это​=МИН(ЕСЛИ(ДЛСТР(A1:A65536);СТРОКА(Лист1!1:65536)))​C​, то есть значение​и позволяет найти​​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​D10​

​ главные преимущества использования​​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​​(ПОИСКПОЗ) в Excel​​ реализации вертикального поиска​​ «номер_столбца» опущены, функция​2​ обязательным.​ тем самым формируя​ можно привязаться к​ Long​ я глючный :)​не проверял​(Sum), и поэтому​ ячейки​ значение на пересечении​​Далее, задаём диапазон для​​значение, указанное в​​ПОИСКПОЗ​​ значение;столбец в котором​ ищет указанное значение​ в Excel.​ ИНДЕКС возвращает область​

​Значение ячейки на пересечении​Если массив содержит больше​ числовую последовательность 2,​ D1 и отслеживать​

​Dim avArr, lr​
​формулы =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) и​

ИНДЕКС и ПОИСКПОЗ в Excel

​Serge​ мы ввели​E4​ определённой строки и​

  • ​ функции​​ ячейке​​и​ ищем;0))​ в диапазоне ячеек​

    ​Зачем нам это? –​
    ​ в аргументе "ссылка",​

  • ​ второй строки и​ одной строки и​​ 3, 4, …​​ по совпадающему с​ As Long, lc​ =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) — это​: Потому что минимальная​​3​​. Просто? Да!​
  • ​ столбца.​INDEX​

    ​A2​
    ​ИНДЕКС​

​Думаю, ещё проще будет​​ и возвращает относительную​ спросите Вы. Да,​ заданную аргументом «номер_области».​​ второго столбца в​​ одного столбца, а​​Другим вариантом является использование​​ ним началу строки:​ As Long, r​ одно и то​ длинна строки массива​

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

​.​В учебнике по​​В этом примере формула​​(ИНДЕКС), из которого​​:​​в Excel, а​ понять на примере.​ позицию этого значения​ потому что​Результатом вычисления функции ИНДЕКС​ массиве, указанном выше.​ из аргументов «номер_строки»​

​ формулы =СТРОКА()-СТРОКА($A$1). В​​=ЕСЛИ(ЛЕВСИМВ($D2;ДЛСТР($D$1))=$D$1;ИНДЕКС(знач!B:B;СУММПРОИЗВ(—(ЛЕВСИМВ($D$1:$D2;ДЛСТР($D$1))=$D$1)));»»)​​ As Range​ же.​​ СТРОКА(Лист1!1:65536)= 1​​И, наконец, т.к. нам​ВПР​​ИНДЕКС​​ нужно извлечь значение.​

​=VLOOKUP(A2,B5:D10,3,FALSE)​
​ Вы решите –​

​ Предположим, у Вас​

​ в диапазоне.​​ВПР​​ является ссылка, которая​4​​ и «номер_столбца» задан​​ ячейке​I1POKE3​​Set r =​​но, если умудриться​

​Excel-ok​
​ нужно проверить каждую​

​мы показывали пример​

​/​​ В нашем случае​​=ВПР(A2;B5:D10;3;ЛОЖЬ)​ остаться с​​ есть вот такой​​Например, если в диапазоне​– это не​ интерпретируется в качестве​Примечание:​​ только один, функция​​А1​

​: Скажите пожулуйста, как​
​ target.Parent.UsedRange​

​ не заметить последний​

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

​: Формула​​ ячейку в массиве,​​ формулы с функцией​​ПОИСКПОЗ​​ это​​Формула не будет работать,​​ВПР​ список столиц государств:​​B1:B3​​ единственная функция поиска​ таковой другими функциями.​​ Это формула массива, которую​​ ИНДЕКС возвращает массив,​​должен находиться заголовок​​ узнать номер выделенной​If r.Count =​ «;» в первой​=МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536)))​ эта формула должна​ВПР​будет очень похожа​A2:A10​​ если значение в​​или переключиться на​Давайте найдём население одной​

  • ​содержатся значения New-York,​​ в Excel, и​​ В зависимости от​ нужно вводить с​ состоящий из целой​ столбца.​ сторки.​ 1 Then​
  • ​ формуле, т.е. набрать​​вероятно, должна считать​​ быть формулой массива.​для поиска по​ на формулы, которые​.​ ячейке​ИНДЕКС​

​ из столиц, например,​ Paris, London, тогда​​ её многочисленные ограничения​​ формулы значение, возвращаемое​ помощью клавиш CTRL+SHIFT+ВВОД.​ строки или целого​​Для чрезстрочной нумерации используйте​​Спасибо большое.​​If r <>​​ =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A)), то она,​​ то что нужно,​​ Вы можете видеть​​ нескольким критериям. Однако,​ мы уже обсуждали​Затем соединяем обе части​A2​/​ Японии, используя следующую​

ИНДЕКС и ПОИСКПОЗ в Excel

Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

​ следующая формула возвратит​ могут помешать Вам​​ функцией ИНДЕКС, может​​ Excel автоматически заключит​ столбца аргумента «массив».​ формулу (см. файл​Mahru​

​ «» Then хотьчтонибудь​​ есс-но будет понята​​ но после ввода​​ это по фигурным​​ существенным ограничением такого​ в этом уроке,​ и получаем формулу:​длиннее 255 символов.​ПОИСКПОЗ​ формулу:​

​ цифру​ получить желаемый результат​​ использоваться как ссылка​​ формулу в фигурные​Номер_строки​

​ примера) =ЕСЛИ(ЕЧЁТН(СТРОКА());"";A7+1)​
​: На всякие случай​

​ = r.Row​ как =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1) и​ ее в ячеку​

​ скобкам, в которые​ решения была необходимость​ с одним лишь​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​ Вместо неё Вам​​.​​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​​3​​ во многих ситуациях.​ или как значение.​ скобки {}. Если​​     — обязательный аргумент.​​Пусть, как и в​ =СТРОКА()​

​Exit Function​ будет работать "неправильно".​ было получено сообщение​ она заключена. Поэтому,​ добавлять вспомогательный столбец.​
​ отличием. Угадайте каким?​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))​ нужно использовать аналогичную​1. Поиск справа налево.​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))​

​, поскольку «London» –​ С другой стороны,​ Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2))​ вы попытаетесь ввести​​ Выбирает строку в​​ предыдущем примере, в​​I1POKE3​​Else​

​вот такие нюансы.​ суть которого в​ когда закончите вводить​ Хорошая новость: формула​Как Вы помните, синтаксис​Подсказка:​ формулу​Как известно любому​

ИНДЕКС и ПОИСКПОЗ в Excel

​Теперь давайте разберем, что​ это третий элемент​ функции​ эквивалентна формуле ЯЧЕЙКА(«ширина»;B1).​ их вручную, Excel​ массиве, из которой​ ячейку​

​: Нет. Я ни​avArr = r.Value​​Excel-ok​​ том, что ресурсы​ формулу, не забудьте​ИНДЕКС​​ функции​​Правильным решением будет​

  • ​ИНДЕКС​​ грамотному пользователю Excel,​ делает каждый элемент​​ в списке.​​ИНДЕКС​ Функция ЯЧЕЙКА использует​​ отобразит формулу как​​ требуется возвратить значение.​A2​​ сколечко не здеваюсь!!!​​For lr =​: Вероятно, что то,​

    ​ Эксель закончились... И​
    ​ нажать​

    ​/​​INDEX​​ всегда использовать абсолютные​/​ВПР​​ этой формулы:​​=MATCH(«London»,B1:B3,0)​

  • ​и​​ значение, возвращаемое функцией​ текст. Если при​​ Если аргумент «номер_строки»​​введено значение 1.​​В прошлой теме​​ 1 To UBound(avArr,​ что хочется формулами​​ это при том,​​Ctrl+Shift+Enter​

    ​ПОИСКПОЗ​
    ​(ИНДЕКС) позволяет использовать​

    ​ ссылки для​​ПОИСКПОЗ​​не может смотреть​Функция​

​=ПОИСКПОЗ(«London»;B1:B3;0)​ПОИСКПОЗ​​ ИНДЕКС, как ссылку.​​ вводе формулы не​

​ опущен, аргумент "номер_столбца"​
​ Выделим ячейку​

​ написаны 3 способа​​ 1)​​ сделать не удастся..​ что это единственная​.​может искать по​

​ три аргумента:​
​ИНДЕКС​

​:​ влево, а это​​MATCH​​Функция​​– более гибкие​​ С другой стороны,​​ нажать клавиши CTRL+SHIFT+ВВОД,​​ является обязательным.​A2​​ как выделить строку​​For lc =​

ИНДЕКС и ПОИСКПОЗ в Excel

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

​:(​​ формула в книге…​​Если всё сделано верно,​ значениям в двух​​INDEX(array,row_num,[column_num])​​и​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​ значит, что искомое​(ПОИСКПОЗ) ищет значение​MATCH​ и имеют ряд​​ такая формула, как​​ она возвратит ошибку​​Номер_столбца​​. Удерживая клавишу​ через активную ячейку,​ 1 To UBound(avArr,​ikki​

​Вопрос остался: с​ Вы получите результат​ столбцах, без необходимости​ИНДЕКС(массив;номер_строки;[номер_столбца])​ПОИСКПОЗ​​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​ значение должно обязательно​​ «Japan» в столбце​​(ПОИСКПОЗ) имеет вот​ особенностей, которые делают​ 2*ИНДЕКС(A1:B2;1;2), преобразует значение,​ #ЗНАЧ!​     — необязательный аргумент.​CTRL​ то бишь не​​ 2)​​: ну вот )​ пом. формулы определить​

ИНДЕКС и ПОИСКПОЗ в Excel

​ как на рисунке​​ создания вспомогательного столбца!​​И я поздравляю тех​​, чтобы диапазоны поиска​​4. Более высокая скорость​

​ находиться в крайнем​
​B​

​ такой синтаксис:​
​ их более привлекательными,​

​ возвращаемое функцией ИНДЕКС,​К началу страницы​ Выбирает столбец в​, скопируем Маркером заполнения​​ зная ее номера.​​If Len(avArr(lr, lc))​​ пока писал, а​​ номер самой первой​ ниже:​Предположим, у нас есть​​ из Вас, кто​​ не сбились при​ работы.​

​ левом столбце исследуемого​
​, а конкретно –​

​MATCH(lookup_value,lookup_array,[match_type])​ по сравнению с​ в число в​​Возвращает ссылку на ячейку,​​ массиве, из которого​ (при этом над​Я применил их​ Then​ тут уже и​ по счету строки​Как Вы, вероятно, уже​

  • ​ список заказов, и​ догадался!​​ копировании формулы в​​Если Вы работаете​​ диапазона. В случае​​ в ячейках​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​ВПР​ ячейке B1.​​ расположенную на пересечении​​ требуется возвратить значение.​
  • ​ курсором появится маленький​ все, и понял,​​хотьчтонибудь = lr:​​ ответ готов.​ в которой находится​​ заметили (и не​​ мы хотим найти​
  • ​Начнём с того, что​ другие ячейки.​ с небольшими таблицами,​​ с​​B2:B10​
  • ​lookup_value​.​Примечание:​ указанной строки и​ Если аргумент «номер_столбца»​ плюсик), значение из​ что мне это​​ Exit For​​но я таки​ хотя бы что-то​ раз), если вводить​ сумму по двум​ запишем шаблон формулы.​​Вы можете вкладывать другие​​ то разница в​

​ПОИСКПОЗ​, и возвращает число​​(искомое_значение) – это​​Базовая информация об ИНДЕКС​  Функция ЯЧЕЙКА недоступна​​ указанного столбца. Если​​ опущен, аргумент «номер_строки»​A2​ не помогает.​

​End If​​ сам допёр. :)​ (любое значение). Но​ некорректное значение, например,​ критериям –​​ Для этого возьмём​​ функции Excel в​ быстродействии Excel будет,​/​3​ число или текст,​ и ПОИСКПОЗ​ в Excel Web​ ссылка составлена из​ является обязательным.​​в ячейки ниже.​​Как оказалось мне​Next lc​​ikki​​ чтобы формуле, конечно,​

​ которого нет в​имя покупателя​ уже знакомую нам​ИНДЕКС​ скорее всего, не​ИНДЕКС​, поскольку «Japan» в​ который Вы ищите.​Используем функции ИНДЕКС и​ App.​ несмежных выделенных диапазонов,​Если используются оба аргумента​​ Получим последовательность чисел​​ нужно узнать номер​

​If хотьчтонибудь >​: встроенными функциями -​ хватало ресурсов..​ просматриваемом массиве, формула​

ИНДЕКС и ПОИСКПОЗ в Excel

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

​(Customer) и​ формулу​и​ заметная, особенно в​, столбец поиска может​ списке на третьем​​ Аргумент может быть​​ ПОИСКПОЗ в Excel​​Скопируйте образец данных из​​ можно указать, какой​​ — и «номер_строки»,​​ 1, 2, 3,​​ строки, в которой​​ 0 Then Exit​ наверное, нет.​:-)​ИНДЕКС​продукт​ИНДЕКС​​ПОИСКПОЗ​​ последних версиях. Если​​ быть, как в​​ месте.​​ значением, в том​​Преимущества ИНДЕКС и ПОИСКПОЗ​

​ следующей таблицы и​​ из них требуется​​ и «номер_столбца», —​

​ 4 …​
​ находиться выделенная ячейка.​

​ For​​но, если Вам​​Михаил С.​/​(Product). Дело усложняется​/​, например, чтобы найти​​ же Вы работаете​​ левой, так и​​Функция​​ числе логическим, или​​ перед ВПР​​ вставьте их в​ использовать.​ функция ИНДЕКС возвращает​ВНИМАНИЕ!​

​ Причем, не посмотрев​Next lr​ так принципиально наличие​​: 1. Если хотите​​ПОИСКПОЗ​

​ тем, что один​
​ПОИСКПОЗ​ минимальное, максимальное или​
​ с большими таблицами,​
​ в правой части​INDEX​

​ ссылкой на ячейку.​ИНДЕКС и ПОИСКПОЗ –​ ячейку A1 нового​ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])​

ИНДЕКС и ПОИСКПОЗ в Excel

​ значение ячейки на​Если на листе​ его в экселе​End If​ формулы, то можно​ искать по всему​​сообщает об ошибке​​ покупатель может купить​

​и добавим в​
​ ближайшее к среднему​

​ которые содержат тысячи​ диапазона поиска. Пример:​(ИНДЕКС) использует​lookup_array​ примеры формул​ листа Excel. Чтобы​Аргументы функции ИНДЕКС описаны​ пересечении указанных строки​ часть строк скрыта​ на экране, а​хотьчтонибудь = хотьчтонибудь​ сделать UDF, а​ листу, то формула​#N/A​ сразу несколько разных​

​ неё ещё одну​ значение. Вот несколько​
​ строк и сотни​
​ Как находить значения,​

​3​

office-guru.ru

Формула определяющая номер строки (например) для ячейки в которой хоть что-нть есть

​(просматриваемый_массив) – диапазон​​Как находить значения, которые​
​ отобразить результаты формул,​

​ ниже.​ и столбца.​ с помощью фильтра,​ что бы я​ + r.Row -​
​ в макросе -​ должна быть на​(#Н/Д) или​ продуктов, и имена​

​ функцию​ вариантов формул, применительно​

​ формул поиска, Excel​​ которые находятся слева​для аргумента​ ячеек, в котором​
​ находятся слева​
​ выделите их и​Ссылка​
​Если указать в качестве​ то этот подход​
​ мог использовать его​
​ 1​

​ поиск или перебор​​ другом листе -​#VALUE!​ покупателей в таблице​

​ПОИСКПОЗ​​ к таблице из​
​ будет работать значительно​

​ покажет эту возможность​row_num​ происходит поиск.​Вычисления при помощи ИНДЕКС​ нажмите клавишу F2,​    — обязательный аргумент. Ссылка​ аргумента «номер_строки» или​ и остальные, приведенные​ в макросе.​End Function​ в цикле For​

​ иначе циклическая ссылка.​(#ЗНАЧ!). Если Вы​ на листе​, которая будет возвращать​ предыдущего примера:​ быстрее, при использовании​ в действии.​(номер_строки), который указывает​match_type​
​ и ПОИСКПОЗ​

​ а затем — клавишу​​ на один или​ «номер_столбца» значение 0​ ниже, работать не​webley​в случае если:​ Each.​
​2. Для поиска​ хотите заменить такое​Lookup table​ номер столбца.​1.​ПОИСКПОЗ​
​2. Безопасное добавление или​ из какой строки​(тип_сопоставления) – этот​

​Поиск по известным строке​​ ВВОД. При необходимости​

​ несколько диапазонов ячеек.​​ (ноль), функция ИНДЕКС​ будут. Чтобы разрешить​: Первый способ из​- лист пустой;​но всё равно,​ по всему листу​ сообщение на что-то​
​расположены в произвольном​=INDEX(Ваша таблица,(MATCH(значение для вертикального​MAX​и​

​ удаление столбцов.​​ нужно возвратить значение.​ аргумент сообщает функции​ и столбцу​ измените ширину столбцов,​

​Если в качестве аргумента​​ возвратит массив значений​ нумерацию строк с​ 3-х — это​- занята одна​ как Вам уже​

​ поставте комп по-мощнее;​

​ более понятное, то​​ порядке.​
​ поиска,столбец, в котором​(МАКС). Формула находит​

​ИНДЕКС​

​Формулы с функцией​ Т.е. получается простая​ПОИСКПОЗ​

​Поиск по нескольким критериям​​ чтобы видеть все​ «ссылка» используется несмежный​

​ для целого столбца​

​ использованием клавиши​ и есть номер​ ячейка;​ сказали, циклических ссылок​ 64 бит операционку​ можете вставить формулу​Вот такая формула​ искать,0)),(MATCH(значение для горизонтального​
​ максимум в столбце​вместо​

​ВПР​​ формула:​, хотите ли Вы​ИНДЕКС и ПОИСКПОЗ в​
​ данные.​ диапазон, его необходимо​
​ или целой строки​CTRL​ строки:​- Usedrange не​ создавать не нужно.​ и 8 гигов​ с​
​ИНДЕКС​ поиска,строка в которой​D​ВПР​

​перестают работать или​=INDEX($D$2:$D$10,3)​ найти точное или​
​ сочетании с ЕСЛИОШИБКА​

​Фрукты​ заключить в скобки​ соответственно. Чтобы использовать​

​, выделите любую ячейку​​ActiveCell.Row​ начинается с 1​

​то есть можно​​ памяти…​ИНДЕКС​
​/​ искать,0))​и возвращает значение​

​. В целом, такая​ возвращают ошибочные значения,​

​=ИНДЕКС($D$2:$D$10;3)​​ приблизительное совпадение:​Так как задача этого​

​Цена​
​Если каждая область в​ значения, возвращенные как​ с заголовком фильтра​
​Hugo​
​ строки.​ искать по всему​

​Вывод — в​и​ПОИСКПОЗ​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​
​ из столбца​ замена увеличивает скорость​ если удалить или​Формула говорит примерно следующее:​1​ учебника – показать​Количество​ ссылке содержит только​

​ массив, введите функцию​

​ и дважды нажмите​​: Что-то мне кажется,​Чтобы ф-я пересчитывалась​ листу (если очень​
​ этом случае макрос​

​ПОИСКПОЗ​​решает задачу:​ поиска,столбец, в котором​C​ работы Excel на​
​ добавить столбец в​ ищи в ячейках​

​или​​ возможности функций​Яблоки​
​ одну строку или​ ИНДЕКС как формула​CTRL+SHIFT+L​ что человеку не​ при изменении на​ надо), но с​ незаменим.​в функцию​
​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​ искать,0)),(MATCH(значение для горизонтального​той же строки:​13%​
​ таблицу поиска. Для​ от​не указан​ИНДЕКС​0,69 ₽​

​ один столбец, аргумент​​ массива в горизонтальный​

​(сбросьте фильтр).​​ активную ячейку надо​ листе, надо добавить​
​ другого листа.​Казанский​ЕСЛИОШИБКА​

​(B2=’Lookup table’!$B$2:$B$13),0),3)}​ поиска,строка в которой​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​.​
​ функции​D2​
​– находит максимальное​и​40​

​ «номер_строки» или «номер_столбца»​

​ диапазон ячеек для​​Если начало последовательности уже​ знать, а найденную​
​Application.Volatile​

​vikttur​​: =ПОИСКПОЗ(«*»;A:A;)​
​.​
​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​ искать,0))​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​Влияние​

​ВПР​до​ значение, меньшее или​
​ПОИСКПОЗ​Бананы​
​ соответственно является необязательным.​
​ строки и в​ задано (т.е. задан​
​ кодом. Т.е. сперва​kim​
​: =ПОИСКПОЗ(;—ЕПУСТО(A1:A100);)​vikttur​
​Синтаксис функции​
​(B2=’Lookup table’!$B$2:$B$13);0);3)}​
​Обратите внимание, что для​
​Результат: Beijing​
​ВПР​

​любой вставленный или​
​D10​ равное искомому. Просматриваемый​

​для реализации вертикального​​0,34 ₽​ Например, для ссылки​

​ вертикальный — для столбца.​ первый элемент и​
​ типа​: А макрофункции чего​Казанский​

​: Вы заставляете Excel​ЕСЛИОШИБКА​Эта формула сложнее других,​ двумерного поиска нужно​2.​

​на производительность Excel​​ удалённый столбец изменит​
​и извлеки значение​ массив должен быть​ поиска в Excel,​38​ на единственную строку​ Чтобы ввести формулу​
​ шаг последовательности), то​Set rgX =​
​ никто не предложил?​: Ну вот, пришел​ создавать массив из​

​очень прост:​​ которые мы обсуждали​
​ указать всю таблицу​MIN​ особенно заметно, если​ результат формулы, поскольку​ из третьей строки,​ упорядочен по возрастанию,​

​ мы не будем​

​Лимоны​​ нужно использовать формулу​ массива, нажмите сочетание​
​ пронумеровать строки можно​ Cells.Find(What:=curRec, LookIn:=xlValues, LookAt:=xlWhole,​

​ :)​ Формулист :)​ (хорошо еще, если​
​IFERROR(value,value_if_error)​ ранее, но вооруженные​ в аргументе​(МИН). Формула находит​
​ рабочая книга содержит​ синтаксис​
​ то есть из​ то есть от​
​ задерживаться на их​0,55 ₽​ ИНДЕКС(ссылка,,номер_столбца).​
​ клавиш CTRL+SHIFT+ВВОД.​
​ следующим образом :​
​ MatchCase:=False)​
​На листе единственная​В данном случае​ Excel-2003) 65536*256 значений,​
​ЕСЛИОШИБКА(значение;значение_если_ошибка)​ знанием функций​array​
​ минимум в столбце​ сотни сложных формул​
​ВПР​ ячейки​
​ меньшего к большему.​
​ синтаксисе и применении.​
​15​Номер_строки​Примечание:​
​пусть в ячейке​
​и далее использовать​
​ заполненная ячейка -​ один минус лишний:​ вот он и​
​Где аргумент​

​ИНДЕКС​
​(массив) функции​
​D​ массива, таких как​
​требует указывать весь​D4​0​

​Приведём здесь необходимый минимум​Апельсины​    — обязательный аргумент. Номер​
​  В Excel Web​

​А2​​rgX.Row или rgX.Column​ G18, формула в​ =ПОИСКПОЗ(;-ЕПУСТО(A:A);)​
​ возмущается. И правильно​value​и​INDEX​и возвращает значение​ВПР+СУММ​ диапазон и конкретный​, так как счёт​– находит первое​ для понимания сути,​0,25 ₽​ строки в диапазоне,​ App невозможно создавать​введено значение 1,​ или даже rgX.Address​

​ ней возвращает свое​​> Вероятно, что​ делает :)​(значение) – это​ПОИСКПОЗ​(ИНДЕКС).​ из столбца​. Дело в том,​ номер столбца, из​

planetaexcel.ru

Как автоматически менять номер строки в формуле с заданным интервалом?

​ начинается со второй​​ значение, равное искомому.​ а затем разберём​25​ заданном аргументом «ссылка»,​ формулы массива.​ а в ячейке​Чтоб вообще лишний​ же местоположение по​ то, что хочется​Задайте диапазон ячеек.​
​ значение, проверяемое на​Вы одолеете ее.​А теперь давайте испытаем​C​ что проверка каждого​ которого нужно извлечь​ строки.​ Для комбинации​ подробно примеры формул,​Груши​ из которого требуется​Аргументы «номер_строки» и «номер_столбца»​
​А3​ раз без Select/Activate…​ строкам. По идее,​
​ формулами сделать не​ И такой, чтобы​

​ предмет наличия ошибки​​ Самая сложная часть​ этот шаблон на​той же строки:​ значения в массиве​ данные.​Вот такой результат получится​ИНДЕКС​ которые показывают преимущества​0,59 ₽​ возвратить ссылку.​ должны указывать на​значение 2;​I1POKE3​ если заполнять данные​ удастся.. :(​ формула в него​ (в нашем случае​
​ – это функция​ практике. Ниже Вы​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​ требует отдельного вызова​;)​Например, если у Вас​ в Excel:​/​

​ использования​​40​

​Номер_столбца​​ ячейку внутри заданного​
​выделяем ячейки​

​: Всем спасибо.​​ выше ее -​

​Ну почему же​​ не попадала (зацикливание).​ – результат формулы​ПОИСКПОЗ​ видите список самых​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​
​ функции​

planetaexcel.ru

Как узнать номер строки?

​ есть таблица​​Важно! Количество строк и​ПОИСКПОЗ​ИНДЕКС​
​Миндаль​

​    — необязательный аргумент. Номер​​ массива; в противном​A2A3​

​Вариантов предостаточно.​​ она должна возвращать​ :)​
​ikki​ИНДЕКС​, думаю, её нужно​ населённых стран мира.​Результат: Lima​ВПР​
​A1:C10​ столбцов в массиве,​всегда нужно точное​и​
​2,80 ₽​ столбца в диапазоне,​ случае функция ИНДЕКС​;​Пойду пробовать, уверен,​ номер первой строки,​Вот функция для​: только для строк.​/​ объяснить первой.​

​ Предположим, наша задача​​3.​. Поэтому, чем больше​, и требуется извлечь​ который использует функция​
​ совпадение, поэтому третий​

​ПОИСКПОЗ​​10​ заданном аргументом «ссылка»,​ возвратит значение ошибки​беремся за правый нижний​ что все получится.​ в которой есть​
​ первых 999 строк​ числа, даты и​ПОИСКПОЗ​

​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​
​ узнать население США​AVERAGE​

​ значений содержит массив​ данные из столбца​

​INDEX​​ аргумент функции​
​вместо​
​Кешью​ из которого требуется​

planetaexcel.ru

​ #ССЫЛКА!.​

Функция СТРОКА в Excel используется для возвращения номера строки для ссылки на диапазон ячеек или же одну ячейку. К примеру, формула =СТРОКА(D11) возвращает значение 11, поскольку D11 — это 11-я строка. Рассматриваемую функцию удобно использовать также для автоматической нумерации любого вертикального диапазона, если же предполагается частое добавление или удаление новых строк. В данном случае строки всегда будут иметь правильный номер.

Пример как получить номер строки листа по значению ячейки Excel

Пример 1. Рассмотрим перечень столиц государств и их население, который показан ниже в таблице:

перечень столиц.

Необходимо вычислить, в какой строке находится столица с максимальным населением.

Введем в ячейку С2 формулу:

В результате вычислений формулы получим следующее значение:

столица Москва 4.

То есть, столица Москва имеет максимальное население с данного перечня городов и находиться в четвертой строке текущей таблицы.



Нумерация ячеек в таблице относительно номеров строк листа Excel

Пример 2. Дан список сотрудников компании:

Пример 2.

Необходимо, используя функцию СТРОКА, создать столбец «№п/п».

Стоит отметить, что используя в первом столбце данную функцию, при удалении строки таблицы значения столбца № п/п будет автоматически исправлен для правильной нумерации ячеек в таблице.

Для создания столбца с последовательными значениями номеров строк таблицы, нужно в ячейку А2 ввести формулу:

=номера строк листа для текущей ячейки таблицы — 1

используя функцию СТРОКА.

В данной формуле ссылка А2 отображает ячейку, где определяется номер строки.

Заметим, что в формуле слагаемое «-1» уменьшает значение строки на 1, поскольку в первой строке таблицы находится заголовок. Скопируем перетаскиванием данную формулу с ячейки А2 к ячейке А6. В результате получим:

определяется номер строки.

При удалении любой строки таблицы, нумерация ячеек первого столбца сохранится (удалим строку с фамилией Мальков):

нумерация автоматически обновилась.

Как видно, указанная строка была удалена, а нумерация сама автоматически обновилась.

Стоит отметить, что аналогичным образом мы можем нумеровать ячейки и по столбцам таблицы. Для этого просто нужно вместо функции СТРОКА использовать функцию СТОЛБЕЦ по горизонтали.

Как удалить повторяющиеся значения в Excel

Пример 3. В таблице присутствует перечень имен студентов группы, в которых есть повторяющиеся значения:

перечень имен.

Необходимо с помощью функции СТРОКА, определить не повторяющиеся имена из указанного перечня имен студентов.

Для этого в ячейку В2 введем формулу:

В данном случае функция СТРОКА используется без параметров, то есть, она будет возвращать номер строки, в которой записана данная формула.

В результате, скопировав формулу в ячейку В8, получим:

В результате введем формулу.

То есть, показан перечень имен, которые не повторяются.

Особенности использования функции СТРОКА в Excel

Существуют несколько нюансов, при которых применяется функция СТРОКА во избежание возникновения самых разнообразных ошибок:

  1. Когда аргумент «ссылка» не будет указан (поскольку он обязательным аргументом не является), то по умолчанию возвращено значение той строки, где размещена функция.
  2. В аргументе «ссылка» указывать больше одной области является запрещенным.
  3. Когда аргументом «ссылка» указывается некоторый диапазон ячеек, а непосредственно функция уже используется в вертикальном массиве, то и функция будет возвращать только нужные номера строк в качестве вертикального массива.

На чтение 2 мин

Функция СТРОКА в Excel используется когда вы хотите получить значение номера строки в которой находится конкретная ячейка.

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции ROW (СТРОКА) в Excel
  6. Пример 1. Вычисляем номер строки ячейки
  7. Пример 2. Вычисляем номер строки конкретной ячейки

Что возвращает функция

Функция возвращает порядковый номер строки в которой находится нужная ячейка с данными. Например, =ROW(B4) или =СТРОКА(B4) вернет “4”, так как ячейка «B4: находится в четвертой строке таблицы.

Синтаксис

=ROW([reference]) — английская версия

=СТРОКА([ссылка]) — русская версия

Аргументы функции

  • [reference] ([ссылка]) — необязательный аргумент, который ссылается на ячейку или диапазон ячеек. Если при использовании функции СТРОКА(ROW) аргумент не указан, то функция отображает номер строки для той ячейки, в которой находится функция СТРОКА(ROW).

Дополнительная информация

  • Если аргумент функции ссылается на диапазон ячеек, то функция вернет минимальное значение из указанного диапазона. Например, =ROW(B5:D10) или =СТРОКА(B5:D10), функция СТРОКА вернет значение «5»;
  • Если аргумент функции ссылается на массив, функция вернет номера строк в которых находится каждый элемент указанного массива;
  • Аргумент функции не может ссылаться на несколько ссылок или адресов;

Примеры использования функции ROW (СТРОКА) в Excel

Пример 1. Вычисляем номер строки ячейки

Excel функция - ROW (СТРОКА) в Excel

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Если вы введете =СТРОКА() или =ROW() в любой ячейке => функция вернет номер строки, в которой находится ячейка с этой функцией.

Пример 2. Вычисляем номер строки конкретной ячейки

Функция ROW (СТРОКА) в Excel

Если вы укажете ссылку на ячейку с помощью функции СТРОКА или ROW, она вернет номер строки этой ячейки.

Функция строка в Excel позволяет возвращать номер строки, что позволяет решать более сложные задачи, например, выполнение операций в каждой третьей или 5-й строке.

  • Инструкция;
  • Примеры.

Инструкция функции СТРОКА в Excel

Для того, чтобы узнать номер строки можно использовать следующую формулу:

=СТРОКА(B4)

Функция СТРОКА в Excel

Таким образом указав ячейку, например, N128 она вернет лишь вторую часть, те 128.

Примеры использования в более сложных формулах

Выполнить действие, например, умножить на 55 в каждой пятой строке также понадобиться данная функция:

=ЕСЛИ(ОСТАТ(СТРОКА(A1);5)=0;A1*55;A1)

Применение функции СТРОКА в Эксель в более сложных формулах

Все готово.

Функция ROW (СТРОКА) в Excel. Как использовать?

Функция СТРОКА в Excel используется когда вы хотите получить значение номера строки в которой находится конкретная ячейка.

Что возвращает функция

Функция возвращает порядковый номер строки в которой находится нужная ячейка с данными. Например, =ROW(B4) или =СТРОКА(B4) вернет “4”, так как ячейка “B4: находится в четвертой строке таблицы.

=ROW([reference]) – английская версия

=СТРОКА([ссылка]) – русская версия

Аргументы функции

  • [reference] ([ссылка]) – необязательный аргумент, который ссылается на ячейку или диапазон ячеек. Если при использовании функции СТРОКА ( ROW) аргумент не указан, то функция отображает номер строки для той ячейки, в которой находится функция СТРОКА(ROW) .

Дополнительная информация

  • Если аргумент функции ссылается на диапазон ячеек, то функция вернет минимальное значение из указанного диапазона. Например, =ROW(B5:D10) или =СТРОКА(B5:D10) , функция СТРОКА вернет значение “5”;
  • Если аргумент функции ссылается на массив, функция вернет номера строк в которых находится каждый элемент указанного массива;
  • Аргумент функции не может ссылаться на несколько ссылок или адресов;

Примеры использования функции ROW (СТРОКА) в Excel

Пример 1. Вычисляем номер строки ячейки

Если вы введете =СТРОКА() или =ROW() в любой ячейке => функция вернет номер строки, в которой находится ячейка с этой функцией.

Пример 2. Вычисляем номер строки конкретной ячейки

Если вы укажете ссылку на ячейку с помощью функции СТРОКА или ROW , она вернет номер строки этой ячейки.

Функция СТРОКА() в MS EXCEL

Синтаксис функции

СТРОКА(ссылка)

Ссылка — ячейка или интервал ячеек, для которых определяется номер строки.

Если ссылка опущена, то функция СТРОКА() вернет номер строки в которую введена сама формула. Т.е. если формула =СТРОКА() введена в ячейку B5, то результат будет 5.

В аргументе «ссылка» нельзя указывать несколько областей, т.е. запись =СТРОКА(A1:A2;B2:B3) не допустима.

Использование функции в формулах массива

Так как функция СТРОКА() в качестве аргумента позволяет ввести ссылку на диапазон ячеек, то следует ожидать, что она вернет не одно число, а массив целых чисел — соответствующих номеров строк. Для этого введите в Строке формул выражение =СТРОКА(F8:F18) . Выделите формулу и нажмите F9 (см. файл примера ).

Элементы этого массива можно вывести в отдельные ячейки. Для этого выделите диапазон A5:A18, состоящий из 13 ячеек, в Строке формул введите выражение =СТРОКА(F8:F18) как формулу массива, нажав CTRL+SHIFT+ENTER.

Функция СТРОКА() вернула номера строк, указанных в аргументе «ссылка». Т.к. число выделенных ячеек (13) было больше числа строк диапазона F8:F18 (10), то в трех ячейках формула вернула значения ошибки #Н/Д.

Чтобы вывести номера строк в горизонтальном диапазоне используйте формулу =ТРАНСП(СТРОКА(F8:F18)) . Не забудьте нажать CTRL+SHIFT+ENTER.

Использование функции для чрезстрочного выделения

Записав в правиле Условного форматирования для диапазона A5:A18 формулу =НЕЧЁТ(СТРОКА())=СТРОКА() получим выделение цветом каждой второй строки (см. рисунок выше).

Формирование списка без повторов

Если список значений содержит повторяющиеся значения (диапазон A21:A34), то функция СТРОКА() может быть использована для формирования списка без повторов. Формула
=ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)
возвращает значение если оно встречается первый раз.

3 способа автоматической нумерации строк в программе Microsoft Excel

Часто при создании таблиц в Экселе выделяют отдельную колонку, в которой для удобства пользования указывают номера строк. Если таблица не слишком длинная, то не составляет большой проблемы выполнить нумерацию вручную, вводя цифры с клавиатуры. Но, что делать, если она имеет не один десяток, а то и не одну сотню строк? В этом случае, на помощь приходит автоматическая нумерация. Давайте выясним, как сделать автоматическую нумерацию в программе Microsoft Excel.

Программа Microsoft Excel предоставляет пользователям сразу несколько способов автоматической нумерации строк. Одни из них максимально просты, как в выполнении, так и в функционале, а другие – более сложные, но и заключают в себе большие возможности.

Способ 1: заполнение первых двух строк

Первый способ предполагает ручное заполнение первых двух строк числами.

  1. В выделенной под нумерацию колонке первой строки ставим цифру – «1», во второй (той же колонки) – «2».

  • Выделяем эти две заполненные ячейки. Становимся на нижний правый угол самой нижней из них. Появляется маркер заполнения. Кликаем левой кнопкой мыши и с зажатой кнопкой, протягиваем его вниз до конца таблицы.
  • Как видим, нумерация строчек автоматически заполнилась по порядку.

    Этот метод довольно легкий и удобный, но он хорош только для относительно небольших таблиц, так как тянуть маркер по таблице в несколько сотен, а то и тысяч строк, все-таки затруднительно.

    Способ 2: использование функции

    Второй способ автоматического заполнения предусматривает использование функции «СТРОКА».

      Выделяем ячейку, в которой будет находиться цифра «1» нумерации. Вводим в строку для формул выражение «=СТРОКА(A1)».Кликаем по клавише ENTER на клавиатуре.

    Как видим, нумерация строк и в этом случае расположилась по порядку.

    Но, по большому счету, этот способ мало чем отличается от предыдущего и не решает проблему с потребностью тащить маркер через всю таблицу.

    Способ 3: использование прогрессии

    Как раз третий способ нумерации с использованием прогрессии подойдет для длинных таблиц с большим количеством строк.

      Первую ячейку нумеруем самым обычным способом, вписав туда цифру «1» с клавиатуры.

    На ленте в блоке инструментов «Редактирование», который расположен во вкладке «Главная», жмем на кнопку «Заполнить». В появившемся меню кликаем по пункту «Прогрессия».

  • Открывается окно «Прогрессия». В параметре «Расположение» нужно установить переключатель в позицию «По столбцам». Переключатель параметра «Тип» должен находиться в позиции «Арифметическая». В поле «Шаг» нужно установить число «1», если там установлено другое. Обязательно заполните поле «Предельное значение». Тут следует указать количество строк, которые нужно пронумеровать. Если данный параметр не заполнен, автоматическая нумерация произведена не будет. В конце следует нажать на кнопку «OK».
  • Как видим, поле этого все строки вашей таблицы будут пронумерованы автоматически. В этом случае даже ничего перетягивать не придется.

    Как альтернативный вариант можно использовать следующую схему этого же способа:

      В первой ячейке поставить цифру «1», а затем выделить весь диапазон ячеек, которые вы хотите пронумеровать.

  • Вызвать окно инструмента «Прогрессия» тем же способом, о котором мы говорили выше. Но на этот раз ничего вводить или изменять не нужно. В том числе, вводить данные в поле «Предельное значение» не придется, так как нужный диапазон уже выделен. Достаточно просто нажать на кнопку «OK».
  • Данный вариант хорош тем, что вам не придется прикидывать, из скольких строк состоит таблица. В то же время, вам нужно будет выделять все ячейки столбца с номерами, а это значит, что мы возвращаемся к тому же, что было при использовании первых способов: к необходимости прокручивать таблицу до самого низа.

    Как видим, существует три основных способа автоматической нумерации строк в программе. Из них наибольшую практическую ценность имеет вариант с нумерацией первых двух строк с последующим копированием (как самый простой) и вариант с использованием прогрессии (из-за возможности работать с большими таблицами).

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Excel works!

    Excel работает за вас

    Excel works!

    Thanks for Visiting

    Как найти номер строки и столбца в Excel?

    Номер строки и столбца в Excel может пригодиться в разных ситуациях. Функции могут использоваться для создания нумерации строк списка или таблицы, можно использовать и в формулах, и в условном форматировании. Так же разберем как быстро посчитать количество столбцов без формул.

    Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?

    Интересная особенность этих формул, что они могут работать как с реквизитами, так и без них. Т.е. формула =СТРОКА(), будет возвращать номер именно этой строки, а =СТРОКА(A3) будет возвращать номер строки ячейки A3, соответственно 3.

    Подробнее на примере

    Номер строки и столбца для списка или таблицы

    Довольно часто функция СТРОКА используется для нумерации данных в списке, достаточно только сопоставить номер строки и номер позиции списка, в данном случае делаем -1

    Очень удобно, если вы часто изменяете порядок строки, удаляете или добавляете их. Поскольку формула остается, то порядок всегда будет правильным.

    Тоже самое можно провернуть для нумерации столбцов.

    Как посчитать количество столбцов в выделенном диапазоне столбцов?

    Если вы выделяете не диапазон ячеек, а диапазон, к примеру столбцов, необязательно пользоваться какой-то формулой, чтобы посчитать сколько столбцов в диапазоне. При выделение диапазона количество столбцов (еще раз обращу внимание, если вы выделяете именно диапазон столбцов) автоматически считается и показывается. Буква С означает, что это считаются колонки -Colomn

    Это очень удобно, когда вы создаете формулу с функцией ВПР .

    Соответственно, если вы выделяете диапазон строк, то будет отображаться число строк.

    Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?

    Условным форматировании можно раскрасить заливку ячеек и даже целых таблиц. Удобно для чтения, когда каждая строка таблица выделяется чередующимся цветом — т.н. зеброй. Как раз функция СТРОКА() нам и поможет.

    Задайте в окне формул условного форматирования:


    И получилось удобное оформление

    Я довольно часто пользуюсь этим, т.к. не очень люблю форматирование в виде Таблицы.

    Примеры использования функции СТРОКА на листе в Excel

    Функция СТРОКА в Excel используется для возвращения номера строки для ссылки на диапазон ячеек или же одну ячейку. К примеру, формула =СТРОКА(D11) возвращает значение 11, поскольку D11 — это 11-я строка. Рассматриваемую функцию удобно использовать также для автоматической нумерации любого вертикального диапазона, если же предполагается частое добавление или удаление новых строк. В данном случае строки всегда будут иметь правильный номер.

    Пример как получить номер строки листа по значению ячейки Excel

    Пример 1. Рассмотрим перечень столиц государств и их население, который показан ниже в таблице:

    Необходимо вычислить, в какой строке находится столица с максимальным населением.

    Введем в ячейку С2 формулу:

    В результате вычислений формулы получим следующее значение:

    То есть, столица Москва имеет максимальное население с данного перечня городов и находиться в четвертой строке текущей таблицы.

    Нумерация ячеек в таблице относительно номеров строк листа Excel

    Пример 2. Дан список сотрудников компании:

    Необходимо, используя функцию СТРОКА, создать столбец «№п/п».

    Стоит отметить, что используя в первом столбце данную функцию, при удалении строки таблицы значения столбца № п/п будет автоматически исправлен для правильной нумерации ячеек в таблице.

    Для создания столбца с последовательными значениями номеров строк таблицы, нужно в ячейку А2 ввести формулу:

    =номера строк листа для текущей ячейки таблицы — 1

    В данной формуле ссылка А2 отображает ячейку, где определяется номер строки.

    Заметим, что в формуле слагаемое «-1» уменьшает значение строки на 1, поскольку в первой строке таблицы находится заголовок. Скопируем перетаскиванием данную формулу с ячейки А2 к ячейке А6. В результате получим:

    При удалении любой строки таблицы, нумерация ячеек первого столбца сохранится (удалим строку с фамилией Мальков):

    Как видно, указанная строка была удалена, а нумерация сама автоматически обновилась.

    Стоит отметить, что аналогичным образом мы можем нумеровать ячейки и по столбцам таблицы. Для этого просто нужно вместо функции СТРОКА использовать функцию СТОЛБЕЦ по горизонтали.

    Как удалить повторяющиеся значения в Excel

    Пример 3. В таблице присутствует перечень имен студентов группы, в которых есть повторяющиеся значения:

    Необходимо с помощью функции СТРОКА, определить не повторяющиеся имена из указанного перечня имен студентов.

    Для этого в ячейку В2 введем формулу:

    В данном случае функция СТРОКА используется без параметров, то есть, она будет возвращать номер строки, в которой записана данная формула.

    В результате, скопировав формулу в ячейку В8, получим:

    То есть, показан перечень имен, которые не повторяются.

    Особенности использования функции СТРОКА в Excel

    Существуют несколько нюансов, при которых применяется функция СТРОКА во избежание возникновения самых разнообразных ошибок:

    1. Когда аргумент «ссылка» не будет указан (поскольку он обязательным аргументом не является), то по умолчанию возвращено значение той строки, где размещена функция.
    2. В аргументе «ссылка» указывать больше одной области является запрещенным.
    3. Когда аргументом «ссылка» указывается некоторый диапазон ячеек, а непосредственно функция уже используется в вертикальном массиве, то и функция будет возвращать только нужные номера строк в качестве вертикального массива.


    Функция

    СТРОКА(

    )

    , английский вариант ROW(),

    вычисляет

    номер строки, определяемой ссылкой:

    формула

    =СТРОКА(B5)

    вернет 5.

    Синтаксис функции


    СТРОКА

    (ссылка)


    Ссылка

    — ячейка или интервал ячеек, для которых определяется номер строки.

    • Если ссылка опущена, то функция

      СТРОКА()

      вернет номер строки в которую введена сама формула. Т.е. если формула

      =СТРОКА()

      введена в ячейку

      B5

      , то результат будет 5.

    • В аргументе «ссылка» нельзя указывать несколько областей, т.е. запись =СТРОКА(A1:A2;B2:B3) не допустима.

    Использование функции в формулах массива

    Так как функция

    СТРОКА()

    в качестве аргумента позволяет ввести ссылку на диапазон ячеек, то следует ожидать, что она вернет не одно число, а массив целых чисел — соответствующих номеров строк. Для этого введите в

    Строке формул

    выражение

    =СТРОКА(F8:F18)

    . Выделите формулу и нажмите

    F9

    (см.

    файл примера

    ).

    Получим

    массив последовательных чисел

    {8:9:10:11:12:13:14:15:16:17:18}. Подобные последовательности часто используются в

    формулах массива

    (см., например, статью

    Сложение значений в каждой третьей строке

    ).

    Элементы этого массива можно вывести в отдельные ячейки. Для этого выделите диапазон

    A5:A18

    , состоящий из 13 ячеек, в

    Строке формул

    введите выражение

    =СТРОКА(F8:F18)

    как формулу массива, нажав

    CTRL+SHIFT+ENTER

    .

    Функция

    СТРОКА()

    вернула номера строк, указанных в аргументе «ссылка». Т.к. число выделенных ячеек (13) было больше числа строк диапазона

    F8:F18

    (10), то в трех ячейках формула вернула значения ошибки #Н/Д.

    Чтобы вывести номера строк в горизонтальном диапазоне используйте формулу

    =ТРАНСП(СТРОКА(F8:F18))

    . Не забудьте нажать

    CTRL+SHIFT+ENTER

    .

    Использование функции для чрезстрочного выделения

    Записав в правиле

    Условного форматирования

    для диапазона

    A5:A18

    формулу

    =НЕЧЁТ(СТРОКА())=СТРОКА()

    получим

    выделение цветом каждой второй строки

    (см. рисунок выше).

    Формирование списка без повторов

    Если список значений содержит

    повторяющиеся

    значения (диапазон

    A21:A34

    ), то функция

    СТРОКА()

    может быть использована для формирования списка без повторов. Формула

    =ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)

    возвращает значение если оно встречается первый раз.

    Номер строки и столбца в Excel может пригодиться в разных ситуациях. Функции могут использоваться для создания нумерации строк списка или таблицы, их можно использовать и в формулах, и в условном форматировании. Так же разберем как быстро посчитать количество столбцов без формул.

    Содержание

    • Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?
    • Номер строки и столбца для списка или таблицы
    • Как посчитать количество столбцов в выделенном диапазоне столбцов?
    • Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?
    • Похожие статьи

    Функция СТРОКА() и СТОЛБЕЦ(). Как использовать?

    Интересная особенность этих формул, что они могут работать как с реквизитами, так и без них. Т.е. формула =СТРОКА() будет возвращать номер именно этой строки, а =СТРОКА(A3) будет возвращать номер строки ячейки A3, соответственно 3.

    Подробнее на примере

    Строка и столбец

    Номер строки и столбца для списка или таблицы

    Довольно часто функция СТРОКА используется для нумерации данных в списке, достаточно только сопоставить номер строки и номер позиции списка, в данном случае делаем -1

    номер строки и столбца

    Очень удобно, если вы часто изменяете порядок строки, удаляете или добавляете их. Поскольку формула остается, то порядок всегда будет правильным.

    Тоже самое можно провернуть для нумерации столбцов.

    Как посчитать количество столбцов в выделенном диапазоне столбцов?

    Если вы выделяете не диапазон ячеек, а диапазон, к примеру столбцов, необязательно пользоваться какой-то формулой, чтобы посчитать сколько столбцов в диапазоне. При выделение диапазона, количество столбцов (еще раз обращу внимание, если вы выделяете именно диапазон столбцов) автоматически считается и показывается. Буква С означает, что это считаются колонки -Colomn

    Строка и столбец3

    Это очень удобно, когда вы создаете формулу с функцией ВПР.

    Соответственно, если вы выделяете диапазон строк, то будет отображаться число строк.

    Функция СТРОКА() в условном форматировании. Как сделать зебру в таблице — чередование цветов заливки?

    Условным форматировании можно раскрасить заливку ячеек и даже целых таблиц. Удобно для чтения, когда каждая строка таблица выделяется чередующимся цветом — т.н. зеброй. Как раз функция СТРОКА() нам и поможет.

    Задайте в окне формул условного форматирования:

    =НЕЧЁТ(СТРОКА())=СТРОКА()

    Выберете цвет

    Строка и столбец4
    И получилось удобное оформление
    Строка и столбец5

    Я довольно часто пользуюсь этим, т.к. не очень люблю форматирование в виде Таблицы.

    Пример файла Номер строки и столбца

     

    Excel-ok

    Пользователь

    Сообщений: 1177
    Регистрация: 01.01.1970

    =МИН(ЕСЛИ(ДЛСТР(СТРОКА(Лист1!1:65536))>0;СТРОКА(Лист1!1:65536)))  
    /как формула массива/  

      по задумке должна возвращать номер первой по счету строки в которой хоть что-нибудь есть  
    (формула находится на листе Лист2, книга с этими листами создана и сохранена)  

      почему она не работает?

     

    Потому, что, если ее чуть преобразовать, то получим  
    =МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536)));  
    в любом случае ДЛСТР(1:65536)>0=истина;  
    если проверять по столбцу А:А, то  
    =МИН(ЕСЛИ(ДЛСТР(A1:A65536);СТРОКА(Лист1!1:65536)))  
    не проверял

     

    Serge

    Пользователь

    Сообщений: 11308
    Регистрация: 01.01.1970

    Потому что минимальная длинна строки массива СТРОКА(Лист1!1:65536)= 1

     

    Excel-ok

    Пользователь

    Сообщений: 1177
    Регистрация: 01.01.1970

    Формула  
    =МИН(ЕСЛИ(ДЛСТР(1:65536)>0;СТРОКА(Лист1!1:65536)))  

      вероятно, должна считать то что нужно, но после ввода ее в ячеку было получено сообщение суть которого в том, что ресурсы Эксель закончились… И это при том, что это единственная формула в книге…  

      Вопрос остался: с пом. формулы определить номер самой первой по счету строки в которой находится хотя бы что-то (любое значение). Но чтобы формуле, конечно, хватало ресурсов..  
    :-)

     

    1. Если хотите искать по всему листу, то формула должна быть на другом листе — иначе циклическая ссылка.  
    2. Для поиска по всему листу поставте комп по-мощнее; 64 бит операционку и 8 гигов памяти…  
    Вывод — в этом случае макрос незаменим.

     
     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    {quote}{login=Excel-Ok}{date=21.03.2011 01:48}{thema=}{post}=ЕСЛИ(ДЛСТР(1:65536);СТРОКА(1:65536)){/post}{/quote}  
    Вы заставляете Excel создавать массив из (хорошо еще, если Excel-2003) 65536*256 значений, вот он и возмущается. И правильно делает :)  
    Задайте диапазон ячеек. И такой, чтобы формула в него не попадала (зацикливание).

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Казанский}{date=21.03.2011 02:07}{thema=}{post}=ПОИСКПОЗ(«*»;A:A;){/post}{/quote}  
    только для строк. числа, даты и логические значения не найдет.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    {quote}{login=ikki}{date=21.03.2011 02:15}{thema=Re: }{post}{quote}{login=Казанский}{date=21.03.2011 02:07}{thema=}{post}=ПОИСКПОЗ(«*»;A:A;){/post}{/quote}  
    только для строк. числа, даты и логические значения не найдет.{/post}{/quote}М-да, действительно. Такой вот костыль, массив:  

      =ПОИСКПОЗ(«?»;ЛЕВСИМВ(A:A;1);)

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Казанский}{date=21.03.2011 02:28}{thema=Re: Re: }  
    =ПОИСКПОЗ(«?»;ЛЕВСИМВ(A:A;1);){/post}{/quote}  

      другое дело :)  
    работает также =ПОИСКПОЗ(0;ЕСЛИ(ЕПУСТО(A:A);1;0);0) (тоже массив)  

      интересно… что быстрее?..  

      но… автору темы надо было не это :(

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Эту формулу можно упростить:  

      =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);)  

      Но есть нюанс: она считает непустой ячейку, в которой содержится пустая строка, например формула =»» или результат копирования-вставки как значения такой ячейки.  
    Предыдущие формулы такую ячейку считают пустой.

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Казанский}{date=21.03.2011 02:46}{thema=ikki}{post}Эту формулу можно упростить:  

      =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);)  

      Но есть нюанс: она считает непустой ячейку, в которой содержится пустая строка, например формула =»» или результат копирования-вставки как значения такой ячейки.  
    Предыдущие формулы такую ячейку считают пустой.{/post}{/quote}  

      угум. я тоже думал, что можно упростить.  
    но упрощенная — она работает НЕПРАВИЛЬНО.    
    например, если в первой ячейке пусто, во второй — дата, а третья снова пустая, то такая формула дает #Н/Д.    
    а вот если третья — тоже дата, то результат равен 3.  

      неупрощенная — работает правильно во всех случаях.  
    вообще-то странно.  

      пс. у меня Excel 2003… можть, глючный какой?

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    {quote}{login=Казанский}{date=21.03.2011 02:46}{thema=ikki}{post}Эту формулу можно упростить:  

      =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);){/post}{/quote}  
    =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию  1)

     

    Нет. Если бы было так =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A))  
    это было бы как по умолчанию =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1)  

      А =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) эквивалентно =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0)

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Михаил}{date=21.03.2011 03:22}{thema=Re: ikki}{post}{quote}{login=Казанский}{date=21.03.2011 02:46}{thema=ikki}{post}Эту формулу можно упростить:  

      =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);){/post}{/quote}  
    =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) (по умолчанию  1){/post}{/quote}  

      разобрался.  
    мне, кшн, стыдно, но страна должна знать своих героев.  
    Excel реабилитирован.  
    оказалось, что это я глючный :)  

      формулы =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);) и =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);0) — это одно и то же.  
    но, если умудриться не заметить последний «;» в первой формуле, т.е. набрать =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A)), то она, есс-но будет понята как =ПОИСКПОЗ(ЛОЖЬ;ЕПУСТО(A:A);1) и будет работать «неправильно».  

      вот такие нюансы.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Excel-ok

    Пользователь

    Сообщений: 1177
    Регистрация: 01.01.1970

    Вероятно, что то, что хочется формулами сделать не удастся..  
    :(

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Казанский}{date=21.03.2011 03:31}{thema=}{post}Нет.{/post}{/quote}  
    ну вот ) пока писал, а тут уже и ответ готов.  
    но я таки сам допёр. :)

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Excel-Ok}{date=21.03.2011 03:36}{thema=}{post}Вероятно, что то, что хочется формулами сделать не удастся..  
    :({/post}{/quote}  
    встроенными функциями — наверное, нет.  
    но, если Вам так принципиально наличие формулы, то можно сделать UDF, а в макросе — поиск или перебор в цикле For Each.  
    но всё равно, как Вам уже сказали, циклических ссылок создавать не нужно.  
    то есть можно искать по всему листу (если очень надо), но с другого листа.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    =ПОИСКПОЗ(;—ЕПУСТО(A1:A100);)

     

    Ну вот, пришел Формулист :)  
    В данном случае один минус лишний: =ПОИСКПОЗ(;-ЕПУСТО(A:A);)  

      > Вероятно, что то, что хочется формулами сделать не удастся.. :(  
    Ну почему же :)  
    Вот функция для первых 999 строк Лист2, массив  

      =МИН(СТРОКА(Лист2!1:999)*ЕСЛИ(ЕПУСТО(Лист2!1:999);9E+99;1))

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    До двух знаков ужмем? :)  
    =ПОИСКПОЗ(;-(A:A=»»);)

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    вотЬ  
    UDF  
    вообще-то проверял, но, если чё — прошу сильно не бить.  

      Public Function хотьчтонибудь(target As Range) As Long  
     Set r = target.Worksheet.UsedRange  
     хотьчтонибудь = 0  
     For Each c In r.Rows  
       If Not c.Find(What:=»*», LookIn:=xlFormulas, _  
    LookAt:=xlPart, MatchCase:=False) Is Nothing Then  
         хотьчтонибудь = c.Row  
         Exit Function  
       End If  
     Next c  
    End Function  

      применение: =хотьчтонибудь(Лист1!A:IV)  
    можно и для текущего листа: =хотьчтонибудь(A:IV)

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Если Find, то зачем цикл :)  

      Set r = target.Worksheet.cells.Find(…  
    if not r is nothing then хотьчтонибудь = r.row  

      Только вот метод Find не работает в UDF в моем любимом 2000 :(

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=Казанский}{date=21.03.2011 04:51}{thema=}{post}Если Find, то зачем цикл :)  

      Set r = target.Worksheet.cells.Find(…  
    if not r is nothing then хотьчтонибудь = r.row  

      Только вот метод Find не работает в UDF в моем любимом 2000 :({/post}{/quote}  

      мда… усложнил малость.  
    все равно это должно работать быстрее, чем формулы массива, тем более смотрим не весь лист, а UsedRange.  
    но, кшн, можно и без цикла.  
    но тогда обязательно надо задать в Find SearchOrder:=xlByRows

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    {quote}{login=The_Prist}{date=21.03.2011 05:06}{thema=}{post}А вместо Find лучше вообще массивы использовать… {/quote}  

      ну виртуозы!!!  
    и, самое главное — обработает скрытые строки/столбцы и будет работать в любом Эксе, хоть в 97-м.  

      The_Prist, снимаю шляпу.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Не спеши со шляпой ;)  
    Сравни с дополненным вариантом:  

      Public Function хотьчтонибудь(target As Range) As Long  
    Dim avArr, lr As Long, lc As Long, r As Range  
    Set r = target.Parent.UsedRange  
    If r.Count = 1 Then  
       If r <> «» Then хотьчтонибудь = r.Row  
       Exit Function  
    Else  
    avArr = r.Value  
    For lr = 1 To UBound(avArr, 1)  
    For lc = 1 To UBound(avArr, 2)  
    If Len(avArr(lr, lc)) Then  
    хотьчтонибудь = lr: Exit For  
    End If  
    Next lc  
    If хотьчтонибудь > 0 Then Exit For  
    Next lr  
    End If  
    хотьчтонибудь = хотьчтонибудь + r.Row — 1  
    End Function  

      в случае если:  
    — лист пустой;  
    — занята одна ячейка;  
    — Usedrange не начинается с 1 строки.  

      Чтобы ф-я пересчитывалась при изменении на листе, надо добавить  
    Application.Volatile

     

    kim

    Пользователь

    Сообщений: 3139
    Регистрация: 23.12.2012

    Игорь

    А макрофункции чего никто не предложил? :)  
    На листе единственная заполненная ячейка — G18, формула в ней возвращает свое же местоположение по строкам. По идее, если заполнять данные выше ее — она должна возвращать номер первой строки, в которой есть данные. Хоть и работает это шустро, но к применению неудобно…

     

    Михаил С.

    Пользователь

    Сообщений: 10514
    Регистрация: 21.12.2012

    #28

    21.03.2011 21:23:00

    А где нужно размещать все эти «Public Function хотьчтонибудь(target As Range) As Long»? на этом же листе? они не зациклятся при этом?

    Like this post? Please share to your friends:
  • Excel вычисляемые ячейки это
  • Excel вычисляемая в настоящий момент ячейка содержит константу
  • Excel вычислить часть формулы
  • Excel вычислить формулу по шагам
  • Excel вычислить таблицу значений функции