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

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

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

Рис. 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)).

Результат: 3

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

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

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

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

Источник.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

kadze

Дата: Понедельник, 27.07.2015, 12:48 |
Сообщение № 1

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

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


Excel 2010

Всем привет.

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

В табличке, что я приложил — шаблон. Хотелось бы настроить таблицу так, что бы при добавлении нового столбцы (партии6 и тп) автоматически происходил перерасчёт. Возможно это без VBA? Я не могу сообразить.

Раньше делал так: ЕСЛИ (ВПР по артикулу <>0; цена; если (ВПР по следующему столбцу … и т.д. Это муторно и неправильно, как мне кажется. Нужно знать количество партий и каждый раз изменять формулу, постоянно делая её все более громоздкой . Может кто-нибудь посоветовать?

PS Дата не так важна, можно и без нее, хотя и хотелось бы

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

1052326.xlsx
(10.0 Kb)

Сообщение отредактировал kadzeПонедельник, 27.07.2015, 12:52

 

Ответить

Nic70y

Дата: Понедельник, 27.07.2015, 12:55 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

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


Excel 2010

Код

=ИНДЕКС(F$4:XFD$4;ПОИСКПОЗ(МАКС(F5:XFD5);F5:XFD5;0))

так надо?
не ошибся я, недочитал.
массивная:

Код

=ИНДЕКС(F5:XFD5;МИН(ЕСЛИ(ЕЧИСЛО(F5:XFD5);СТОЛБЕЦ(F5:XFD5)))-5)

обычная:

Код

=ИНДЕКС(F$4:XFD$4;ПОИСКПОЗ(D5;F5:XFD5;0))

/второй файл/


ЮMoney 41001841029809

Сообщение отредактировал Nic70yПонедельник, 27.07.2015, 13:03

 

Ответить

Nic70y

Дата: Понедельник, 27.07.2015, 13:19 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

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


Excel 2010

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

Код

=ИНДЕКС(5:5;МИН(ЕСЛИ(ЕЧИСЛО((ИНДЕКС(5:5;6):ИНДЕКС(5:5;16384)));СТОЛБЕЦ((ИНДЕКС(5:5;6):ИНДЕКС(5:5;16384))))))

обычная

Код

=ИНДЕКС($4:$4;ПОИСКПОЗ(D5;ИНДЕКС(5:5;6):ИНДЕКС(5:5;16384);0)+5)

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

0-0042.xlsx
(10.7 Kb)


ЮMoney 41001841029809

 

Ответить

kadze

Дата: Понедельник, 27.07.2015, 13:57 |
Сообщение № 4

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

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


Excel 2010

Nic70y, спасибо, вроде работает, но если попытаться посмотреть формулу — сразу предупреждение о цикличности и результат обнуляется. { — это для работы с массивами?

 

Ответить

Nic70y

Дата: Понедельник, 27.07.2015, 14:00 |
Сообщение № 5

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

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


Excel 2010

это для работы с массивами?

нет, этого из-за того, что формула ссылается на свою же строку. когда введете ее как массивную, то все ок.
+ можно подсократить кол-во столбцов — я написал по максимуму.


ЮMoney 41001841029809

 

Ответить

kadze

Дата: Понедельник, 27.07.2015, 14:40 |
Сообщение № 6

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

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


Excel 2010

Пытаюсь применить формулы, не получается — ячейка обнуляется.

Код

=ИНДЕКС(7:7;МИН(ЕСЛИ(ЕЧИСЛО((ИНДЕКС(7:7;6):ИНДЕКС(7:7;16384)));СТОЛБЕЦ((ИНДЕКС(7:7;6):ИНДЕКС(7:7;16384))))))

Что бы я мог применить, в массиве 7 ой строки, мы ИНДЕКСом ищем строку с минимальным индексом среди всех ячеек в которых есть число, верно? А со столбцом что, не могу разобрать.
[moder]Формулы нужно оформлять тегами!
Поправила за Вас.[/moder]

Сообщение отредактировал ManyashaПонедельник, 27.07.2015, 15:24

 

Ответить

Nic70y

Дата: Понедельник, 27.07.2015, 14:46 |
Сообщение № 7

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

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


Excel 2010

вы не забыли об этом?
{формула массива вводится одновременным нажатием Ctrl, Shift и Enter}


ЮMoney 41001841029809

 

Ответить

kadze

Дата: Понедельник, 27.07.2015, 14:58 |
Сообщение № 8

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

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


Excel 2010

не забыл, просто не знал :) Спасибо, получилось применить, правда без понимания что я наделал. Пытался «пересобрать» формулу сам, честно говоря, не получилось.

 

Ответить

gling

Дата: Понедельник, 27.07.2015, 22:08 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 2449


Репутация:

652

±

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


2010

Еще варианты массивных формул

Код

=ИНДЕКС($F5:$J5;ПОИСКПОЗ(1=1;$F5:$J5>0;0))

Для дат

Код

=ИНДЕКС($F$4:$J$4;ПОИСКПОЗ(1=1;$F5:$J5>0;0))


ЯД-41001506838083

Сообщение отредактировал glingПонедельник, 27.07.2015, 22:09

 

Ответить

_Boroda_

Дата: Понедельник, 27.07.2015, 23:47 |
Сообщение № 10

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Насколько я понял, нужно предусмотреть вставку неограниченного (в разумных пределах) количества столбцов на место столбца F со смещением всех данных вправо, да?
Тогда немассивные формулы
Число

Код

=ИНДЕКС(ИНДЕКС(E5:G5;2):K5;ИНДЕКС(ПОИСКПОЗ(0=0;ИНДЕКС(E5:G5;2):K5>0;);))

Дата

Код

=ИНДЕКС(E$4:K$4;ПОИСКПОЗ(D5;ИНДЕКС(E5:G5;2):K5;)+1)

Число можно массивной


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

 

Ответить

Функция ЕПУСТО в Excel используется для наличия текстовых, числовых, логических и прочих типов данных в указанной ячейке и возвращает логическое значение ИСТИНА, если ячейка является пустой. Если в указанной ячейке содержатся какие-либо данные, результатом выполнения функции ЕПУСТО будет логическое значение ЛОЖЬ.

Примеры использования функции ЕПУСТО в Excel

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

Исходные данные:

Пример 1.

Выделим ячейки C3:C18 и запишем следующую формулу:

Формула ЕСЛИ выполняет проверку возвращаемого результата функции ЕПУСТО для диапазона ячеек B3:B18 и возвращает один из вариантов («На пересдачу» или «Сдал»). Результат выполнения функции:

ЕПУСТО.

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

  1. Выделите диапазон ячеек C3:C18 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
  2. Условное форматирование.

  3. В появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулы для определения форматируемых ячеек» и введите следующую формулу:
  4. Использовать формулы.

  5. Нажмите на кнопку «Формат» (как на образцу), потом укажите в окне «Формат ячеек» красный цвет заливки и нажмите ОК на всех открытых окнах:
  6. Формат ячеек.

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



Почему нужно использовать функцию ЕПУСТО при проверке пустых ячеек

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

=ЕСЛИ(ИЛИ(B3=»»;B3=2);»На пересдачу»;»Сдал»)

Но не всегда! Все зависит от значений, которые могут содержать ячейки. Обратите внимание на то как по-разному себя ведут двойные кавычки, и функция ЕПУСТО если у нас в ячейках находятся одни и те же специфические значения:

специфические значения.

Как видно на рисунке в ячейке находится символ одинарной кавычки. Первая формула (с двойными кавычками вместо функции) ее не видит. Более того в самой ячейке A1 одинарная кавычке не отображается так как данный спецсимвол в Excel предназначенный для отображения значений в текстовом формате. Это удобно, например, когда нам нужно отобразить саму формулу, а не результат ее вычисления как сделано в ячейках D1 и D2. Достаточно лишь перед формулой ввести одинарную кавычку и теперь отображается сама формула, а не возвращаемый ее результат. Но функция ЕПУСТО видит, что в действительности ячейка А1 не является пустой!

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

Пример 2. В таблице Excel записаны некоторые данные. Определить, все ли поля заполнены, или есть как минимум одно поле, которое является пустым.

Исходная таблица данных:

Пример 2.

Чтобы определить наличие пустых ячеек используем следующую формулу массива (CTRL+SHIFT+Enter):

Функция СУММ используется для определения суммы величин, возвращаемых функцией —ЕПУСТО для каждой ячейки из диапазона B3:B17 (числовых значений, поскольку используется двойное отрицание). Если запись СУММ(—ЕПУСТО(B3:B17) возвращает любое значение >0, функция ЕСЛИ вернет значение ИСТИНА.

Результат вычислений:

Результат вычислений.

То есть, в диапазоне B3:B17 есть одна или несколько пустых ячеек.

Примечание: в указанной выше формуле были использованы символы «—». Данный вид записи называется двойным отрицанием. В данном случае двойное отрицание необходимо для явного преобразования данных логического типа к числовому. Некоторые функции Excel не выполняют автоматического преобразования данных, поэтому механизм преобразования типов приходится запускать вручную. Наиболее распространенными вариантами преобразования текстовых или логических значений к числовому типу является умножение на 1 или добавление 0 (например, =ИСТИНА+0 вернет число 1, или =«23»*1 вернет число 23. Однако использование записи типа =—ИСТИНА ускоряет работу функций (по некоторым оценкам прирост производительности составляет до 15%, что имеет значение при обработке больших объемов данных).

Как посчитать количество пустых ячеек в Excel

Пример 3. Рассчитать средний возраст работников офиса. Если в таблице заполнены не все поля, вывести соответствующее сообщение и не выполнять расчет.

Таблица данных:

Пример 3.

Формула для расчета (формула массива):

Функция ЕСЛИ выполняет проверку диапазона на наличие пустых ячеек (выражение СУММ(—ЕПУСТО(B3:B12))). Если СУММ вернула значение >0, будет выведено сообщение, содержащее количество незаполненных данными ячеек (СЧИТАТЬПУСТОТЫ) и строку «поля не заполнены», которые склеены знаком «&» (операция конкатенации).

Результат вычислений:

СЧИТАТЬПУСТОТЫ.

Особенности использования функции ЕПУСТО в Excel

Функция ЕПУСТО в Excel относится к числу логических функций (выполняющих проверку какого-либо условия, например, ЕСЛИ, ЕССЫЛКА, ЕЧИСЛО и др., и возвращающих результаты в виде данных логического типа: ИСТИНА, ЛОЖЬ). Синтаксическая запись функции:

=ЕПУСТО(значение)

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

Примечания:

  1. Если в качестве аргумента функции было явно передано какое-либо значение (например, =ЕПУСТО(ИСТИНА), =ЕПУСТО(«текст»), =ЕПУСТО(12)), результат ее выполнения – значение ЛОЖЬ.
  2. Если требуется, чтобы функция возвращала значение ИСТИНА, если ячейка не является пустой, ее можно использовать совместно с функцией НЕ. Например, =НЕ(ЕПУСТО(A1)) вернет ИСТИНА, если A1 не является пустой.
  3. Запись типа =ЕПУСТО(АДРЕС(x;y)) всегда будет возвращать значение ложь, поскольку функция АДРЕС(x;y) возвращает ссылку на ячейку, то есть непустое значение.
  4. Функция возвращает значение ЛОЖЬ даже в тех случаях, когда в переданной в качестве аргумента ячейке содержится ошибка или ссылка на ячейку. Это суждение справедливо и для случаев, когда в результате выполнения какой-либо функции в ячейку была выведена пустая строка. Например, в ячейку A1 была введена формула =ЕСЛИ(2>1;””;ЛОЖЬ), которая вернет пустую строку «». В этом случае функция =ЕПУСТО(A1) вернет значение ЛОЖЬ.
  5. Если требуется проверить сразу несколько ячеек, можно использовать функцию в качестве формулы массива (выделить требуемое количество пустых ячеек, ввести формулу «=ЕПУСТО(» и в качестве аргумента передать диапазон исследуемых ячеек, для выполнения использовать комбинацию клавиш Ctrl+Shift+Enter)

Скачать примеры функции ЕПУСТО в Excel

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

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

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

Получить первое непустое значение в столбце или строке, игнорируя ошибки
Получить первое непустое значение в столбце или строке, включая ошибки


Получить первое непустое значение в столбце или строке, игнорируя ошибки

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

Общий синтаксис

=INDEX(range,MATCH(TRUE,INDEX((range<>0),0),0))

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

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

= ИНДЕКС (B4: B15, ПОИСКПОЗ (ИСТИНА; ИНДЕКС ((B4: B15<> 0), 0), 0))

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

Пояснение формулы

=INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0))

  • ИНДЕКС ((B4: B15 <> 0), 0): Фрагмент оценивает каждое значение в диапазоне B4: B15. Если ячейка пуста, она вернет FLASE; Если ячейка содержит ошибку, сниппет сам вернет ошибку; И если ячейка содержит число или текст, будет возвращено ИСТИНА. Поскольку row_num аргумент этой формулы ИНДЕКС: 0, поэтому фрагмент вернет массив значений для всего столбца следующим образом: {ЛОЖЬ; # ССЫЛКА!; ИСТИНА; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА; ИСТИНА; ЛОЖЬ; ИСТИНА}.
  • МАТЧ (ИСТИНА;ИНДЕКС ((B4: B15 <> 0), 0), 0) = МАТЧ (ИСТИНА;{ЛОЖЬ; # ССЫЛКА!; ИСТИНА; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА; ИСТИНА; ЛОЖЬ; ИСТИНА}, 0): Наблюдения и советы этой статьи мы подготовили на основании опыта команды match_type 0 заставляет функцию ПОИСКПОЗ возвращать позицию первого точного ИСТИНА в массиве. Итак, функция вернет 3.
  • ИНДЕКС (B4: B15,МАТЧ (ИСТИНА;ИНДЕКС ((B4: B15 <> 0), 0), 0)) = ИНДЕКС (B4: B15;3): Затем функция ИНДЕКС возвращает 3rd значение в диапазоне B4: B15, Которая является extendoffice.

Получить первое непустое значение в столбце или строке, включая ошибки

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

Общий синтаксис

=INDEX(range,MATCH(FALSE,ISBLANK(range),0))

√ Примечание. Это формула массива, требующая ввода с помощью Ctrl + Shift + Enter.

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

Чтобы получить первое непустое значение в списке, включая ошибки, скопируйте или введите формулу ниже в ячейку E7 и нажмите Ctrl + Shift + Enter чтобы получить результат:

= ИНДЕКС (B4: B15, ПОИСКПОЗ (ЛОЖЬ; ЕСТЬ ПУСТО (B4: B15), 0))

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

Пояснение формулы

=INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0))

  • ISBLANK (B4: B15): Функция ISBLANK проверяет, находятся ли ячейки в диапазоне B4: B15 пустые или нет. Если да, будет возвращено ИСТИНА; В противном случае будет возвращено ЛОЖЬ. Итак, функция сгенерирует такой массив: {ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ}.
  • МАТЧ (ЛОЖЬ;ISBLANK (B4: B15), 0) = МАТЧ (ЛОЖЬ;{ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ}, 0): Наблюдения и советы этой статьи мы подготовили на основании опыта команды match_type 0 заставляет функцию ПОИСКПОЗ возвращать позицию первого точного НЕПРАВДА в массиве. Итак, функция вернет 2.
  • ИНДЕКС (B4: B15,МАТЧ (ЛОЖЬ;ISBLANK (B4: B15), 0)) = ИНДЕКС (B4: B15;2): Затем функция ИНДЕКС возвращает 2ое значение в диапазоне B4: B15, Которая является #REF!.

Связанные функции

Функция ИНДЕКС в Excel

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

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

Функция ПОИСКПОЗ в Excel ищет определенное значение в диапазоне ячеек и возвращает относительное положение значения.


Связанные формулы

Точное совпадение с ИНДЕКСОМ и ПОИСКПОЗ

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

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

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

Найдите первое частичное совпадение с помощью подстановочных знаков

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

Найдите первое частичное совпадение

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


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

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

19 / 19 / 0

Регистрация: 30.09.2011

Сообщений: 283

1

Поиск первой НЕ пустой ячейки

02.02.2012, 10:32. Показов 18561. Ответов 8


Студворк — интернет-сервис помощи студентам

Привет всем!

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

есть табличка из двух столбцов (в приложении она продублирована 2 раза для примера отображения результатов при разных значениях ячейки A1 (F1.. K1))

и собственно вопрос:

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

Рисунок прилагаю

с Уважением

Миниатюры

Поиск первой НЕ пустой ячейки
 



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

02.02.2012, 11:00

2

Пробуйте



2



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

02.02.2012, 11:03

3

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

Код

=ИНДЕКС(B3:B20;ПОИСКПОЗ(A1;A3:A20)+1)

Если смещение бывает другое, то надо понимать на сколько строк оно может быть и может ли быть смещение вверх?



0



19 / 19 / 0

Регистрация: 30.09.2011

Сообщений: 283

02.02.2012, 11:49

 [ТС]

4

Цитата
Сообщение от Казанский
Посмотреть сообщение

Пробуйте

спасибо! Ваш вариант вписывается как раз

только вопрос, а что значит искомое значение «*»

Цитата
Сообщение от Serge 007
Посмотреть сообщение

Если смещение бывает другое, то надо понимать на сколько строк оно может быть и может ли быть смещение вверх?

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



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

02.02.2012, 12:25

5

Цитата
Сообщение от caustic
Посмотреть сообщение

что значит искомое значение «*»

Любой текст, т.е. непустая ячейка.



1



0 / 0 / 0

Регистрация: 15.02.2013

Сообщений: 2

15.02.2013, 13:12

6

Если в столбце В не текст, а даты либо цифры? Какой символ искать?



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,928

15.02.2013, 16:04

7

изменить формулу например на такую

Код

=ИНДЕКС(СМЕЩ(B2:B9999;ПОИСКПОЗ(A1;A3:A9999;););ПОИСКПОЗ(1;--ЕЧИСЛО(СМЕЩ(B2:B9999;ПОИСКПОЗ(A1;A3:A9999;);));0))



0



0 / 0 / 0

Регистрация: 15.02.2013

Сообщений: 2

15.02.2013, 17:15

8

Цитата
Сообщение от Vlad999
Посмотреть сообщение

изменить формулу например на такую

Код

=ИНДЕКС(СМЕЩ(B2:B9999;ПОИСКПОЗ(A1;A3:A9999;););ПОИСКПОЗ(1;--ЕЧИСЛО(СМЕЩ(B2:B9999;ПОИСКПОЗ(A1;A3:A9999;);));0))

#Н/Д



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,928

15.02.2013, 17:19

9

УПС забыл написать данная формула вводится как формула массива. ctrl+shift+enter



1



Skip to content

Как посчитать количество пустых и непустых ячеек в Excel

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

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

  • Стандартный инструмент «Выделить группу ячеек»
  • Может пригодиться функция поиска и замены
  • Эффективное использование функции СЧИТАТЬПУСТОТЫ
  • Применяем СЧЁТЕСЛИ и СЧЁТЕСЛИМН
  • Подсчёт пустых ячеек с условием
  • Используем число пустых ячеек как условие в формуле
  • Как сосчитать пустые строки
  • Формула для подсчёта действительно путых ячеек

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

Инструмент «Выделить группу ячеек»

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

На ленте меню Главная выбираем Найти и выделить, затем — Bыделить группу ячеек. В открывшемся окне активируем кнопку Пустые ячейки и жмем ОК.

инструмент выделить группу ячеек

В результате все клетки без значений будут выделены.

Вы можете использовать «Цвет заливки» на вкладке «Главная», чтобы изменить цвет фона пустых ячеек и зафиксировать выделение.
Обратите внимание, что этот инструмент не обнаруживает псевдо-пустые позиции — с формулами, возвращающими пустое значение. То есть, они не будут выделены.

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

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

Функция поиска и замены.

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

  1. Выберите диапазон, в котором нужно считать пустоты. Если вы не укажете диапазон, то поиск будет идти по всей таблице. Затем нажмите на ленте «Найти и выделить» или же используйте комбинацию клавиш Ctrl + F.
  2. Оставьте поле Найти незаполненным.
  3. Нажмите Параметры и установите флажок Ячейка целиком.
  4. Выберите формулы или значения из раскрывающегося списка Область поиска:
    • Если вы выберете Поиск значений, инструмент будет считать все пустые ячейки, включая псевдо-пустые со значениями типа «».
    • Выберите параметр «Формулы» для поиска и подсчёта абсолютно пустых позиций. «Пустые» формулы учтены не будут.
  5. Нажмите кнопку «Найти все», чтобы увидеть результаты. Вы увидите количество найденного в нижнем левом углу.

использование поиска и замены для подсчета пустых позиций

При необходимости, используя вкладку Заменить, вы можете заполнить всех их нулями или каким-либо текстом («Нет данных», к примеру).

Как и в предыдущем методе, вы можете найти и сосчитать все непустые ячейки в заранее выделенном диапазоне. Просто в поле Найти введите * (звездочка). Все позиции, в которых есть хоть какие-то данные, будет выделены. Но значения («») будут проигнорированы.

Формулы для подсчета пустых ячеек.

Функция СЧИТАТЬПУСТОТЫ.

Функция СЧИТАТЬПУСТОТЫ предназначена для подсчета пустых ячеек в указанном диапазоне. Она относится к категории статистических функций и доступна во всех версиях Excel начиная с 2007.

Синтаксис этой функции очень прост и требует только одного аргумента:

СЧИТАТЬПУСТОТЫ(диапазон)

Где диапазон — это область вашего рабочего листа, в которой должны подсчитываться позиции без данных.

Вот пример формулы в самой простейшей форме:

=СЧИТАТЬПУСТОТЫ(C2:C17)

как использовать СЧИТАТЬПУСТОТЫ

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

  1. Содержимое в виде текста, чисел, дат, логических значений или ошибок, не учитывается.
  2. Нули также не учитываются, даже если скрыты форматированием.
  3. Формулы, возвращающие пустые значения («»), — учитываются.

Глядя на рисунок выше, обратите внимание, что A7, содержащая формулу, возвращающую пустое значение, подсчитывается по-разному:

  • СЧИТАТЬПУСТОТЫ считает её пустой, потому что она визуально кажется таковой.
  • СЧЁТЗ  обрабатывает её как имеющую содержимое, потому что она фактически содержит формулу.

Это может показаться немного нелогичным, но Excel действительно так работает :)

Как вы видите на рисунке выше, для подсчета непустых ячеек отлично подходит функция СЧЁТЗ:

=СЧЁТЗ(A2:A8)

СЧИТАТЬПУСТОТЫ — наиболее удобный, но не единственный способ подсчета пустых ячеек в Excel. Следующие примеры демонстрируют несколько других методов и объясняют, какую формулу лучше всего использовать в каждом сценарии.

Применяем СЧЁТЕСЛИ или СЧЁТЕСЛИМН.

Другим способом подсчета пустых ячеек в Excel является использование функций  СЧЁТЕСЛИ или СЧЁТЕСЛИМН  с пустой строкой («») в качестве критериев.

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

=СЧЁТЕСЛИ(B2:D2; «»)

или

=СЧЁТЕСЛИМН(B2:D2; «»)

Возвращаясь к ранее сказанному, вы можете также использовать выражение

=СЧИТАТЬПУСТОТЫ(B2:D2)

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

СЧЁТЕСЛИ или СЧЁТЕСЛИМН

Подсчёт пустых ячеек с условием.

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

Например, чтобы определить количество позиций, в которых записано «Бананы» в столбце A и ничего не заполнено в столбце C, используйте эту формулу:

=СЧЁТЕСЛИМН(A2:A9; «Бананы» ; C2:C9; «»)

Или введите условие в предопределенную позицию, скажем F1, что будет гораздо правильнее:

=СЧЁТЕСЛИМН(A2:A9; F1; C2:C9; «»)

Количество пустых ячеек как условие.

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

Хотя в Excel нет встроенной функции ЕСЛИСЧИТАТЬПУСТОТЫ, вы можете легко создать свою собственную формулу, используя вместе функции ЕСЛИ и СЧИТАТЬПУСТОТЫ. Вот как:

  • Создаем условие, что количество пробелов равно нулю, и помещаем это выражение в логический тест ЕСЛИ:
    СЧИТАТЬПУСТОТЫ(B2:D2)=0
  • Если логический результат оценивается как ИСТИНА, выведите «Нет пустых».
  • Если же — ЛОЖЬ, возвращаем «Пустые».

Полная формула принимает такой вид:

=ЕСЛИ(СЧИТАТЬПУСТОТЫ(B2:D2)=0; «Нет пустых»; «Пустые»)

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

Или вы можете создать другой расчет в зависимости от количества незаполненных позиций. Например, если в диапазоне нет пустот (т.е. если СЧИТАТЬПУСТОТЫ возвращает 0), сложите цифры продаж, в противном случае покажите предупреждение:

=ЕСЛИ(СЧИТАТЬПУСТОТЫ(B2:D2)=0; СУММ(B2:D2); «Пустые»)

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

Как подсчитать пустые строки в Excel.

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

Самое простое решение, которое приходит в голову, — это добавить вспомогательный столбец Е и заполнить его формулой СЧИТАТЬПУСТОТЫ, которая находит количество чистых позиций в каждой строке:

= СЧИТАТЬПУСТОТЫ(A2:E2)

А затем используйте функцию СЧЁТЕСЛИ, чтобы узнать, в каком количестве строк все позиции пусты. Поскольку наша исходная таблица содержит 4 столбца (от A до D), мы подсчитываем строки с четырьмя пустыми клетками:

=СЧЁТЕСЛИ(E2:E10;4)

Вместо жесткого указания количества столбцов вы можете использовать функцию ЧИСЛСТОЛБ (COLUMNS в английской версии) для его автоматического вычисления:

=СЧЁТЕСЛИ(E2:E10;ЧИСЛСТОЛБ(A2:D10))

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

=СУММ(—(МУМНОЖ(—(A2:D10<>»»); СТРОКА(ДВССЫЛ(«A1:A»&ЧИСЛСТОЛБ(A2:D10))))=0))

Разберём, как это работает:

  • Сначала вы проверяете весь диапазон на наличие непустых ячеек с помощью выражения типа A2:D10 <> «», а затем приводите возвращаемые логические значения ИСТИНА и ЛОЖЬ к 1 и 0 с помощью двойного отрицания (—). Результатом этой операции является двумерный массив единиц (означают непустые ячейки) и нулей (пустые).
  • При помощи СТРОКА создаётся вертикальный массив числовых ненулевых значений, в котором количество элементов равно количеству столбцов диапазона. В нашем случае диапазон состоит из 4 столбцов (A2:В10), поэтому мы получаем такой массив: {1; 2; 3; 4}
  • Функция МУМНОЖ вычисляет матричное произведение вышеупомянутых массивов и выдает результат вида: {7; 10; 6; 0; 5; 6; 0; 5; 6}. В этом массиве для нас имеет значение только нулевые значения, указывающие на строки, в которых все клетки пусты.
  • Наконец, вы сравниваете каждый элемент полученного выше массива с нулем, приводите ИСТИНА и ЛОЖЬ к 1 и 0, а затем суммируете элементы этого последнего массива: {0; 0; 0; 1; 0; 0; 1; 0; 0}. Помня, что 1 соответствуют пустым строкам, вы получите желаемый результат.

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

{=СУММ(—(СЧЁТЕСЛИ(ДВССЫЛ(«A»&СТРОКА(A2:A10) & «:D»&СТРОКА(A2:A10));»<>»&»»)=0)) }

Здесь вы используете функцию СЧЁТЕСЛИ, чтобы узнать, сколько значений содержится в каждой строке, а ДВССЫЛ «подает» строки в СЧЁТЕСЛИ одну за другой. Результатом этой операции является массив вида {3; 4; 3; 0; 2; 3; 0; 2; 3}. Проверка на 0 преобразует указанный выше массив в {0; 0; 0; 1; 0; 0; 1; 0; 0}, где единицы представляют пустые строки. Вам остается просто сложить эти цифры.

Обратите также внимание, что это формула массива.

формулы посчитать пустые строки

На скриншоте выше вы можете увидеть результат работы этих двух формул.

Также следуем отметить важную особенность работы этих выражений с псевдо-пустыми ячейками. Добавим в C5

=ЕСЛИ(1=1; «»)

Внешне таблица никак не изменится, поскольку эта формула возвращает пустоту. Однако, второй вариант подсчёта обнаружит её присутствие. Ведь если что-то записано, значит, ячейка уже не пустая. По этой причине результат количества пустых строк будет изменён с 2 на 1.

Подсчет действительно пустых ячеек.

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

ЧСТРОК( диапазон ) * ЧИСЛСТОЛБ( диапазон ) — СЧЁТЗ( диапазон )

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

Например, чтобы определить количество абсолютно пустых клеток в диапазоне A2: A8, используйте следующую формулу:

=ЧСТРОК(A2:A8)*ЧИСЛСТОЛБ(A2:A8)-СЧЁТЗ(A2:A8)

На скриншоте ниже показан результат:

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

Вот как можно сосчитать пустые и непустые ячейки в Excel. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Не стесняйтесь делиться любыми другими подсказками, которые могут у вас возникнуть. Будьте счастливы и преуспевайте в Excel!

Также рекомендуем:

Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать основные функции диаграммы Ганта, покажу пошагово, как создать простейшую диаграмму…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы знаете все о маркере заполнения, поскольку вы можете быть удивлены,…
Проверка данных в Excel: как сделать, использовать и убрать Мы рассмотрим, как выполнять проверку данных в Excel: создавать правила проверки для чисел, дат или текстовых значений, создавать списки проверки данных, копировать проверку данных в другие ячейки, находить недопустимые записи, исправлять и удалять проверку данных. При настройке рабочей книги для…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых столбцов в Excel не может быть выполнено простым щелчком мыши. Это…
Как полностью или частично зафиксировать ячейку в формуле При написании формулы Excel знак $ в ссылке на ячейку сбивает с толку многих пользователей. Но объяснение очень простое: это всего лишь способ ее зафиксировать. Знак доллара в данном случае служит только одной цели — он указывает, следует ли изменять ссылку при…
Чем отличается абсолютная, относительная и смешанная адресация Важность ссылки на ячейки Excel трудно переоценить. Ссылка включает в себя адрес, из которого вы хотите получить информацию. При этом используются два основных вида адресации – абсолютная и относительная. Они могут применяться в разных комбинациях и различными способами, что создает…
Относительные и абсолютные ссылки – как создать и изменить В руководстве объясняется, что такое адрес ячейки, как правильно записывать абсолютные и относительные ссылки в Excel, как ссылаться на ячейку на другом листе и многое другое. Ссылка на ячейки Excel, как бы просто она ни казалась, сбивает с толку многих…
6 способов быстро транспонировать таблицу В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу. В этой статье вы найдете несколько способов поменять местами строки…
4 способа быстро убрать перенос строки в ячейках Excel В этом совете вы найдете 4 совета для удаления символа переноса строки из ячеек Excel. Вы также узнаете, как заменять разрывы строк другими символами. Все решения работают с Excel 2019, 2016, 2013 и более ранними версиями. Перенос строки в вашем тексте внутри…

НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функций НАЙТИ и НАЙТИБ в Microsoft Excel.

Описание

Функции НАЙТИ и НАЙТИБ находят вхождение одной текстовой строки в другую и возвращают начальную позицию искомой строки относительно первого знака второй строки.

Важно: 

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

  • Функция НАЙТИ предназначена для языков с однобайтовой кодировкой, а функция НАЙТИБ — для языков с двухбайтовой кодировкой. Заданный на компьютере язык по умолчанию влияет на возвращаемое значение указанным ниже образом.

  • Функция НАЙТИ при подсчете всегда рассматривает каждый знак, как однобайтовый, так и двухбайтовый, как один знак, независимо от выбранного по умолчанию языка.

  • Функция НАЙТИБ при подсчете рассматривает каждый двухбайтовый знак как два знака, если включена поддержка языка с БДЦС и такой язык установлен по умолчанию. В противном случае функция НАЙТИБ рассматривает каждый знак как один знак.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])

НАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])

Аргументы функций НАЙТИ и НАЙТИБ описаны ниже.

  • Искомый_текст    — обязательный аргумент. Текст, который необходимо найти.

  • Просматриваемый_текст    — обязательный аргумент. Текст, в котором нужно найти искомый текст.

  • Начальная_позиция    — необязательный аргумент. Знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер опущен, он полагается равным 1.

Замечания

  • Функции НАЙТИ и НАЙТИБ работают с учетом регистра и не позволяют использовать подстановочные знаки. Если необходимо выполнить поиск без учета регистра или использовать подстановочные знаки, воспользуйтесь функцией ПОИСК или ПОИСКБ.

  • Если в качестве аргумента «искомый_текст» задана пустая строка («»), функция НАЙТИ выводит значение, равное первому знаку в строке поиска (знак с номером, соответствующим аргументу «нач_позиция» или 1).

  • Искомый_текст не может содержать подстановочные знаки.

  • Если find_text не отображаются в within_text, find и FINDB возвращают #VALUE! значение ошибки #ЗНАЧ!.

  • Если start_num не больше нуля, то найти и найтиБ возвращает значение #VALUE! значение ошибки #ЗНАЧ!.

  • Если start_num больше, чем длина within_text, то поиск и НАЙТИБ возвращают #VALUE! значение ошибки #ЗНАЧ!.

  • Аргумент «нач_позиция» можно использовать, чтобы пропустить нужное количество знаков. Предположим, например, что для поиска строки «МДС0093.МесячныеПродажи» используется функция НАЙТИ. Чтобы найти номер первого вхождения «М» в описательную часть текстовой строки, задайте значение аргумента «нач_позиция» равным 8, чтобы поиск в той части текста, которая является серийным номером, не производился. Функция НАЙТИ начинает со знака 8, находит искомый_текст в следующем знаке и возвращает число 9. Функция НАЙТИ всегда возвращает номер знака, считая от левого края текста «просматриваемый_текст», а не от значения аргумента «нач_позиция».

Примеры

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

Данные

Владимир Егоров

Формула

Описание

Результат

=НАЙТИ(«В»;A2)

Позиция первой «В» в ячейке A2

1

=НАЙТИ(«в»;A2)

Позиция первой «в» в ячейке A2

6

=НАЙТИ(«и»;A2;3)

Позиция первой «и» в строке А2, начиная с третьего знака

8

Пример 2

Данные

Керамический изолятор №124-ТД45-87

Медная пружина №12-671-6772

Переменный резистор №116010

Формула

Описание (результат)

Результат

=ПСТР(A2;1;НАЙТИ(» №»;A2;1)-1)

Выделяет текст от позиции 1 до знака «№» в строке («Керамический изолятор»)

Керамический изолятор

=ПСТР(A3;1;НАЙТИ(» №»;A3;1)-1)

Выделяет текст от позиции 1 до знака «№» в ячейке А3 («Медная пружина»)

Медная пружина

=ПСТР(A4;1;НАЙТИ(» №»;A4;1)-1)

Выделяет текст от позиции 1 до знака «№» в ячейке А4 («Переменный резистор»)

Переменный резистор

Нужна дополнительная помощь?

Здравствуйте, форумчане! В 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


Понравилась статья? Поделить с друзьями:
  • Excel поиск не находит строку
  • Excel поиск не находит пробелы
  • Excel поиск начинается с
  • Excel поиск наименьшего значения в столбце
  • Excel поиск наибольшего числа