Microsoft Excel

  • doc
  • 14.05.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 193. Microsoft Excel.doc

Microsoft Excel

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

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



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

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

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


 

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

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

Code

=LOOKUP("яяя",A:A)


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

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

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

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

 

Code

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

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

Code

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