Как в excel найти заполненные ячейки в строке

Поиск последней непустой ячейки в строке или столбце функцией ПРОСМОТР

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

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

Задача: найти значение продаж в последнем месяце по каждому филиалу, т.е. для Москвы это будет 78, для Питера — 41 и т.д.

Если бы в нашей таблице не было пустых ячеек, то путь к решению был бы очевиден — можно было бы посчитать количество заполненных ячеек в каждой строке и брать потом ячейку с этим номером. Но филиалы работают неравномерно: Москва простаивала в марте и августе, филиал в Тюмени открылся только с апреля и т.д., поэтому такой способ не подойдет.

Универсальным решением будет использование функции ПРОСМОТР (LOOKUP):

Поиск последней непустой ячейки функцией ПРОСМОТР

У этой функции хитрая логика:

  • Она по очереди (слева-направо) перебирает непустые ячейки в диапазоне (B2:M2) и сравнивает каждую из них с искомым значением (9999999).
  • Если значение очередной проверяемой ячейки совпало с искомым, то функция останавливает просмотр и выводит содержимое ячейки.
  • Если точного совпадения нет и очередное значение меньше искомого, то функция переходит к следующей ячейке в строке.

Легко сообразить, что если в качестве искомого значения задать достаточно большое число, то функция пройдет по всей строке и, в итоге, выдаст содержимое последней проверенной ячейки. Для компактности, можно указать искомое число в экспоненциальном формате, например 1E+11 (1*1011 или сто миллиардов).

Если в таблице не числа, а текст, то идея остается той же, но «очень большое число» нужно заменить на «очень большой текст»:

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

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

  1. латиница прописные (A-Z)
  2. латиница строчные (a-z)
  3. кириллица прописные (А-Я)
  4. кириллица строчные (а-я)

Поэтому строчная «я» оказывается буквой с наибольшим кодом и слово из нескольких подряд «яяяяя» будет, условно, «очень большим словом» — заведомо «большим», чем любое текстовое значение из нашей таблицы.

Вот так. Не совсем очевидное, но красивое и компактное решение. Для поиска последней непустой ячейки в столбцах работает тоже «на ура».

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

  • Поиск и подстановка по нескольким условиям (ВПР по 2 и более критериям)
  • Поиск ближайшего похожего текста (max совпадений символов)
  • Двумерный поиск в таблице (ВПР 2D)


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

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

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

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

=СЧЁТЗ(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

.


СОВЕТ:

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

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

.


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

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

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

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

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

Code

=ПРОСМОТР(«яяя»;A:A)

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

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

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

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

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

Code

=ПРОСМОТР(9E+307;1:1)

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

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

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

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

Code

=ПРОСМОТР(1;1/(A:A<>»»);A:A)

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

Code

=LOOKUP(1;1/(A:A<>»»);A:A)

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

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

  • 1
  • 2
  • 3
  • 4
  • 5

Категория: Приёмы работы с формулами | Добавил: Serge_007 (14.01.2012)

Просмотров: 95898 | Комментарии: 36
| Теги: последняя ячейка, Поиск, вернуть значение, найти последнюю ячейку, последняя заполненная ячейка, формулы эксель, формулы Excel
| Рейтинг: 4.5/12

Всего комментариев: 36 1 2 »

Порядок вывода комментариев:

+1
 

1   
Shiri  
(22.02.2012 10:18)
[
Материал]

   I’m not easily ipmresesd but you’ve done it with that posting.

+2
 


   Добавлю свои 5 коп. :
если нужен номер строки удобней использовать

0
 

3   
Туся  
(25.06.2012 13:15)
[
Материал]

   Спасибо БОЛЬШОЕ, ОООЧЕНЬ помогло! Как раз то, что искала и так быстро!

7   
Дмитрий  
(18.09.2013 11:32)
[
Материал]

   Огромное СПАСИБО. Без Вас бы не справился :)

8   
Kim  
(08.10.2013 06:35)
[
Материал]

   от себя тоже добавлю СПАСИБИЩЕ не только за формулу, но и за пояснение

9   
Агдам  
(18.02.2014 21:29)
[
Материал]

   А как решить проблему когда в последней ячейке оказалось число <0? В этом случае результатом становится пустая ячейка.


   Формула вернет любое последнее значение, независимо от того отрицательное оно или положительное. Пустой ячейки не будет

11   
Агдам  
(18.02.2014 22:50)
[
Материал]

   Serge 007, на форуме http://www.cyberforum.ru/ms-excel/thread388235.html, вы сказали, что «Функция ПРОСМОТР ищет максимально возможное число в Excel (9E+307) в массиве чисел A2:A10 сверху вниз и останавливается на последнем найденном числе больше 0»
У меня когда когда число <0 то функция выдает пустую ячейку, когда>0, все нормально. Как решить проблему?


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

   Подскажите, пожалуйста, если надо выбрать ячейку с датой, то какую комбинацию надо ввести в искомое значение. Пересмотрела много всего, не подходит, выдает #Н/Д. Спасибо.

16   
mr_vads  
(17.03.2014 18:11)
[
Материал]

   Спасибо, прикрутил «поискпоз» к Вашему методу, но если последние значения повторяются — выдает номер строки только первого вхождения (из последних повторов). Следовательно, Ваш метод нашел значение, но не последнее; и если его использовать в комбинации с другими функциями — ошибки неизбежны.
Формуляр предложил отличную формулу =MATCH(«»,A:A,-1), при этом можно даже использовать =MATCH(,A:A,-1)
=)


   mr_vads, мой метод возвращает последнее ЗНАЧЕНИЕ строки или столбца и неважно повторяется оно в них или нет

А метод Формуляра действительно возвращает НОМЕР последней заполненной СТРОКИ, но не ЗНАЧЕНИЕ

Читайте статью внимательнее ;)

18   
mr_vads  
(21.03.2014 00:27)
[
Материал]

   может быть, что «поискпоз» сбил с толку. хотя надо проверить («смещ» например). в любом случае, спасибо!

19   
mr_vads  
(21.03.2014 00:29)
[
Материал]

   и кстати, (а может и нет), цветной код трудночитаем


   Капча (цветной код) показывается только для незарегистрированных пользователей

   Добрый день, формула =ПРОСМОТР(9E+307;1:1) прекрасна работала, но решил внести небольшие изменения, в обрабатываемых ячейках поместил не числа, а формулы (суммы из других строк) и все остановилось, вместо чисел стал возвращаться 0. Подскажите как быть, очень хорошо начались решаться проблемы и вот опять стопор.


   Если формула

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

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

Код

=ПРОСМОТР(1;1:1/1:1;1:1)

   Спасибо. То что нужно.

Эта формула вписывает последнюю запись в строке. В столбце (сверху ячейки — в шапке) я записываю дату. И очень нужно еще и вписать дату, когда была сделана эта последняя запись. Как пример: (20_03_2014 Договорились созвониться в мае) Если это реально, будет вообще космос!

Спасибо

   функции =ИНДЕКС(1:1;СЧЁТЗ(1:1)) не надо максимального числа, но и ваша функция =ПРОСМОТР(9E+307;1:1) работает. Спасибо

1-25 26-36

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

[

Регистрация

|

Вход

]

Последняя заполненная ячейка в 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/Диапазон. Вот пример применения другого числа в первом аргументе, при делимом отличном от единицы:

    Содержание

    • Подсчет ячеек
      • Способ 1: счетчик на строке состояния
      • Способ 2: функция СЧЁТЗ
      • Способ 3: функция СЧЁТ
      • Способ 4: функция СЧЁТЕСЛИ
      • Способ 5: функция СЧЁТЕСЛИМН
    • Вопросы и ответы

    Подсчет заполненных ячеек в Microsoft Excel

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

    Подсчет ячеек

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

    Способ 1: счетчик на строке состояния

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

    Подсчет ячеек в строке состояния в Microsoft Excel

    Но, хотя по умолчанию этот счетчик включен, и только ждет того, когда пользователь выделит определенные элементы, в некоторых случаях он может быть отключен вручную. Тогда актуальным становится вопрос о его включении. Для этого нужно кликнуть правой кнопкой мыши по строке состояния и в открывшемся списке установить галочку напротив пункта «Количество». После этого счетчик опять будет отображаться.

    Включение счетчика в Microsoft Excel

    Способ 2: функция СЧЁТЗ

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

    1. Выделяем область, в которую будет выводиться результат подсчета. Кликаем по значку «Вставить функцию».
    2. Переход к вставке функции в Microsoft Excel

    3. Открывается окно Мастера функций. Ищем в представленном списке элемент «СЧЁТЗ». После того, как это наименование выделено, жмем на кнопку «OK».
    4. Переход к функции СЧЁТЗ в Microsoft Excel

    5. Запускается окно аргументов. Аргументами этой функции являются ссылки на ячейки. Ссылку на диапазон можно прописать вручную, но лучше установить курсор в поле «Значение1», куда нужно ввести данные, и выделить соответствующую область на листе. Если нужно произвести подсчет заполненных ячеек в нескольких удаленных друг от друга диапазонах, то координаты второго, третьего и последующего диапазона нужно вводить в поля под названием «Значение2», «Значение3» и т.д. Когда все данные введены. Жмем на кнопку «OK».
    6. Функция СЧЁТЗ в Microsoft Excel

    7. Данную функцию также можно ввести вручную в ячейку или строку формул, придерживаясь следующего синтаксиса:

      =СЧЁТЗ(значение1;значение2;…)

    8. Введение вручную функции СЧЁТЗ в Microsoft Excel

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

    Резултьтат подсчета функции СЧЁТЗ в Microsoft Excel

    Способ 3: функция СЧЁТ

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

    1. Как и в предыдущем случае, выделяем ячейку, куда будут выводиться данные и таким же способом запускаем Мастер функций. В нём выбираем оператора с наименованием «СЧЁТ». Жмем на кнопку «OK».
    2. Переход к функции СЧЁТ в Microsoft Excel

      Lumpics.ru

    3. Запускается окно аргументов. Аргументы те же самые, что и при использовании предыдущего способа. В их роли выступают ссылки на ячейки. Вставляем координаты диапазонов на листе, в которых нужно подсчитать количество заполненных ячеек числовыми данными. Жмем кнопку «OK».
      Функция СЧЁТ в Microsoft Excel

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

      =СЧЁТ(значение1;значение2;…)

    4. Введение вручную функции СЧЁТ в Microsoft Excel

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

    Резултьтат подсчета функции СЧЁТ в Microsoft Excel

    Способ 4: функция СЧЁТЕСЛИ

    Данная функция позволяет подсчитать не просто количество ячеек, заполненных числовыми выражениями, но только такие из них, которые соответствуют определенному условию. Например, если задать условие «>50», то будут учитываться только такие ячейки, в которых содержится значение больше числа 50. Также можно задавать значения «<» (меньше), «< >» (не равно) и т.д.

    1. После того, как выделили ячейку для вывода результата и запустили Мастер функций, выбираем запись «СЧЁТЕСЛИ». Кликаем по кнопке «OK».
    2. Переход к функции СЧЁТЕСЛИ в Microsoft Excel

    3. Открывается окно аргументов. У данной функции два аргумента: диапазон, где происходит подсчет ячеек, и критерий, то есть, условие, о котором мы говорили выше. В поле «Диапазон» вводим координаты обрабатываемой области, а в поле «Критерий» вписываем условия. После этого жмем на кнопку «OK».
      Функция СЧЁТЕСЛИ в Microsoft Excel

      Для ручного ввода шаблон выглядит следующим образом:

      =СЧЁТЕСЛИ(диапазон;критерий)

    4. Введение вручную функции СЧЁТЕСЛИ в Microsoft Excel

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

    Резултьтат подсчета функции СЧЁТЕСЛИ в Microsoft Excel

    Способ 5: функция СЧЁТЕСЛИМН

    Оператор СЧЁТЕСЛИМН является продвинутым вариантом функции СЧЁТЕСЛИ. Его используют, когда нужно указать более одного условия соответствия для различных диапазонов. Всего можно указать до 126 условий.

    1. Обозначаем ячейку, в которую будет выводиться результат и запускаем Мастер функций. В нем ищем элемент «СЧЁТЕСЛИМН». Выделяем его и жмем на кнопку «OK».
    2. Переход к функции СЧЁТЕСЛИМН в Microsoft Excel

    3. Происходит открытие окна аргументов. Собственно, аргументы функции те же самые, что и у предыдущей – «Диапазон» и «Условие». Разница только в том, что диапазонов и соответствующих им условий может быть много. Вводим адреса диапазонов и соответствующие им условия, а потом жмем на кнопку «OK».
      Функция СЧЁТЕСЛИМН в Microsoft Excel

      Синтаксис у этой функции следующий:

      =СЧЁТЕСЛИМН(диапазон_условия1;условие1; диапазон_условия2;условие2;…)

    4. Введение вручную функции СЧЁТЕСЛИМН в Microsoft Excel

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

    Резултьтат подсчета функции СЧЁТЕСЛИМН в Microsoft Excel

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

    Еще статьи по данной теме:

    Помогла ли Вам статья?

    Like this post? Please share to your friends:
  • Как в excel найти заливку
  • Как в excel найти все значения в массиве
  • Как в excel найти дублированные ячейки
  • Как в excel найти возраст в годах
  • Как в excel найти дубликаты ячеек