Найти последнее значение в диапазоне excel

На чтение 7 мин. Просмотров 30k.

Содержание

  1. Получить первое не пустое значение в списке
  2. Получить первое текстовое значение в списке
  3. Получить первое текстовое значение с ГПР
  4. Получить позицию последнего совпадения
  5. Получить последнее совпадение содержимого ячейки
  6. Получить n-е совпадение
  7. Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
  8. Получить n-ое совпадение с ВПР
  9. Если ячейка содержит одну из многих вещей
  10. Поиск первой ошибки
  11. Поиск следующего наибольшего значения
  12. Несколько совпадений в списке, разделенных запятой
  13. Частичное совпадение чисел с шаблоном
  14. Частичное совпадение с ВПР
  15. Положение первого частичного совпадения

Получить первое не пустое значение в списке

{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }

Получить первое не пустое значение в списке

Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.

В данном примере мы используем эту формулу:

{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }

Таким образом, суть проблемы заключается в следующем: мы хотим получить первую не пустую ячейку, но для этого нет конкретной формулы в Excel. Мы могли бы использовать ВПР с шаблоном *, но это будет работать только для текста, а не для чисел.

Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.

Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:

{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}

Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.

Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:

{ = ИНДЕКС( B3: B11; 2; 0 )) }

И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.

Получить первое текстовое значение в списке

= ВПР ( «*»; диапазон; 1; ЛОЖЬ)

Если вам нужно получить первое текстовое значение в списке (диапазон один столбец), вы можете использовать функцию ВПР, чтобы установить точное соответствие, с шаблонным символом для поиска.

Получить первое текстовое значение в списке

В данном примере формула в D7 является:

= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)

Групповой символ звездочка (*) соответствует любому текстовому значению.

Получить первое текстовое значение с ГПР

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

Получить первое текстовое значение с ГПР

Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:

= ГПР ( «*»; С5: Е5; 1; 0 )

Значение поиска является «*», групповым символом, который соответствует одному или более текстовому значению.

Получить позицию последнего совпадения

{ = МАКС( ЕСЛИ ( Величины = знач ; СТРОКА(величина) — СТРОКА(ИНДЕКС( Величины; 1 ; 1 )) + 1 )) }

Для того, чтобы получить позицию последнего совпадения (т.е. последнего вхождения) от значения поиска, вы можете использовать формулу, основанную на ЕСЛИ, СТРОКА, ИНДЕКС, ПОИСКПОЗ и MAКС функций.

Получить позицию последнего совпадения

В примере формула в G6:

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

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

Получить последнее совпадение содержимого ячейки

= ПРОСМОТР( 2 ; 1 / ПОИСК ( вещи ; А1 ); вещи )

Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».

Получить последнее совпадение содержимого ячейки

В примере формула в С5:

=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)

Получить n-е совпадение

= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )

Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.

= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ

{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }

Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ

Чтобы получить n-ое совпадение, используя ИНДЕКС и ПОИСКПОЗ, вы можете использовать формулу массива с функциями ЕСЛИ и НАИМЕНЬШИЙ, чтобы выяснить номер строки совпадения.

Получить n-ое совпадение с ВПР

= ВПР( id_формулы; стол; 4; 0 )

Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.

Получить n-ое совпадение с ВПР

Эта формула зависит от вспомогательного столбца, который добавляется в качестве первого столбца таблицы исходных данных. Вспомогательный столбец содержит формулу, которая строит уникальное значение взгляда вверх от существующего идентификатора и счетчика. Счетчик подсчитывает сколько раз уникальный идентификатор появился в таблице данных.

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

=ВПР(J3&»-«&I6;B4:G11;4;0)

Если ячейка содержит одну из многих вещей

{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }

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

{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }

Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.

Поиск первой ошибки

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }

Если вам нужно найти первую ошибку в диапазоне ячеек, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ЕОШИБКА функциях.

Поиск первой ошибки

В приведенном примере формула:

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }

Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.

Когда дается диапазон ячеек (массив ячеек) функция ЕОШИБКА будет возвращать массив истина/ложь значений. В примере, это результирующий массив выглядит следующим образом:

{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}

Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.

Поиск следующего наибольшего значения

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

Поиск следующего наибольшего значения

Для того, чтобы найти «следующее наибольшее» значение в справочной таблице, можно использовать формулу, основанную на ИНДЕКС и ПОИСКПОЗ. В примере формула в F6 является:

=ИНДЕКС(C5:C9;ПОИСКПОЗ(F4;B5:B9)+1)

Несколько совпадений в списке, разделенных запятой

{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }

Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.

{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }

Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).

Частичное совпадение чисел с шаблоном

{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }

Для того, чтобы выполнить частичное совпадение (подстроки) против чисел, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ТЕКСТ.

Частичное совпадение чисел с шаблоном

Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).

Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.

Решение

Одно из решений заключается в преобразовании чисел в диапазоне поиска для текстовых значений, а затем сделать нормальный поиск с ПОИСКПОЗ, ВПР и т.д.

Другой вариант

Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:

= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

Частичное совпадение с ВПР

Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.

Частичное совпадение с ВПР

В примере формула ВПР выглядит следующим образом:

=ВПР($H$2&»*»;$B$3:$E$12;2;0)

В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:

Положение первого частичного совпадения

= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )

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

Положение первого частичного совпадения

В примере формула в Е7:

=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)

Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.

ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.

Ссылка на это место страницы:
#title

  1. Получить первое не пустое значение в списке
  2. Получить первое текстовое значение в списке
  3. Получить первое текстовое значение с ГПР
  4. Получить позицию последнего совпадения
  5. Получить последнее совпадение содержимого ячейки
  6. Получить n-е совпадение
  7. Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
  8. Получить n-ое совпадение с ВПР
  9. Если ячейка содержит одну из многих вещей
  10. Поиск первой ошибки
  11. Поиск следующего наибольшего значения
  12. Несколько совпадений в списке, разделенных запятой
  13. Частичное совпадение чисел с шаблоном
  14. Частичное совпадение с ВПР
  15. Положение первого частичного совпадения
  16. Скачать файл

Ссылка на это место страницы:
#punk01

{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }

{ = INDEX( диапазон ; MATCH( FALSE; ISBLANK ( диапазон ); 0 )) }

Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.

В данном примере мы используем эту формулу:

{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }

{ = INDEX( B3:B11; MATCH( FALSE; ISBLANK ( B3:B11 ); 0 )) }

Таким образом, суть проблемы заключается в следующем: мы хотим получить первую не пустую ячейку, но для этого нет конкретной формулы в Excel. Мы могли бы использовать ВПР с шаблоном *, но это будет работать только для текста, а не для чисел.

Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.

Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:

{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}

Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.

Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:

{ = ИНДЕКС( B3: B11; 2; 0 )) }

{ = INDEX( B3:B11; 2; 0 )) }

И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.

Ссылка на это место страницы:
#punk02

= ВПР ( «*»; диапазон; 1; ЛОЖЬ)

= VLOOKUP ( «*»; диапазон; 1; FALSE)

Если вам нужно получить первое текстовое значение в списке (диапазон один столбец), вы можете использовать функцию ВПР, чтобы установить точное соответствие, с шаблонным символом для поиска.

В данном примере формула в D7 является:

= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)

= VLOOKUP ( «*» ; B5:B11 ; 1 ; FALSE)

Групповой символ звездочка (*) соответствует любому текстовому значению.

Ссылка на это место страницы:
#punk03

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

Значение поиска является «*», групповым символом, который соответствует одному или более текстовому значению.

Ссылка на это место страницы:
#punk04

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

Для того, чтобы получить позицию последнего совпадения (т.е. последнего вхождения) от значения поиска, вы можете использовать формулу, основанную на ЕСЛИ, СТРОКА, ИНДЕКС, ПОИСКПОЗ и MAКС функций.

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))

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

Ссылка на это место страницы:
#punk05

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))

Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».

=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)

=LOOKUP(2;1/SEARCH($E$4:$E$7;B4);$E$4:$E$7)

Ссылка на это место страницы:
#punk06

= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )

= SMALL( IF( логический тест; СТРОКА( список ) — MIN( ROW( список )) + 1 ); n )

Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.

= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )

= SMALL( IF( список = E5 ; ROW( список ) — MIN( ROW( список )) + 1 ); F5 )

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Ссылка на это место страницы:
#punk07

{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }

{ = INDEX( массив; SMALL( IF( величины = знач ; ROW ( величины ) — ROW ( INDEX( величины; 1 ; 1 )) + 1 ); n-й )) }

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Ссылка на это место страницы:
#punk08

= ВПР( id_формулы; стол; 4; 0 )

= VLOOKUP( id_формулы; стол; 4; 0 )

Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.

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

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

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

=ВПР(J3&»-«&I6;B4:G11;4;0)

=VLOOKUP(J3&»-«&I6;B4:G11;4;0)

Ссылка на это место страницы:
#punk09

{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }

{ = INDEX( результаты ;MATCH( TRUE ; ISNUMBER( SEARCH( вещи ; A1 )); 0 )) }

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

{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }

= INDEX( результаты ; MATCH( TRUE ; ISNUMBER( SEARCH ( вещи ; B5 )); 0 ))

Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.

Ссылка на это место страницы:
#punk10

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }

{ = MATCH( TRUE ; ISERROR(диап ); 0 ) }

Если вам нужно найти первую ошибку в диапазоне ячеек, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ЕОШИБКА функциях.

В приведенном примере формула:

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }

{ = MATCH( TRUE ; ISERROR( B4:B11 ); 0 ) }

Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.

Когда дается диапазон ячеек (массив ячеек) функция ЕОШИБКА будет возвращать массив истина/ложь значений. В примере, это результирующий массив выглядит следующим образом:

{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}

Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.

Ссылка на это место страницы:
#punk11

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

=INDEX ( данные; MATCH( поиск ; значения ) + 1 )

Для того, чтобы найти «следующее наибольшее» значение в справочной таблице, можно использовать формулу, основанную на ИНДЕКС и ПОИСКПОЗ. В примере формула в F6 является:

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

=INDEX ( данные; MATCH( поиск ; значения ) + 1 )

Ссылка на это место страницы:
#punk12

{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }

{ = ОБЪЕДИНИТЬ ( «;» ; TRUE ; IF( диапазон1 = E5 ; диапазон2 ; «» )) }

Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.

{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }

Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).

Ссылка на это место страницы:
#punk13

{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }

{ = MATCH( «*» & номер & «*» ; TEXT( диапазон ; «0» ); 0 ) }

Для того, чтобы выполнить частичное совпадение (подстроки) против чисел, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ТЕКСТ.

Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).

Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.

Одно из решений заключается в преобразовании чисел в диапазоне поиска для текстовых значений, а затем сделать нормальный поиск с ПОИСКПОЗ, ВПР и т.д.

Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:

= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

= MATCH ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

Ссылка на это место страницы:
#punk14

Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.

В примере формула ВПР выглядит следующим образом:

=ВПР($H$2&»*»;$B$3:$E$12;2;0)

=VLOOKUP($H$2&»*»;$B$3:$E$12;2;0)

В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:

Ссылка на это место страницы:
#punk15

= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )

= MATCH ( «* текст *» ; диапазон; 0 )

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

=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)

=MATCH(«*»&E6&»*»;B5:B10;0)

Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.

ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.

Ссылка на это место страницы:
#punk16

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

1. Введите свою почту

2. Нажмите Зарегистрироваться

3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.

Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel. 

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

Подписывайтесь на нас в соц.сетях:

Поиск последнего вхождения (инвертированный ВПР)

Все классические функции поиска и подстановки типа ВПР (VLOOKUP), ГПР (HLOOKUP), ПОИСКПОЗ (MATCH) и им подобные имеют одну важную особенность — они ищут от начала к концу, т.е. слева-направо или сверху-вниз по исходным данным. Как только находится первое подходящее совпадение — поиск останавливается и найденным оказывается только первое вхождение нужного нам элемента.

Что же делать, если нам требуется найти не первое, а последнее вхождение? Например, последнюю сделку по клиенту, последний платёж, самую свежую заявку и т.д.?

Способ 1. Поиск последней строки формулой массива

Если в исходной таблице нет столбца с датой или порядковым номером строки (заказа, платежа…), то наша задача сводится, по сути, к поиску последней строки, удовлетворяющей заданному условию. Реализовать подобное можно вот такой формулой массива:

Формула массива для поиска последнего вхождения

Здесь:

  • Функция ЕСЛИ (IF) проверяет по очереди все ячейки в столбце Клиент и выводит номер строки, если в ней лежит нужное нам имя. Номер строки на листе нам даёт функция СТРОКА (ROW), но поскольку нам нужен номер строки в таблице, то дополнительно приходится вычитать 1, т.к. у нас в таблице есть шапка.
  • Затем функция МАКС (MAX) выбирает из сформированного набора номеров строк максимальное значение, т.е. номер самой последней строки клиента.
  • Функция ИНДЕКС (INDEX) выдаёт содержимое ячейки с найденным последним номером из любого другого требуемого столбца таблицы (Код заказа).

Всё это нужно вводить как формулу массива, т.е.:

  • В Office 365 с последними установленными обновлениями и поддержкой динамических массивов — можно просто жать Enter.
  • Во всех остальных версиях после ввода формулы придется нажимать сочетание клавиш Ctrl+Shift+Enter, что автоматически добавит к ней фигурные скобки в строке формул.

Способ 2. Обратный поиск новой функцией ПРОСМОТРХ

Я уже писал большую статью с видео про новую функцию ПРОСМОТРХ (XLOOKUP), которая появилась в последних версиях Office на замену старушке ВПР (VLOOKUP). При помощи ПРОСМОТРХ наша задача решается совершенно элементарно, т.к. для этой функции (в отличие от ВПР) можно явно задавать направление поиска: сверху-вниз или снизу-вверх — за это отвечает её последний аргумент (-1):

Обратный поиск с ПРОСМОТРХ

Способ 3. Поиск строки с последней датой

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

Как это сделать с помощью классических функций я уже подробно разбирал, а теперь давайте попробуем использовать мощь новых функций динамических массивов. Исходную таблицу для пущей красоты и удобства тоже заранее преобразуем в «умную» с помощью сочетания клавиш Ctrl+T или команды Главная — Форматировать как таблицу (Home — Format as Table).

С их помощью этой «убойной парочки» наша задача решается весьма изящно:

Обратный поиск на динамических массивах в Excel

Здесь:

  • Сначала функция ФИЛЬТР (FILTER) отбирает только те строки из нашей таблицы, где в столбце Клиент — нужное нам имя.
  • Потом функция СОРТ (SORT) сортирует отобранные строки по убыванию даты, чтобы самая последняя сделка оказалась сверху.
  • Функция ИНДЕКС (INDEX) извлекает первую строку, т.е. выдает нужную нам последнюю сделку.
  • И, наконец, внешняя функция ФИЛЬТР убирает из результатов лишние 1-й и 3-й столбцы (Код заказа и Клиент) и оставляет только дату и сумму. Для этого используется массив констант {0;1;0;1}, определяющий какие именно столбцы мы хотим (1) или не хотим (0) выводить.

Способ 4. Поиск последнего совпадения в Power Query

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

1. Преобразуем нашу исходную таблицу в «умную» с помощью сочетания клавиш Ctrl+T или команды Главная — Форматировать как таблицу (Home — Format as Table).

2. Загружаем её в Power Query кнопкой Из таблицы/диапазона на вкладке Данные (Data — From Table/Range).

3. Сортируем (через выпадающий список фильтра в шапке) нашу таблицу по убыванию даты, чтобы самые последние сделки оказались сверху.

4. На вкладке Преобразование выбираем команду Группировать по (Transform — Group By) и задаем группировку по клиентам, а в качестве агрегирующей функции выбираем вариант Все строки (All rows). Назвать новый столбец можно как угодно — например Подробности.

Группировка строк в Power Query

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

Результаты группировки

5. Добавляем новый вычисляемый столбец кнопкой Настраиваемый столбец на вкладке Добавить столбец (Add column — Add custom column) и вводим следующую формулу:

Добавляем вычисляемый столбец для извлечения 1 строки

Здесь Подробности — это столбец, откуда мы берем таблицы по клиентам, а {0} — это номер строки, которую мы хотим извлечь (нумерация строк в Power Query начинается с нуля). Получаем столбец с записями (Record), где каждая запись — первая строка из каждой таблицы:

Полученные записи

Осталось развернуть содержимое всех записей кнопкой с двойными стрелками в шапке столбца Последняя сделка, выбрав нужные столбцы:

Разворачиваем записи в столбцы

… и удалить потом ненужный более столбец Подробности щёлкнув по его заголовку правой кнопкой мыши — Удалить столбцы (Remove columns).

После выгрузки результатов на лист через Главная — Закрыть и загрузить — Закрыть и загрузить в (Home — Close & Load — Close & Load to…) получим вот такую симпатичную таблицу со списком последних сделок, как и хотели:

Результаты запроса Power Query

При изменении исходных данных результаты нужно не забыть обновить, щёлкнув по ним правой кнопкой мыши — команда Обновить (Refresh) или сочетанием клавиш Ctrl+Alt+F5.

Ссылки по теме

  • Функция ПРОСМОТРХ — наследник ВПР
  • Как использовать новые функции динамических массивов СОРТ, ФИЛЬТР и УНИК
  • Поиск последней непустой ячейки в строке или столбце функцией ПРОСМОТР

Последняя заполненная ячейка в MS EXCEL

Найдем номер строки последней заполненной ячейки в столбце и списке. По номеру строки найдем и само значение.

Рассмотрим диапазон значений, в который регулярно заносятся новые данные.

Диапазон без пропусков и начиная с первой строки

В случае, если в столбце значения вводятся, начиная с первой строки и без пропусков, то определить номер строки последней заполненной ячейки можно формулой:
=СЧЁТЗ(A:A))

Формула работает для числовых и текстовых диапазонов (см. Файл примера )

Значение из последней заполненной ячейки в столбце выведем с помощью функции ИНДЕКС() :
=ИНДЕКС(A:A;СЧЁТЗ(A:A))

Ссылки на целые столбцы и строки достаточно ресурсоемки и могут замедлить пересчет листа. Если есть уверенность, что при вводе значений пользователь не выйдет за границы определенного диапазона, то лучше указать ссылку на диапазон, а не на столбец. В этом случае формула будет выглядеть так:
=ИНДЕКС(A1:A20;СЧЁТЗ(A1:A20))

Диапазон без пропусков в любом месте листа

Если список, в который вводятся значения расположен в диапазоне E8:E30 (т.е. не начинается с первой строки), то формулу для определения номера строки последней заполненной ячейки можно записать следующим образом:
=СЧЁТЗ(E9:E30)+СТРОКА(E8)

Формула СТРОКА(E8) возвращает номер строки заголовка списка. Значение из последней заполненной ячейки списка выведем с помощью функции ИНДЕКС() :
=ИНДЕКС(E9:E30;СЧЁТЗ(E9:E30))

Диапазон с пропусками (числа)

В случае наличия пропусков (пустых строк) в столбце, функция СЧЕТЗ() будет возвращать неправильный (уменьшенный) номер строки: оно и понятно, ведь эта функция подсчитывает только значения и не учитывает пустые ячейки.

Если диапазон заполняется числовыми значениями, то для определения номера строки последней заполненной ячейки можно использовать формулу =ПОИСКПОЗ(1E+306;A:A;1) . Пустые ячейки и текстовые значения игнорируются.

Так как в качестве просматриваемого массива указан целый столбец (A:A), то функция ПОИСКПОЗ() вернет номер последней заполненной строки. Функция ПОИСКПОЗ() (с третьим параметром =1) находит позицию наибольшего значения, которое меньше или равно значению первого аргумента (1E+306). Правда, для этого требуется, чтобы массив был отсортирован по возрастанию. Если он не отсортирован, то эта функция возвращает позицию последней заполненной строки столбца, т.е. то, что нам нужно.

Чтобы вернуть значение в последней заполненной ячейке списка, расположенного в диапазоне A2:A20, можно использовать формулу:
=ИНДЕКС(A2:A20;ПОИСКПОЗ(1E+306;A2:A20;1))

Диапазон с пропусками (текст)

В случае необходимости определения номера строки последнего текстового значения (также при наличии пропусков), формулу нужно переделать:
=ПОИСКПОЗ(«*»;$A:$A;-1)

Пустые ячейки, числа и текстовое значение Пустой текст («») игнорируются.

Диапазон с пропусками (текст и числа)

Если столбец содержит и текстовые и числовые значения, то для определения номера строки последней заполненной ячейки можно предложить универсальное решение:
=МАКС(ЕСЛИОШИБКА(ПОИСКПОЗ(«*»;$A:$A;-1);0);
ЕСЛИОШИБКА(ПОИСКПОЗ(1E+306;$A:$A;1);0))

Функция ЕСЛИОШИБКА() нужна для подавления ошибки возникающей, если столбец A содержит только текстовые или только числовые значения.

Другим универсальным решением является формула массива:
=МАКС(СТРОКА(A1:A20)*(A1:A20<>«»))

После ввода формулы массива нужно нажать CTRL + SHIFT + ENTER. Предполагается, что значения вводятся в диапазон A1:A20. Лучше задать фиксированный диапазон для поиска, т.к. использование в формулах массива ссылок на целые строки или столбцы является достаточно ресурсоемкой задачей.

Значение из последней заполненной ячейки, в этом случае, выведем с помощью функции ДВССЫЛ() :
=ДВССЫЛ(«A»&МАКС(СТРОКА(A1:A20)*(A1:A20<>«»)))

Как обычно, после ввода формулы массива нужно нажать CTRL + SHIFT + ENTER вместо ENTER.

СОВЕТ:
Как видно, наличие пропусков в диапазоне существенно усложняет подсчет. Поэтому имеет смысл при заполнении и проектировании таблиц придерживаться правил приведенных в статье Советы по построению таблиц.

Поиск последнего значения последней строки в столбце Excel

При составлении формул в Excel часто возникает необходимость найти последнюю строку или получить последнее значение в столбце таблицы с данными. Здесь следует учитывать несколько условий, поставленных перед поиском: будет ли список значений в столбце неразрывным или содержать пустые ячейки? Какие это значения: текст, числа? От этих факторов зависит тип используемых формул.

Как найти последнюю заполненную строку в столбце таблицы Excel

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

Функция ИНДЕКС использована с одним столбцом требует лишь указать один аргумент с номером строки. Третий необязательный для заполнения аргумент в данной ситуации не используется. Функция СЧЁТЗ используется с целью подсчитывания непустых ячеек в столбце B. Ее итоговый результат вычисления следует увеличить на число +1, так как в первой строке пустая ячейка. Функция ИНДЕКС в данном примере возвращает 12-ую строку в столбце B.

Функция СЧЁТЗ подсчитывает ячейки содержащие значения: числа, текстовые строки, даты и все любые другие значения за исключением пустых ячеек. Если ваши данные содержат пустые ячейки, которые разрывают целостность списков, тогда эта формула не будет возвращать правильных результатов вычисления.

Поиск последнего числа в столбце с пустыми ячейками Excel

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

Искомое значение в данной формуле (единица с 308 знаками) – это самое большое число доступное в программе Excel. Так как функция ПРОСМОТР не имела шансов найти большего значения чем искомое, она прекратила свое вычисление на последнем найденном числовом значении, которую и вернула в результат.

Что значит число с буквой E в Excel?

Число такое как, например, 9,99E+307 записано в экспоненциальном формате. Число перед буквой E имеет одну цифру 0-9 и только две цифры после запятой. Число после буквы E значит количество разрядов, на которые следует сместить запятую (307 в данном примере), чтобы получить числовое значение, записанное традиционным способом. Плюс значит, что запятую следует смещать в право, а минус – влево. Например, запись 4,32E-02 означает число, записанное в десятичной дроби 0,0432.

Функция ПРОСМОТР имеет преимущество перед другими функциями в том, что она возвращает последнее число даже тогда, когда ячейки в просматриваемом диапазоне могут быть не только пустыми, но и содержать текстовые строки, коды ошибок или даты.

Поиск значений в списке данных

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

В этой статье

Поиск значений в списке по вертикали по точному совпадению

Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

Примеры использования функции ВПР

Дополнительные сведения можно найти в разделе функция ВПР.

Примеры ИНДЕКСов и СОВПАДЕНИй

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.

Поиск значений в списке по вертикали по приблизительному совпадению

Для этого используйте функцию ВПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.

Дополнительные сведения можно найти в разделе функция ВПР.

Поиск значений по вертикали в списке неизвестного размера с точным соответствием

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.

C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

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

Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

Поиск значений в списке по горизонтали с использованием приблизительного совпадения

Для выполнения этой задачи используется функция ГПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

Дополнительные сведения можно найти в разделе функции ГПР.

Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.

Щелкните ячейку в диапазоне.

На вкладке формулы в группе решения нажмите кнопку Подстановка .

Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.

Загрузка программы-надстройки «Мастер подстановок»

Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Excel поиск последнего значения в строке

Последнее непустое значение в строке

Для того, чтобы «вытащить» последнее непустое значение в строке, содержащей как пустые, так и непустые ячейки, можно воспользоваться функцией ПРОСМОТР с определенными «настройками» диапазонов.

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

    В столбце с нашими будущими результатами вводим =ПРОСМОТР( и нажимаем fx.

  • В предложенных режимах функции выбираем первый – «искомое_значение;просматриваемый_вектор;вектор_результатов» и нажимаем ОК.
  • Далее заполняем аргументы. Функция ПРОСМОТР имеет очень интересную особенность. Если она не находит требуемые искомые значения, то она возвращает последнее справа в указанном диапазоне. Диапазон для поиска находится в просматриваемом векторе. Его мы преобразуем таким образом, чтобы результатами были либо значения, либо ошибки.
    Вводя конструкцию 1/(ДИАПАЗОН<>””) (диапазон, не равный пустым ячейкам), мы получим последовательность <1; #ДЕЛ/0…..>. Это даст нам возможность исключить из поиска пустые ячейки. Т.к. в просматриваемом векторе теперь заведомо будут отсутствовать любые искомые значения (кроме «1», ее вводить нельзя), то в искомое значение вводим любое число – например «1111».
  • В вектор результатов вводим тот же диапазон, но без ограничений, т.е. диапазон с частью нашей строки.
  • Заканчиваем ввод нажатием на ОК и «протягиваем» формулу на все строки.
  • Для указанного примера, вся последовательность будет иметь вид:
  • =ПРОСМОТР(1111111111;1/(B3:F3<>«»);B3:F3), ее можно скопировать в строку формул и перенастроить под первую строку вашей таблицы, изменяя диапазон B3:F3 в векторах.

    Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
    (для перевода по карте нажмите на VISA и далее «перевести»)

    Excel поиск последнего значения в строке

    Если Вам необходимо в таблицах, которые имеют неодинаковое количество ячеек в строках и/или столбцах, например таких:

    находить последние заполненные ячейки и извлекать из них значения, то в Excel Вы, к сожалению, не найдёте функции типа ВЕРНУТЬ.ПОСЛЕДНЮЮ.ЯЧЕЙКУ()

    Вот как это сделать имеющейся в стандартном наборе функций функцией ПРОСМОТР().

    1. Для текстовых значений:

    В английской версии:

    Как это работает: Функция ПРОСМОТР() ищет сверху вниз в указанном столбце текст «яяя» и не найдя его, останавливается на последней ячейке в которой есть хоть какой-то текст. Так как мы не указали третий аргумент этой функции «Вектор_результатов», то функция возвращает значение из второго аргумента «Вектор_просмотра».

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

    Примечание: Вообще-то достаточно использовать и «яя«, но тогда возникает мизерная возможность попасть на таблицу, в которой будет такое слово. Так называются город и река в Кемеровской области. В детстве я был в этом городе и даже купался в этой реке 🙂

    2. Для числовых значений:

    В английской версии:

    Как это работает: Функция ПРОСМОТР() ищет слева направо в указанной строке число «9E+307» и не найдя его, останавливается на последней ячейке в которой есть хоть какое-то число. Так как мы не указали третий аргумент этой функции «Вектор_результатов», то функция возвращает значение из второго аргумента «Вектор_просмотра».

    Пояснение: Почему именно «9E+307«? Потому что это максимально возможное число в Excel. Поэтому функция найти его может только в каком-то невероятном случае, в реальной жизни пользователь такими числами просто не оперирует.

    3. Для смешанных (текстово-числовых) значений:

    В английской версии:

    Как это работает: Функция ПРОСМОТР() ищет слева направо в указанной строке число «1» и найдя его, останавливается на последней ячейке в которой есть это число. Так как мы указали третий аргумент этой функции «Вектор_результатов», то функция возвращает значение из него, соответствующее позиции последнего вхождения искомого в просматриваемый массив.

    Пояснение: Почему именно «1«? Да просто так 🙂 С таким же успехом можно использовать число 2 или 3 или 100500, например. Главное что бы первый аргумент функции был не менее делимого в выражении 1/Диапазон. Вот пример применения другого числа в первом аргументе, при делимом отличном от единицы:

    За определенный период времени ведется регистр количества проданного товара в магазине. Необходимо регулярно отслеживать последний выданный из магазина товар. Для этого нужно отобразить последнюю запись в столбце наименования товаров. Чтобы просто посмотреть на последнее значение столбца, достаточно переместить курсор на любую его ячейку и нажать комбинацию горячих клавиш CTRL + стрелка в низ (↓). Но чаще всего пользователю приходится с последним значением столбца выполнять различные вычислительные операции в Excel. Поэтому лучше его получить в качестве значения для отдельной ячейки.

    Поиск последнего значения в столбце Excel

    Схематический регистр товаров, выданных с магазина:

    Товарный регистр.

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

    Результат выполнения формулы для получения последнего значения:

    Последнее значение в столбце B.

    Разбор принципа действия формулы для поиска последнего значения в столбце:

    

    Главную роль берет на себя функция =ИНДЕКС(), которая должна возвращать содержимое ячейки таблицы где пересекаются определенная строка и столбец. В качестве первого аргумента функции ИНДЕКС выступает неизменяемая константа, а именно ссылка на целый столбец (B:B). Во втором аргументе находится номер строки с последним заполненным значением столбца B. Чтобы узнать этот номер строки используется функция СЧЁТЗ, которая возвращает количество непустых ячеек в диапазоне. Соответственно это же число равно номеру последней непустой строки в столбце B и используется как второй аргумент для функции ИНДЕКС, которая сразу возвращает последнее значение столбца B в отдельной ячейке E1.

    Внимание! Все записи в столбце B должны быть неразрывны (без пустых ячеек до последнего значения).

    Стоит отметить что данная формула является динамической. При добавлении новых записей в столбец B результат в ячейке E1 будет автоматически обновляться.


    Найдем номер строки последней заполненной ячейки в столбце и списке. По номеру строки найдем и само значение.

    Рассмотрим диапазон значений, в который регулярно заносятся новые данные.

    Диапазон без пропусков и начиная с первой строки

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

    =СЧЁТЗ(A:A))

    Формула работает для числовых и текстовых диапазонов (см.

    Файл примера

    )

    Значение из последней заполненной ячейки в столбце выведем с помощью функции

    ИНДЕКС()

    :

    =ИНДЕКС(A:A;СЧЁТЗ(A:A))

    Ссылки на целые столбцы и строки достаточно ресурсоемки и могут замедлить пересчет листа. Если есть уверенность, что при вводе значений пользователь не выйдет за границы определенного диапазона, то лучше указать ссылку на диапазон, а не на столбец. В этом случае формула будет выглядеть так:

    =ИНДЕКС(A1:A20;СЧЁТЗ(A1:A20))

    Диапазон без пропусков в любом месте листа

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

    E8:E30

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

    =СЧЁТЗ(E9:E30)+СТРОКА(E8)

    Формула

    СТРОКА(E8)

    возвращает номер строки заголовка списка. Значение из последней заполненной ячейки списка выведем с помощью функции

    ИНДЕКС()

    :

    =ИНДЕКС(E9:E30;СЧЁТЗ(E9:E30))

    Диапазон с пропусками (числа)

    В случае

    наличия пропусков

    (пустых строк) в столбце, функция

    СЧЕТЗ()

    будет возвращать неправильный (уменьшенный) номер строки: оно и понятно, ведь эта функция подсчитывает только значения и не учитывает

    пустые

    ячейки.

    Если диапазон заполняется

    числовыми

    значениями, то для определения номера строки последней заполненной ячейки можно использовать формулу

    =ПОИСКПОЗ(1E+306;A:A;1)

    . Пустые ячейки и текстовые значения игнорируются.

    Так как в качестве просматриваемого массива указан целый столбец (

    A:A

    ), то функция

    ПОИСКПОЗ()

    вернет номер последней заполненной строки. Функция

    ПОИСКПОЗ()

    (с третьим параметром =1) находит позицию наибольшего значения, которое меньше или равно значению первого аргумента (1E+306). Правда, для этого требуется, чтобы массив был

    отсортирован

    по возрастанию. Если он не отсортирован, то эта функция возвращает позицию последней заполненной строки столбца, т.е. то, что нам нужно.

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

    A2:A20

    , можно использовать формулу:

    =ИНДЕКС(A2:A20;ПОИСКПОЗ(1E+306;A2:A20;1))

    Диапазон с пропусками (текст)

    В случае необходимости определения номера строки последнего

    текстового

    значения (также при наличии пропусков), формулу нужно переделать:

    =ПОИСКПОЗ(«*»;$A:$A;-1)

    Пустые ячейки, числа и текстовое значение

    Пустой текст

    («») игнорируются.

    Диапазон с пропусками (текст и числа)

    Если столбец содержит и

    текстовые и числовые значения

    , то для определения номера строки последней заполненной ячейки можно предложить универсальное решение:

    =МАКС(ЕСЛИОШИБКА(ПОИСКПОЗ(«*»;$A:$A;-1);0); ЕСЛИОШИБКА(ПОИСКПОЗ(1E+306;$A:$A;1);0))

    Функция

    ЕСЛИОШИБКА()

    нужна для подавления ошибки возникающей, если столбец

    A

    содержит только текстовые или только числовые значения.

    Другим универсальным решением является

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

    :

    =МАКС(СТРОКА(A1:A20)*(A1:A20<>»»))

    Или

    =МАКС(СТРОКА(A1:A20)*НЕ(ЕПУСТО(A1:A20)))

    После ввода

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

    нужно нажать

    CTRL + SHIFT + ENTER

    . Предполагается, что значения вводятся в диапазон

    A1:A20

    . Лучше задать фиксированный диапазон для поиска, т.к. использование в

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

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

    Значение из последней заполненной ячейки, в этом случае, выведем с помощью функции

    ДВССЫЛ()

    :

    =ДВССЫЛ(«A»&МАКС(СТРОКА(A1:A20)*(A1:A20<>»»)))

    Или

    =ДВССЫЛ(«A»&МАКС(СТРОКА(A1:A20)*НЕ(ЕПУСТО(A1:A20))))

    Как обычно, после ввода

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

    нужно нажать

    CTRL + SHIFT + ENTER

    вместо

    ENTER

    .


    СОВЕТ:

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

    Советы по построению таблиц

    .

    Поиск последнего повтора в MS EXCEL

    ​Смотрите также​ ВПР».​ наименьшего, а здесь​ списке:​ элемента в наборе​ Gling!​: ПОИСК ПОСЛЕДНЕГО ЗНАЧЕНИЯ​ столбца извлечь последнее​ используется функция СЧЁТЗ,​ в качестве значения​Очистить все​ выбрать.​ и нажмите Сброс​ эта статья была​ содержащую последний повтор​ функции ВПР() с​Дату продажи (ячейка​Рассмотрим таблицу продаж, состоящую​Так, в предыдущем примере​

    ​ — есть выбор.​Если в качестве искомого​​ значений. Чаще всего​​Работает!​ посмотрите здесь​

    Задача

    ​ значение по​ которая возвращает количество​ для отдельной ячейки.​.​

    Решение

    ​Совет:​ последней ячейки, сняв​ вам полезна. Просим​ (т.е. последнюю продажу​

    ​ критерием ИСТИНА (приблизительное​​D7​​ из столбцов Дата​ получить не номер,​

    ​Например, нам нужно выбрать​ значения задать звездочку,​ она применяется для​Я хотел повысить​StewArt​мере появления значений​ непустых ячеек в​Схематический регистр товаров, выданных​Сохраните лист.​ Можно также щелкнуть заголовок​ все форматирование, могут​ вас уделить пару​​ в заданный день):​​ совпадение) :​

    ​) будем выбирать с​ продажи и Сумма.​ а название модели​ генератор из прайс-листа​ то функция будет​
    ​ поиска порядкового номера​

    ​ вам репутацию ,​: Доброго времени суток!​ в ячейках столбца​ диапазоне. Соответственно это​ с магазина:​Закройте лист.​

    ​ первого столбца и​ быть применены в​ секунд и сообщить,​=СУММПРОИЗВ(МАКС((D7=Весь_диапазон_Дат)*(СТРОКА(Весь_диапазон_Дат))))​=ВПР(D7;A7:B41;2;ИСТИНА)​
    ​ помощью Выпадающего списка.​

    ​ Т.к. в день​ генератора можно очень​ для расчетной мощности​ искать первую ячейку​ ячейки в диапазоне,​ но у меня​Помогите пожалуйста.​ ( на листе1​ же число равно​Чтобы иметь возможность постоянно​При открытии книги, последнюю​ нажмите клавиши CTRL​ пустые строки или​ помогла ли она​Формула разместим в ячейке​В случае повторяющихся значений​

    ​Это будет гарантировать, что​ может быть несколько​ легко:​ в 47 кВт.​ с текстом и​ где лежит нужное​ пишет что Форма​Как найти предпоследнее​ столбце А каждая​

    Альтернативное решение

    ​ номеру последней непустой​ наблюдать, какой товар​ ячейку данных должен​ + SHIFT +​ столбцы между данными​ вам, с помощью​
    ​E10​

    ​ функция ВПР() с​​ в качестве критерия​​ продаж, то столбец​Ну, и поскольку Excel​ Если последний аргумент​​ выдавать её позицию.​​ нам значение.​ заполнена неправильно​ значение в столбце​​ ячейка столбца имеет​​ строки в столбце​ зарегистрирован последним, в​

    ​ быть последнюю ячейку​ END.​ и последнюю ячейку.​ кнопок внизу страницы.​
    ​. Этапы вычислений можно​

    excel2.ru

    Поиск и сброс последней ячейки на листе

    ​ критерием ИСТИНА возвращает​​ для поиска будут​ с датами содержит​ внутри хранит и​ задать равным 1​ Для поиска последней​Синтаксис этой функции следующий:​_Boroda_​ с фамилиями? И​ свою формулу) .​ B и используется​ отдельную ячейку E1​ на листе.​Чтобы выбрать все строки​Чтобы найти последнюю ячейку,​ Для удобства также​ легко увидеть с​ наибольшее найденное значение,​ введены только даты​ повторы. Задав в​ обрабатывает даты как​ и отсортировать таблицу​

    ​ текстовой ячейки можно​=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)​: и еще​ за два до​ На лист2​ как второй аргумент​ введем формулу:​За определенный период времени​ под последней строкой,​ содержащую данные или​ приводим ссылку на​ помощью клавиши​ которое меньше или​ из таблицы. Т.к.​ качестве критерия поиска​ числа, то подобный​ по возрастанию, то​

    ​ изменить третий аргумент​где​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(D$2:D$25;СЧЁТЗ(D2:D$25))​ последнего? И за​в ячейку А1.​ для функции ИНДЕКС,​Результат выполнения формулы для​ ведется регистр количества​ содержащей данные, щелкните​ форматирование, щелкните в​ оригинал (на английском​

    Найдите последнюю ячейку, содержащую данные или форматирование на листе

    • ​F9​ равно, чем искомое​ даты в таблице​ дату, найдем номер​ подход на 100%​ мы найдем ближайшую​

    ​Режим_поиска​​Что_ищем​в F4 и​ три до последнего?​Алексей матевосов (alexm)​ которая сразу возвращает​ получения последнего значения:​ проданного товара в​

    Удалить все форматирование между последнюю ячейку и данными

    1. ​ заголовок первой строки,​ любом месте листа​

      • ​ языке) .​(выделите в Строке​ значение. Т.к. перечень​ повторяются, а Выпадающий​ строки, в которой​ работает и с​ наименьшую по мощности​с нуля на​- это значение,​ тянем вниз​

        ​Как найти последнее​​: В ячейку А1​ последнее значение столбца​Разбор принципа действия формулы​ магазине. Необходимо регулярно​ удерживая нажатой клавишу​

      • ​ и нажмите клавиши​При сохранении книги Microsoft​ формул, например, выражение​ дат сортирован по​ список не должен​ содержится дата и​ датами. Например, мы​ модель (​ минус 1:​

        ​ которое надо найти​​StewArt​ я знаю: =ПРОСМОТР(«ЯЯЯ»;D2:D49)​ на лист2 вставьте​ B в отдельной​ для поиска последнего​

    2. ​ отслеживать последний выданный​​ CTRL и нажмите​​ CTRL + END.​ Excel сохраняет только​​ D2=Весь_диапазон_Дат, нажмите​​ возрастанию и искомое​ содержать повторы, то​​ сумма последней продажи​​ можем легко определить​Изображение кнопки​Зверь​​Числа и пустые ячейки​​Где_ищем​

    3. ​: Спасибо Знатокам!​

    4. ​Пример в приложении.​

      ​ одну из двух​ ячейке E1.​ значения в столбце:​ из магазина товар.​

    support.office.com

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

    ​ кнопку строка заголовков​Примечание:​ часть каждого листа,​F9​ значение заведомо имеется​ для источника строк​ (т.е. последний повтор​ на каком этапе​):​ в этом случае​- это одномерный​kondp2008​gling​ формул​Внимание! Все записи в​​ Для этого нужно​ строк, которые вы​ Чтобы выделить очень последнюю​ содержащую данные или​, вместо формулы отобразится​ в списке, то​ Выпадающего списка сформируем​ даты, указанной в​ сейчас находится наш​Если же третий аргумент​

    Поиск последнего значения в столбце Excel

    ​ игнорируются.​ диапазон или массив​

    Товарный регистр.

    ​: Добрый день​: Думаю Индекс(поиспоз(просмотор(яяя))-1)=предпоследнее значение.​1. =ИНДЕКС (Лист1!A1:A100;ПОИСКПОЗ​ столбце B должны​Главную роль берет на​

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

    Последнее значение в столбце B.

    ​ ячейку в строке​ форматирование. Пустые ячейки​ ее результат).​

    ​ найденное значение как​

    ​ в столбце​ критерии). Найдем сумму​ проект:​ равен -1 и​Если последний аргумент задать​ (строка или столбец),​Имеется таблица данных,​ сам не пробовал​ (1;ИНДЕКС (—(Лист1!A1:A100=»»);0);0)-1) «обычная​ быть неразрывны (без​ себя функция =ИНДЕКС(),​ в столбце наименования​Совет:​ или столбце, нажмите​ могут содержать форматирование,​А сумму последней продажи​ раз и будет​H​ первой и последней​Принципиальное ограничение функции​ таблица отсортирована по​ равным 1 или​ где производится поиск​ в порядке возрастания​ может я не​ формула»​ пустых ячеек до​ которая должна возвращать​ товаров. Чтобы просто​ Можно также щелкнуть заголовок​ клавишу END и​

    ​ которое вызывает последнюю​ в заданный день​ последним повтором даты,​список Уникальных значений.​ продажи в этот​

    ​ПОИСКПОЗ​ убыванию, то мы​ -1, то можно​Режим_поиска​ только время, остальные​ прав.​2. =ИНДЕКС (Лист1!A1:A100;ПОИСКПОЗ​

    exceltable.com

    Поиск последнего значения в excel

    ​ последнего значения).​ содержимое ячейки таблицы​ посмотреть на последнее​ первой строки и​ нажмите клавишу Стрелка​ ячейку в строке​ можно найти с​ указанной в качестве​
    ​Сумму первой продажи найдем​ день.​состоит в том,​ найдем ближайшую более​ реализовать поиск ближайшего​- как мы​ данные в произвольной​
    ​dadmarat​

    ​ (1;—(Лист1!A1:A100=»»);0)-1) формула массива.​​Стоит отметить что данная​ где пересекаются определенная​ значение столбца, достаточно​ нажмите клавиши CTRL​
    ​ вправо или Стрелка​ или столбце выходящих​ помощью функции ИНДЕКС():​
    ​ критерия.​ с помощью стандартной​Пусть таблица продаж размещена​ что она умеет​ мощную модель (​

    ​ наименьшего или наибольшего​​ ищем: точно (0),​
    ​ форме​: Один из множества​ Завершить ее ввод​ формула является динамической.​ строка и столбец.​ переместить курсор на​

    ​ + SHIFT +​​ вниз.​ диапазон ячеек, содержащий​

    Найти предпоследнее значение в столбце (Формулы)

    ​=ИНДЕКС(B7:B41;E10-СТРОКА(B6))​​В файле примера с​
    ​ функции ВПР() с​
    ​ в диапазоне​ искать только в​Бомба​ числа. Таблица при​ с округлением в​Как по​
    ​ вариантов.​ нажатием трех клавиш​
    ​ При добавлении новых​

    ​ В качестве первого​​ любую его ячейку​ END.​Выполните одну из указанных​ данные. Это вызывает​

    ​Примечание:​​ помощью Условного форматирования​ критерием ЛОЖЬ (точное​

    ​A7:B41​​ одномерных массивах (т.е.​​):​
    ​ этом обязательно должна​
    ​ большую строну (-1)​

    ​заданному условию​​Rustem​

    ​ Ctrl+Shift+Enter​​ записей в столбец​ аргумента функции ИНДЕКС​ и нажать комбинацию​
    ​На вкладке «​
    ​ ниже процедур.​ размер файла книги​Мы стараемся как​ серым фоном выделены​ совпадение) :​:o

    ​. Даты продажи отсортированы​​ строчке или столбце),​
    ​Очень часто функция ПОИСКПОЗ​
    ​ быть отсортирована по​ или в меньшую​

    ​формулой вытянуть​​:​:)

    excelworld.ru

    Поиск последнего значения по условию (Формулы/Formulas)

    ​Александр​​ B результат в​
    ​ выступает неизменяемая константа,​ горячих клавиш CTRL​Главная​Чтобы выделить все столбцы​ превышает необходимые и​
    ​ можно оперативнее обеспечивать​​ строки, содержащие информацию​​=ВПР(D7;A7:B41;2;ЛОЖЬ)​​ по возрастанию.​​ но никто не​ используется в связке​

    ​ возрастанию или убыванию​​ сторону (1)​
    ​последнее заполненное значение​

    excelworld.ru

    Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(D:D;ПОИСКПОЗ(«ЯЯЯЯ»;D:D))​: Готовой функции нет.​ ячейке E1 будет​ а именно ссылка​ + стрелка в​» в группе​ справа от последнего​ может привести к​ вас актуальными справочными​ о продажах в​

    ​В случае повторяющихся значений​

    ​Определим Сумму первой и​

    ​ запрещает использовать сразу​

    • ​ с другой крайне​​ соответственно. В общем​Давайте рассмотрим несколько полезных​
    • ​для каждого заданного​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(D:D;ПОИСКПОЗ(«ЯЯЯЯ»;D:D)-1)​Придётся написать функцию​ автоматически обновляться.​ на целый столбец​
    • ​ низ (↓). Но​​ «​ столбца, который содержит​ более распечатанные страницы​ материалами на вашем​ указанный день. Строка​ функция ВПР() с​

    ​ последней продажи в​ два​ полезнойфункцией -​

    Точный поиск

    ​ и целом, это​ вариантов ее применения​ значения​и т.д.​ извлечения на VBA​Имеется книга excel с​

    ПОИСКПОЗ в Excel

    Поиск первой или последней текстовой ячейки

    ​ (B:B). Во втором​ чаще всего пользователю​Редактирование​ данные, щелкните заголовок​ при печати листа​ языке. Эта страница​ с последней продажей​ критерием ЛОЖЬ возвращает​ заданный день (см.​​ПОИСКПОЗ​​ИНДЕКС​ чем-то похоже на​

    Поиск первого или последнего текста

    ​ на практике.​_Boroda_​Pelena​

    Поиск ближайшего числа или даты

    ​ и заставить её​ рабочими листами 1​ аргументе находится номер​ приходится с последним​» щелкните стрелку​ первого столбца, удерживайте​ или книги.​ переведена автоматически, поэтому​ в этот день​ первое (сверху) найденное​ файл примера)​а вложенных в​(INDEX)​ интервальный просмотр у​​Классический сценарий — поиск​​: Так нужно?​: Ещё пара вариантов​ выполняться «при каждом​ и 2,на листе1​

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

    ПОИСКПОЗ поиск ближайшего наименьшего числа

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРОСМОТР(2;1/(J:J=»Ц-4″);K:K)​StewArt​ появлении значений в​ столбце А есть​ заполненным значением столбца​ различные вычислительные операции​​Очистить​​ и щелкните заголовки​

    ПОИСКПОЗ поиск ближайшего наибольшего

    Связка функций ПОИСКПОЗ и ИНДЕКС

    ​ найдите последнюю ячейку,​ содержать неточности и​Решить задачу можно также​ нам и требуется.​​ диапазон Весь_диапазон_Дат как​ ​, чтобы реализовать двумерный​​ данные из диапазона​ВПР (VLOOKUP)​ для нахождения позиции​Основное назначение этой функции​: Спасибо вам, Dadmarat,​

    ​ ячейках столбца A»​ данные А1:A50 .​ B. Чтобы узнать​ в Excel. Поэтому​кнопки​

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

    ​ столбцов из столбцов,​ содержащую данные или​ грамматические ошибки. Для​ с помощью формулы,​Сумму первой продажи найдем​ ссылку на диапазон​ поиск по строке​ по номеру строки-столбца,​, но там возможен​ нужного нам текста​ в том, чтобы​

    ПОИСКПОЗ и даты

    ​ Rustem, Pelena и​​Abram pupkin​​ Как из этого​ этот номер строки​ лучше его получить​и нажмите кнопку​ которые вы хотите​ форматирование на листе​ нас важно, чтобы​ которая определит строку​​ с помощью стандартной​​ =лист1!$A$7:$A$41​​ и столбцу одновременно:​​ реализуя, фактически, «левый​ только поиск ближайшего​ или числа в​

    Двумерный поиск с ПОИСКПОЗ и ИНДЕКС

    planetaexcel.ru

    ​ искать позицию заданного​

    Скачать пример рабочей книги

    Загрузите образец книги

    Из этого туториала Вы узнаете, как найти последнее значение в столбце или строке в Excel.

    Последнее значение в столбце

    Вы можете использовать функцию ПРОСМОТР, чтобы найти последнюю непустую ячейку в столбце.

    1 = ПРОСМОТР (2,1 / (B: B «»); B: B)

    Давайте пройдемся по этой формуле.

    Часть формулы B: B ”” возвращает массив, содержащий значения True и False: {FALSE, TRUE, TRUE,…}, при тестировании каждая ячейка в столбце B пуста (FALSE).

    1 = ПРОСМОТР (2,1 / ({ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ЛОЖЬ;…); B: B)

    Эти логические значения преобразуются в 0 или 1 и используются для деления 1.

    1 = ПРОСМОТР (2; {# DIV / 0!; 1; 1; 1; 1; 1; # DIV / 0!;; B: B)

    Это lookup_vector для функции LOOKUP. В нашем случае lookup_value равно 2, но наибольшее значение в lookup_vector равно 1, поэтому функция LOOKUP будет соответствовать последней 1 в массиве и вернет соответствующее значение в result_vector.

    Если вы уверены, что в столбце есть только числовые значения, данные начинаются с строки 1, а диапазон данных непрерывен, вы можете использовать несколько более простую формулу с функциями ИНДЕКС и СЧЁТ.

    1 = ИНДЕКС (B: B; СЧЁТ (B: B))

    Функция COUNT возвращает количество ячеек, заполненных данными в непрерывном диапазоне (4), а функция INDEX, таким образом, дает значение ячейки в этой соответствующей строке (4-я).

    Чтобы избежать возможных ошибок, когда ваш диапазон данных содержит смесь числовых и нечисловых значений или даже несколько пустых ячеек, вы можете использовать функцию LOOKUP вместе с функциями ISBLANK и NOT.

    1 = ПРОСМОТР (2,1 / (НЕ (ПУСТОЙ (B: B))); B: B)

    Функция ISBLANK возвращает массив, содержащий значения True и False, соответствующие единицам и нулям. Функция NOT изменяет True (т.е. 1) на False и False (т.е. 0) на True. Если мы инвертируем этот результирующий массив (при делении 1 на этот массив), мы получим результирующий массив, содержащий снова # DIV / 0! ошибок и единиц, которые можно использовать как поисковый массив (lookup_vector) в нашей функции LOOKUP. Функциональные возможности функции LOOKUP будут такими же, как и в нашем первом примере: она возвращает значение вектора результатов в позиции последней единицы в поисковом массиве.

    Когда вам нужно вернуть номер строки с последней записью, вы можете изменить формулу, используемую в нашем первом примере, вместе с функцией ROW в вашем result_vector.

    1 = ПРОСМОТР (2,1 / (B: B «»); СТРОКА (B: B))

    Последнее значение в строке

    Чтобы получить значение последней непустой ячейки в строке, заполненной числовыми данными, вы можете использовать аналогичный подход, но с другими функциями: функцию OFFSET вместе с функциями MATCH и MAX.

    1 = СМЕЩЕНИЕ (ссылка, строки, столбцы)
    1 = СМЕЩЕНИЕ (B2,0; ПОИСКПОЗ (МАКС (B2: XFD2) + 1; B2: XFD2,1) -1)

    Посмотрим, как работает эта формула.

    Функция ПОИСКПОЗ

    Мы используем функцию MATCH, чтобы «подсчитать», сколько значений ячеек меньше 1 + максимум всех значений в строке 2, начиная с B2.

    1 = ПОИСКПОЗ (искомое_значение, искомое_массив, [тип_соответствия])
    1 = ПОИСКПОЗ (МАКС (B2: XFD2) + 1; B2: XFD2,1)

    Lookup_value функции MATCH является максимальным из всех значений в строке2 + 1. Поскольку это значение, очевидно, не существует в строке2, а match_type установлено в 1 (меньше или равно lookup_value), функция MATCH вернет Позиция последней «проверенной» ячейки в массиве, то есть количество ячеек, заполненных данными в диапазоне B2: XFD2 (XFD — самый последний столбец в новых версиях Excel).

    СМЕЩЕНИЕ Функция

    Затем мы используем функцию OFFSET, чтобы получить значение этой ячейки, положение которой было возвращено функцией MATCH.

    1 = СМЕЩЕНИЕ (B2,0; C4-1)

    Вы поможете развитию сайта, поделившись страницей с друзьями

    Понравилась статья? Поделить с друзьями:
  • Найти позиции всех пробелов в строке excel
  • Найти подстроку в ячейке excel
  • Найти подстроку в строке excel vba
  • Найти повторяющиеся ячейки в excel в одном столбце
  • Найти повторяющиеся ячейки в excel в двух столбцах