Найдем значение и позицию предпоследней заполненной ячейке в диапазоне ячеек MS EXCEL.
Подобная задача, но для последней ячейки решена в статье
Последняя заполненная ячейка в MS EXCEL
.
Диапазон не содержит пропусков
Пусть столбец с данными находится в диапазоне
А7:А18
.
Как видно из рисунка, между значениями нет пустых ячеек; кроме того, не весь диапазон заполнен значениями.
В нашем случае в столбце нет пустых ячеек между значениями, поэтому решение элементарно: формула
=СЧЁТЗ(A7:A18)-1
вернет позицию предпоследней заполненной ячейке в столбце А7:А18
Формула
=ИНДЕКС(A7:A18;СЧЁТЗ(A7:A18)-1)
вернет значение этой ячейки.
Примечание
:
Файл примера
содержит все приведенные в статье формулы (кнопка внизу статьи).
Диапазон содержит пропуски
Если есть пропуски, то позицию определить сложнее.
Предположим также, что мы не знаем позицию последней заполненной ячейки, а знаем только первую заполненную ячейку столбца (пусть это будет
В7
):
1) определяем позицию последней заполненной ячейки (работает, если в столбце содержатся числа)
=ПОИСКПОЗ(1E+306;B7:B18;1)
см. статью
Последняя заполненная ячейка в MS EXCEL
2) Поместим это значение в ячейку
С10
3) Формула
=СМЕЩ(B7;;;С10-1)
вернет диапазон от первой заполненной ячейки до предпоследней (не обязательно заполненной)4)
Формула массива
=МАКС(ЕСЛИ(ЕПУСТО(СМЕЩ(B7;;;С10-1));»»;СТРОКА(СМЕЩ(B7;;;С10-1))-СТРОКА(B7)+1))
вернет позицию предпоследней заполненной ячейки.Формула работает так: сначала она определяет номера строк (точнее позицию в столбце, начиная с первой заполненной ячейки
В7
) всех непустых ячеек в диапазоне, полученном на шаге 3. Максимальная позиция будет соответствовать предпоследней заполненной ячейке.
Как показано на снимке экрана ниже, как найти и вернуть предпоследнее значение в строке 6 или столбце B диапазона таблицы A1:E16? Эта статья покажет вам метод для достижения этого.
Найти и вернуть предпоследнее значение в определенной строке или столбце с формулами
Найти и вернуть предпоследнее значение в определенной строке или столбце с формулами
Как показано на снимке экрана выше, чтобы найти и вернуть предпоследнее значение в строке 6 или столбце B диапазона таблицы A1: E16, вам могут помочь формулы, представленные в этой статье. Пожалуйста, сделайте следующее.
Найти и вернуть предпоследнее значение в столбце B
1. Выберите пустую ячейку для размещения предпоследнего значения, введите формулу = ИНДЕКС (B: B; НАИБОЛЬШИЙ (ЕСЛИ (B: B <> «»; СТРОКА (B: B)); 2)) в панель формул, а затем нажмите Ctrl + Shift + Enter клавиши одновременно, чтобы получить результат.
Внимание: в формуле B: B — это столбец, в котором вы найдете предпоследнее значение. Вы можете изменить его на любой столбец по своему усмотрению.
Найти и вернуть предпоследнее значение в строке 6
Выберите пустую ячейку, чтобы заполнить предпоследнее значение в строке, затем введите формулу = СМЕЩЕНИЕ ($ A $ 6,0; COUNTA (6: 6) -2,1,1) в панель формул, а затем нажмите Enter ключ для получения результата. Смотрите скриншот:
Внимание: В этой формуле $ A $ 6 — это первая ячейка указанной строки, 6: 6 — это номер строки, в которой вам нужно найти предпоследнее значение,
Статьи по теме:
- Как найти позицию первого / последнего числа в текстовой строке в Excel?
- Как найти первую или последнюю пятницу каждого месяца в Excel?
- Как vlookup найти первое, второе или n-е значение соответствия в Excel?
- Как найти значение с наибольшей частотой в диапазоне в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (10)
Оценок пока нет. Оцените первым!
Поиск ПРЕДпоследней заполненной ячейки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Отображение значений предпоследних ячеек
Автор s1910197, 14.06.2012, 07:16
« назад — далее »
Доброго времени суток! Проблема в следующем… Есть столбец в который ежедневно вводятся цифровые данные в зависимости от дня недели (присутствуют пустые ячейки) Нужна формула для отображения значения только предпоследней не пустой ячейки, по мере заполнения столбца…
Заранеее благодарю
формула массива
=ИНДЕКС(R[-27]C:R[-3]C;НАИБОЛЬШИЙ((R[-27]C:R[-3]C<>»»)*СТРОКА(R[-27]C:R[-3]C);2))
В принципе, то же самое
=ИНДЕКС(A1:A25;НАИБОЛЬШИЙ(ЕЧИСЛО(A1:A25)*СТРОКА(A1:A25);2))
Написал только для того, чтобы предупредить — будете задваивать, а уж тем более, затраивать, темы — забаню.
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Спасибо всем, кто так оперативно откликнулся, но формула не работает… Давайте посмотрим на конкретном примере (см. вложение)
в данном случае нужно так
=ИНДЕКС(L11:L35;НАИБОЛЬШИЙ((L11:L35<>»»)*СТРОКА(L11:L35);2)-10)
формула массива вводится ctrl+shift+enter
В принципе разобрался… Но всё ж благодарю всех откликнувшихся…
Окончательно выглядит так: =ИНДЕКС(L11:L35;НАИБОЛЬШИЙ((L11:L35<>»»)*СТРОКА(L11:L35);2)-6)
из-за скрываемых строк…
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
Отображение значений предпоследних ячеек
5 / 5 / 0 Регистрация: 02.01.2017 Сообщений: 164 |
|
1 |
|
Определить предпоследнюю ячейку с не нулевым значением в определённом диапазоне25.03.2017, 02:11. Показов 4042. Ответов 10
Нужна формула которая определит предпоследнюю ячейку с не нулевым значение в определённом диапазоне ячеек.В файле описание задачи.Заранее благодарен!
0 |
772 / 615 / 294 Регистрация: 05.01.2014 Сообщений: 1,338 |
|
25.03.2017, 07:51 |
2 |
Формула массива. Код =ИНДЕКС(B3:B22;ПОИСКПОЗ(НАИБОЛЬШИЙ(ЕСЛИ(B3:B22<>0;A3:A22);СТРОКА(A1)+1);A3:A22;0)) Можно просто поставить аргумент <2>, вместо строка(A1)+1.
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
25.03.2017, 08:34 |
3 |
Не массивная формула Код =ПРОСМОТР(2;1/(НАИБОЛЬШИЙ((B3:B22<>0)*(A3:A22);2)=A3:A22);B3:B22) В первой формуле можно так же искать 2, а не 9^9
1 |
772 / 615 / 294 Регистрация: 05.01.2014 Сообщений: 1,338 |
|
25.03.2017, 08:46 |
4 |
Еще одна массивная, но короче первой. Код =ИНДЕКС(B3:B22;НАИБОЛЬШИЙ(ЕСЛИ(B3:B22<>0;A3:A22);2))
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
25.03.2017, 08:53 |
5 |
Aleks 1978, название темы должно отражать тему вопроса, например Поиск предпоследнего значения. Добавлено через 3 минуты Код =ИНДЕКС(B3:B22;НАИБОЛЬШИЙ((B3:B22<>0)*(A3:A22);2)) Когда ищем наибольший функция ЕСЛИ() не нужна Добавлено через 2 минуты Код =ВПР(НАИБОЛЬШИЙ((B3:B22<>0)*(A3:A22);2);A3:B22;2;)
1 |
866 / 510 / 162 Регистрация: 30.03.2013 Сообщений: 1,048 |
|
25.03.2017, 13:44 |
6 |
Ещё две формулы без массивного ввода Код =INDEX(B3:B2200;AGGREGATE(14;6;A3:A2200/(B3:B2200<>0);1)) Код =INDEX(B3:B2200;MAX(INDEX(A3:A2200*(B3:B2200<>0);0)))
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
25.03.2017, 14:13 |
7 |
Czeslav, первую проверить не могу, а вторая ищет последнее ненулевое значение.
0 |
5 / 5 / 0 Регистрация: 02.01.2017 Сообщений: 164 |
|
25.03.2017, 15:26 [ТС] |
8 |
Спасибо за формулу определения предпоследнего значения,но была ещё задача узнать и отобразить НОМЕР соответствующий предпоследнему значению.В примере это номер 14.Каким образом можно это делать?
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
25.03.2017, 15:32 |
9 |
Сообщение было отмечено Aleks 1978 как решение РешениеФормула массива и обычная Код =НАИБОЛЬШИЙ((B3:B22<>0)*(A3:A22);2) =ПРОСМОТР(2;1/(НАИБОЛЬШИЙ((B3:B22<>0)*(A3:A22);2)=A3:A22);A3:A22)
2 |
866 / 510 / 162 Регистрация: 30.03.2013 Сообщений: 1,048 |
|
25.03.2017, 23:20 |
10 |
Тогда так Код =INDEX(B3:B22;AGGREGATE(14;6;A3:A22/(B3:B22<>0);2)) Код =INDEX(B1:B22;LARGE(INDEX(ROW($3:$22)*(B3:B22<>0);0);2))
1 |
866 / 510 / 162 Регистрация: 30.03.2013 Сообщений: 1,048 |
|
25.03.2017, 23:37 |
11 |
Прикладываю Ваш пример с моими формулами
1 |