Excel номер строки непустой ячейки

Как вернуть номер строки первой или последней непустой ячейки на листе?

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

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


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

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

Вернуть номер строки первой непустой ячейки:

Пожалуйста, введите эту формулу: =ROW(INDEX(A2:A20,MATCH(TRUE,INDEX((A2:A20<>0),0),0))) в пустую ячейку, где вы хотите получить номер строки, а затем нажмите Enter key, а номер строки первой непустой ячейки был отображен, как показано на следующем снимке экрана:

Вернуть номер строки последней непустой ячейки:

Чтобы получить номер строки последней непустой ячейки, примените эту формулу:

Введите формулу: = СУММПРОИЗВ (МАКС ((A2: A20 <> «») * СТРОКА (A2: A20))) в пустую ячейку, чтобы найти рассчитанный результат, а затем нажмите Enter ключ, чтобы вернуть правильный результат, см. снимок экрана:

Внимание: В приведенных выше формулах A2: A20 — это диапазон ячеек, который вы хотите использовать.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (4)


Оценок пока нет. Оцените первым!

Содержание

  1. Найти первое непустое значение в строке
  2. индекс соответствия возвращает 0 для пустой ячейки, хотите, чтобы это было «-«
  3. 3 ответа
  4. ИНДЕКС (функция ИНДЕКС)
  5. Форма массива
  6. Описание
  7. Синтаксис
  8. Замечания
  9. Примеры
  10. Пример 1
  11. Пример 2
  12. Справочная форма
  13. Описание
  14. Синтаксис
  15. Замечания
  16. Примеры
  17. Excel индекс возвращает 0 вместо пустой строки

Найти первое непустое значение в строке

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

Рис. 1. Формула находит первую непустую ячейку в каждой строке и возвращает ее номер в массиве

Скачать заметку в формате Word или pdf, примеры в формате Excel

Решение: формула в А2: =ПОИСКПОЗ(1;ИНДЕКС(1-ЕПУСТО(C2:K2);1;0);0). Хотя эта формула имеет дело с массивом ячеек, она в конечном счете возвращает одно значение, так что использовать при вводе нажатие Ctrl+Shift+Enter не требуется (о формулах массива см. Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel).

Рассмотрим работу формулы подробнее. Функция ЕПУСТО возвращает ИСТИНА, если ячейка является пустой, и ЛОЖЬ, если ячейка – не пустая. Посмотрите на строку данных в С2:К2. ЕПУСТО(С2:К2) возвратит массив: <ИСТИНА;ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА>.

Обратите внимание, что далее этот массив вычитается из 1. При попытке использовать значения ИСТИНА и ЛОЖЬ в математической формуле, значение ИСТИНА интерпретируется как 1, а значение ЛОЖЬ – как 0. Задавая 1-ЕПУСТО(С2:К2), вы преобразуете массив логических значений ИСТИНА/ЛОЖЬ в числовую последовательность нулей и единиц: <0;0;1;0;0;0;0;0;0>.

Итак, фрагмент формулы 1-ЕПУСТО(С2:К2) возвращает массив <0;0;1;0;0;0;0;0;0>. Это немного странно, так как от такого фрагмента Excel ожидает, что вернется одно значение. Странно, но не смертельно. Функция ИНДЕКС также обычно возвращает одно значение. Но вот, что написано в Справке Excel: Если указать в качестве аргумента номер_строки или номер_столбца значение 0 (ноль), функция ИНДЕКС возвратит массив значений для целого столбца или целой строки соответственно. Чтобы использовать значения, возвращенные как массив, введите функцию ИНДЕКС как формулу массива в горизонтальный диапазон ячеек для строки и в вертикальный — для столбца.

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

Итак, указав в качестве третьего аргумента функции ИНДЕКС(1-ЕПУСТО(C2:K2);1;0) значение ноль, мы получим массив <0;0;1;0;0;0;0;0;0>.

Функция ПОИСКПОЗ выполняет поиск искомого значения в одномерном массиве и возвращает относительную позицию первого найденного совпадения. Формула =ПОИСКПОЗ(1,МАССИВ,0) просит Excel найти номер ячейки в МАССИВЕ, которая содержит первую встретившуюся единицу. Функция ПОИСКПОЗ определяет в каком столбце содержится первая непустая ячейка. Когда вы просите ПОИСКПОЗ найти первую 1 в массиве <0;0;1;0;0;0;0;0;0>, она возвращает 3.

Итак =ПОИСКПОЗ(1;ИНДЕКС(1-ЕПУСТО(C2:K2);1;0);0) превращается в =ПОИСКПОЗ(1;<0;0;1;0;0;0;0;0;0>;0) и возвращает результат 3.

В этот момент, вы знаете, что третий столбец строки С2:К2 содержит первое непустое значение. Отсюда довольно просто, используя функцию ИНДЕКС, узнать само это первое непустое значение: =ИНДЕКС(МАССИВ;1;3) или =ИНДЕКС(C2:K2;1;ПОИСКПОЗ(1;ИНДЕКС(1-ЕПУСТО(C2:K2);1;0);0)).

Рис. 2. Формула находит первую непустую ячейку в каждой строке и возвращает значение этой ячейки

Дополнительные сведения: если все ячейки пустые, то формула возвращает ошибку #Н/Д.

Альтернативные стратегии: когда вы из единицы вычитаете значение ЕПУСТО, вы преобразуете логические значения ИСТИНА/ЛОЖЬ в числовые 1/0. Вы могли бы пропустить этот шаг, но тогда вам придется искать ЛОЖЬ в качестве первого аргумента функция ПОИСКПОЗ: =ИНДЕКС(C2:K2;1;ПОИСКПОЗ(ЛОЖЬ;ИНДЕКС(ЕПУСТО(C2:K2);1;0);0)).

Источник

индекс соответствия возвращает 0 для пустой ячейки, хотите, чтобы это было «-«

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

Я могу получить сообщение об ошибке — , но также хочу, чтобы пустая ячейка возвращала — .

Прямо сейчас пустые ячейки возвращаются 0 .

Пустые ячейки появляются в разделе $C$6:$DD$50 , если это поможет.

3 ответа

Это преобразовало бы 0 (Пустое значение) в пустую строку.

Достигнет ли ваша цель добавление условия ISBLANK?

Ваша формула возвращает 0, это означает, что совпадение найдено, но значение в соответствующей ячейке пустое или 0. Если формула не находит ни одной подходящей ячейки, IFError с этим справится и вернет «-» в этом случае.

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

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

1) Если ячейки формулы имеют общее форматирование, попробуйте это .

2) Если ячейки формулы имеют форматирование валюты, попробуйте это .

$ # ## 0,00 _) ; ( $ # , ## 0,00 ) ;

3) Если ячейки формулы имеют формат даты, попробуйте это .

Если вы хотите показать «-» вместо пустых в ячейках формулы с нулями, измените пользовательское форматирование, как показано ниже .

1) 0; -0; -; @

2) $ #, ## 0,00 _); ($ #, ## 0,00); —

Источник

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

Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона.

Функцию ИНДЕКС можно использовать двумя способами:

Если вы хотите возвращать значение указанной ячейки или массива ячеек, см. раздел Форма массива.

Если требуется возвращать ссылку на указанные ячейки, см. раздел Ссылочная форма.

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

Описание

Возвращает значение элемента в таблице или массиве, выбранное по индексам номеров строк и столбцов.

Если первый аргумент функции ИНДЕКС является константной массива, используйте форму массива.

Синтаксис

ИНДЕКС(массив; номер_строки; [номер_столбца])

Форма массива функции INDEX имеет следующие аргументы:

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

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

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

Номер_строки Обязательный, если column_num отсутствует. Выбирает строку в массиве, из которой требуется возвратить значение. Если номер_строки опущен, требуется номер_столбца.

Номер_столбца — необязательный аргумент. Выбирает столбец в массиве, из которого требуется возвратить значение. Если номер_столбца опущен, требуется номер_строки.

Замечания

Если используются аргументы номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении номеров_строки и номера_столбца.

row_num и column_num должны указывать на ячейку в массиве; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!».

Если задать для row_num или column_num значение 0 (ноль), ИНДЕКС возвращает массив значений для всего столбца или строки соответственно. Чтобы использовать значения, возвращаемые в виде массива, введите функцию ИНДЕКС как формулу массива.

Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав выходной диапазон, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.

Примеры

Пример 1

В этих примерах функция ИНДЕКС используется для поиска значения ячейки, находящейся на пересечении заданных строки и столбца.

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

Значение ячейки на пересечении второй строки и второго столбца в диапазоне A2:B3.

Значение ячейки на пересечении второй строки и первого столбца в диапазоне A2:B3.

Пример 2

В этом примере функция ИНДЕКС используется в формуле массива для поиска значений двух заданных ячеек в массиве с диапазоном 2 x 2.

Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав две пустые ячейки, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.

Значение ячейки на пересечении первой строки и второго столбца в массиве. Массив содержит значения 1 и 2 в первой строке и значения 3 и 4 во второй строке.

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

Справочная форма

Описание

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

Синтаксис

ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])

Справочная форма функции ИНДЕКС имеет следующие аргументы:

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

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

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

Номер_строки Обязательный аргумент. Номер строки в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.

Номер_столбца — необязательный аргумент. Номер столбца в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.

area_num Необязательный. Выбирает диапазон в ссылке, из которого возвращается пересечение row_num и column_num. Первая выбранная или введенная область имеет номер 1, вторая — 2 и так далее. Если номер_области опущен, ИНДЕКС использует область 1. Перечисленные здесь области должны располагаться на одном листе. Если вы укажете области, которые не находятся на одном листе друг с другом, это вызовет ошибку #ЗНАЧ! ошибку «#ВЫЧИС!». Если вам нужно использовать диапазоны, расположенные на разных листах друг от друга, рекомендуется использовать форму массива функции ИНДЕКС, а для вычисления диапазона, из которого состоит массив, использовать другую функцию. Например, вы можете использовать функцию ВЫБОР, чтобы вычислить, какой диапазон будет использоваться.

Например, если ссылка описывает ячейки (A1:B4,D1:E4,G1:H4), номер_области 1 – это диапазон A1:B4, номер_области 2 – это диапазон D1:E4, а номер_области 3 – диапазон G1:H4.

Замечания

После того, как ссылка и area_num выбрали конкретный диапазон, row_num и column_num выбирают конкретную ячейку: row_num 1 — это первая строка в диапазоне, column_num 1 — это первый столбец и так далее. Ссылка, возвращаемая INDEX, представляет собой пересечение row_num и column_num.

Если вы установите номер_строки или номер_столбца равным 0 (ноль), ИНДЕКС возвращает ссылку для всего столбца или строки соответственно.

row_num, column_num и area_num должны указывать на ячейку в пределах ссылки; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!». Если номер_строки и номер_столбца опущены, ИНДЕКС возвращает область в ссылке, указанную номером_области.

Результатом вычисления функции ИНДЕКС является ссылка, которая интерпретируется в качестве таковой другими функциями. В зависимости от формулы значение, возвращаемое функцией ИНДЕКС, может использоваться как ссылка или как значение. Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2)) эквивалентна формуле ЯЧЕЙКА(«ширина»;B1). Функция ЯЧЕЙКА использует значение, возвращаемое функцией ИНДЕКС, как ссылку. С другой стороны, такая формула, как 2*ИНДЕКС(A1:B2;1;2), преобразует значение, возвращаемое функцией ИНДЕКС, в число в ячейке B1.

Примеры

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

Источник

Excel индекс возвращает 0 вместо пустой строки

Информация о сайте

Инструменты и настройки

Excel Windows
и
Excel Macintosh

Вопросы и решения

Работа и общение

Работа форума и сайта

Функции листа Excel

= Мир MS Excel/Вывод пустой ячейки вместо нуля — Мир MS Excel

Войти через uID

Войти через uID

Модератор форума: китин, _Boroda_

Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вывод пустой ячейки вместо нуля (Формулы)

Вывод пустой ячейки вместо нуля

julfa Дата: Вторник, 25.02.2014, 12:44 | Сообщение № 1
mechanix85 Дата: Вторник, 25.02.2014, 12:55 | Сообщение № 2
Alex_ST Дата: Вторник, 25.02.2014, 12:59 | Сообщение № 3

Ответить

igrtsk Дата: Вторник, 25.02.2014, 16:03 | Сообщение № 4
Инструктор по применению лосей в кавалерийских частях РККА

Ответить

julfa Дата: Среда, 26.02.2014, 13:32 | Сообщение № 5

Alex_ST, увы, не выводится. Однако сами значения действительно выводятся формулами, не являющимися функционалом Excel.

igrtsk, благодарствую! Может помочь.

Alex_ST, увы, не выводится. Однако сами значения действительно выводятся формулами, не являющимися функционалом Excel.

igrtsk, благодарствую! Может помочь. julfa

Сообщение Alex_ST, увы, не выводится. Однако сами значения действительно выводятся формулами, не являющимися функционалом Excel.

igrtsk, благодарствую! Может помочь. Автор — julfa
Дата добавления — 26.02.2014 в 13:32

Источник

Adblock
detector

Здравствуйте, форумчане! В Excel-e не новичок, пользуюсь давно, но вот перемкнуло: :-[ не получается построить формулу, выбирающую значение из первой непустой ячейки столбца. До сих пор использовал макросы или обходные пути, но чувствую, что должно быть более простое и быстрое решение. Устроит любая форма адресации — ссылка, смещение, номер строки. Заранее спасибо! :)


Позицию первой непустой ячейки можно вернуть так:
=ПОИСКПОЗ(«?»;A1:A10&»»;) — формула массива (текст и числа)
или:
=ПОИСКПОЗ(«*»;A1:A10 ;) — обычная формула (только текст)

Ну и соответственно возврат самих значений:
=ВПР(«?»;A1:A10&»»;1;) — формула массива (текст и числа) — возвращает числа также в виде текста.
и
=ВПР(«*»;A1:A10;1;) — обычная формула (только текст)

Webmoney: E350157549801 Z116603216205 R268084006579


Не «массивная» формула для поиска номера строки:
=СУММПРОИЗВ(ПОИСКПОЗ(«*?*»;(«»&A1:A23);0))

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


Ну раз такое дело, во еще  ;)
=ПРОСМОТР(«»;A1:A10&»»;A2:A11)

Webmoney: E350157549801 Z116603216205 R268084006579



Цитата: Axacal от 27.06.2011, 13:40
Формула =ПРОСМОТР(«»;A1:A10&»»;A2:A11) на столбце со смещанным содержимым (пустые клетки, текст, числа) вообще ведет себя некорректно.

У меня работает, см. вложение.
Заодно добавил ещё свой вариантик формулы, который не предлагали ранее.

Цитата: Axacal от 27.06.2011, 13:40
Что означает приклеивание амперсандом пробела к адресу массива (A1:A10&»»)?

Замена пустых строк строками нулевой длинны.


Еще вариант немассивной:

=ПОИСКПОЗ("*?";ИНДЕКС(""&A1:A23;);)

ЦитироватьКстати, что означает приклеивание амперсандом пробела к адресу массива (A1:A10&»»)?

цифры в массиве становятся текстовыми данными


Хочется добавить:
Сцепляется не с пробелом, а со строкой нулевой длины.
Для корректной работы формулы: =ПРОСМОТР(«»;A1:A10&»»;A2:A11) требуется хотябы одна пустая верхняя ячейка.

Webmoney: E350157549801 Z116603216205 R268084006579


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


пока придумалась такая формула массива:
=СУММ(C4:ИНДЕКС(C4:$C$13;ПОИСКПОЗ(» «;» «&B4:$B$13;0))*D4:ИНДЕКС(D4:$D$13;ПОИСКПОЗ(» «;» «&B4:$B$13;0)))

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


How do i manage to get the row number of the next not empty cell in relation to the current cell?
I do not want to use vba!

 | A | B |
 1 X   3 (expected result)
 2
 3    
 4 X   7 (expected result) 
 5     
 6     
 7     
 8 X

If my formular is located in cell B3, how do i get the row number of the next not empty cell in col A starting from A3?

asked Jan 29, 2016 at 8:38

martin's user avatar

martinmartin

9701 gold badge13 silver badges27 bronze badges

3

Try this formula in B1 and copy down:

=IF(A1="","",MATCH(TRUE,INDEX((A2:A$100<>0),0),0)+ROW(A1)-1)

Change A$100 as you need

answered Jan 29, 2016 at 10:31

Fadi's user avatar

FadiFadi

3,2723 gold badges18 silver badges41 bronze badges

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

Эти макросы используют элемент Cells и свойство Offset в качестве ключевых инструментов навигации.

Элемент Cells принадлежит объекту Range. Это дает нам чрезвычайно удобный способ выбора диапазонов с помощью кода. Для этого требуется только относительные строки и столбцы в качестве параметров. Cells(5,4) приводит к строке 5, столбцу 4 (или ячейке D5). Cells(16,4) приводит к строке 16, столбцу 4 (или ячейке D16).

Помимо передачи жестких чисел в элемент Cells, вы также можете передавать выражения.

Cells(Rows.Count, 1) то же самое, что выбрать последнюю строку и первый столбец в таблице. В Excel 2010 переводит к ячейке A1048576.

Cells(1,Columns.Count) выбирает первую строку и последний столбец в таблице. В Excel 2010 приводит к ячейке XFD1.

Объединение оператора Cells со свойством End позволяет перейти к последней использованной строке или столбцу. Это утверждение эквивалентно переходут к ячейке A1048576 и нажатию Ctrl + Shift + стрелка вверх на клавиатуре. Excel автоматически переходит к последней использованной строке в столбце A.

Cells(Rows.Count, 1).End(xlUp).Select

Переходит к ячейке XFD1 и нажав Ctrl + Shift + стрелка влево на клавиатуре. Это переводит вас к последней использованной колонке в строке 1.

Cells(1, Columns.Count).End(xlToLeft).Select

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

Свойство Offset использует индекс строки и столбца, чтобы указать изменяющуюся базовую точку. Например, оператор выбирает ячейку А2, так как индекс строки в Offset перемещения строки базовой точки на единицу:

Range(«A1»).Offset(1, 0).Select

Этот оператор выбирает ячейку С4, и перемещает базовую точку на три строки и два столбца:

Range(«A1»).Offset(3, 2).Select

Используя все эти понятия вместе, мы можем создать макрос, который выбирает первую пустую строку или столбец. 

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

The3rdStreet

Дата: Вторник, 31.03.2015, 16:25 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Уважаемые знатоки Excel!
Помогите составить формулу для возврата значения первой (верхней) непустой (ненулевой) текстовой ячейки в определённом столбце ячейке итогов, с условием, что ячейки таблицы заполняются не в ручную, а данными из другой таблицы с помощью формулы вида:
еслиошибка(впр(наименование;таблица;номер столбца;);»»).
Уточню, что искомое значение должно быть либо текстом первой ненулевой ячейки, либо «» (пустота) в случае отсутствия данных в столбце. Значение «0» (ноль, как число) не подходит, так как далее данные из ячейки, которой вернётся значение первой ненулевой ячейки столбца, будут источником для другого листа Excel, где должно быть либо конкретное текстовое значение, либо ничего.
Прочитал массу подобных тем на форумах, но все предложенные решения не помогли: в лучшем случае ячейке итогов возвращалось значение первой (верхней) ячейки столбца, если ей присвоено значение, если значение отсутствует, то есть по сути дела имеем значение «», то даже при заполненных следующих (находящихся ниже) ячейках столбца, ячейке итогов возвращается значение «» (пустота).
Подробнее в приложенном файле.
Спасибо!

К сообщению приложен файл:

8641423.xlsx
(13.1 Kb)

Сообщение отредактировал The3rdStreetВторник, 31.03.2015, 16:33

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:26 |
Сообщение № 2

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Извиняюсь, вот файл-пример.

К сообщению приложен файл:

3410905.xlsx
(13.1 Kb)

 

Ответить

Rustem

Дата: Вторник, 31.03.2015, 16:26 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 281


Репутация:

48

±

Замечаний:
0% ±


Excel 2013

Нет файла


WMR: R183220163895

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:29 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Во втором сообщении

 

Ответить

Rustem

Дата: Вторник, 31.03.2015, 16:36 |
Сообщение № 5

Группа: Проверенные

Ранг: Обитатель

Сообщений: 281


Репутация:

48

±

Замечаний:
0% ±


Excel 2013

Оно?

Код

=ИНДЕКС(C2:C6;ПОИСКПОЗ(«»;C2:C6;0)+1)


WMR: R183220163895

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:42 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

#ССЫЛКА!
:(

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:45 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

=ИНДЕКС(C2:C6;ПОИСКПОЗ(«»;C2:C6;0)+1)

работает, если первое (верхнее) значение пустое. Если во второй таблице добавить «Запад» и присвоить показателю 5 любое значение, #ССЫЛКА!

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:47 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:52 |
Сообщение № 9

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

И, кстати, если две или более верхних ячейки пустые, то ячейке итогов возвращается значение «», даже если в столбце ниже есть значение. Не пойдёт.

Сообщение отредактировал The3rdStreetВторник, 31.03.2015, 16:53

 

Ответить

Rustem

Дата: Вторник, 31.03.2015, 16:52 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 281


Репутация:

48

±

Замечаний:
0% ±


Excel 2013

Цитата

Если во второй таблице добавить «Запад» и присвоить показателю 5 любое значение, #ССЫЛКА!

Что должно показать в этом случае?


WMR: R183220163895

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:55 |
Сообщение № 11

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Что должно показать в этом случае?

Значение Показатель 5, которое пользователь введёт во вторую таблицу для Запада, так как Запад будет первым иметь ненулевое значение в столбце 2 таблицы 1.

 

Ответить

The3rdStreet

Дата: Вторник, 31.03.2015, 16:57 |
Сообщение № 12

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Все ячейки столбца Стороны света во второй таблице имеют выпадающий список. Выберете из него Запад и присвойте любое значение в столбец Показатель 5 таблицы 2. Результат ячейки с формулой #ССЫЛКА!, а должно быть то значение, которое вы ввели в Показатель 5 второй таблицы, либо, если Запада во второй таблице нет — значение Север, если нет Севера, то Восток и так далее.

Сообщение отредактировал The3rdStreetВторник, 31.03.2015, 16:59

 

Ответить

_Boroda_

Дата: Вторник, 31.03.2015, 17:22 |
Сообщение № 13

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Так нужно? Формула массива. Вводится одновременным нажатием Контрл Шифт Ентер

Код

=ИНДЕКС(Таблица2[Показатель 5];ПОИСКПОЗ(1=1;ЕЧИСЛО(Таблица2[Показатель 5]);))


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

The3rdStreet

Дата: Среда, 01.04.2015, 00:39 |
Сообщение № 14

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

=ИНДЕКС(Таблица2[Показатель 5];ПОИСКПОЗ(1=1;ЕЧИСЛО(Таблица2[Показатель 5]);))

Не работает. Ищет именно Запад.
Ещё раз суть задачи: есть таблица 1, в которой в первом столбце неизменяемая группа показателей, в нашем случае Запад, Север, Восток, Юг. Второй столбец этой таблицы заполняется автоматом, если в таблице 2 выбран из списка один из неизменяемых показателей таблицы 1 и заполнены столбцы «Показатели», а точнее последний столбец таблицы 2 «Показатель 5» (в упрощённом варианте примера просто Показатель, так как остальные я удалил для упрощения понимания задачи). Таким образом, если в таблице 2 выбран один или несколько из «Запад, Север, Восток, Юг.» и ему присвоено значение «Показатель 5» (Показатель) в таблице 2, то автоматически в таблице 1 напротив этого/этих «Запад, Север, Восток, Юг.» появляется значение этого показателя. Это всё работает. Задача: ячейке «Итог» (последняя в столбце 2 таблицы 1) должно вернуться значение первого (верхнего) ненулевого (непустого) значения столбца 2 таблицы 1. Смотрим пример 2, упрощённый.

К сообщению приложен файл:

7777471.xlsx
(17.9 Kb)

Сообщение отредактировал The3rdStreetСреда, 01.04.2015, 00:41

 

Ответить

_Boroda_

Дата: Среда, 01.04.2015, 00:55 |
Сообщение № 15

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS


Показывайте. Вы, наверное, в формуле не переименовываете название таблицы. Они же все по-разному называются.
чтобы не морочить себе голову, напишите просто так:

Код

=ИНДЕКС(C26:C29;ПОИСКПОЗ(1=1;ЕЧИСЛО(C26:C29);))


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

The3rdStreet

Дата: Суббота, 04.04.2015, 08:43 |
Сообщение № 16

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

=ИНДЕКС(C26:C29;ПОИСКПОЗ(1=1;ЕЧИСЛО(C26:C29);))

Спасибо, разобрался! Вы мне очень помогли! Успехов!

 

Ответить

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