Выбрать ненулевые значения excel
Задача: требуется формула, которая позволяла найти первое непустое значение в строке, т.е., возвращала бы номер первой непустой ячейки в строке. Предположим, что данные представлены в столбцах С:K (рис. 1).
Рис. 1. Формула находит первую непустую ячейку в каждой строке и возвращает ее номер в массиве
Решение: формула в А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), вы преобразуете массив логических значений ИСТИНА/ЛОЖЬ в числовую последовательность нулей и единиц: .
Итак, фрагмент формулы 1-ЕПУСТО(С2:К2) возвращает массив . Это немного странно, так как от такого фрагмента Excel ожидает, что вернется одно значение. Странно, но не смертельно. Функция ИНДЕКС также обычно возвращает одно значение. Но вот, что написано в Справке Excel: Если указать в качестве аргумента номер_строки или номер_столбца значение 0 (ноль), функция ИНДЕКС возвратит массив значений для целого столбца или целой строки соответственно. Чтобы использовать значения, возвращенные как массив, введите функцию ИНДЕКС как формулу массива в горизонтальный диапазон ячеек для строки и в вертикальный — для столбца.
Если функция ИНДЕКС возвращает массив, ее можно использовать внутри других функций, ожидающих, что аргумент является массивом.
Итак, указав в качестве третьего аргумента функции ИНДЕКС(1-ЕПУСТО(C2:K2);1;0) значение ноль, мы получим массив .
Функция ПОИСКПОЗ выполняет поиск искомого значения в одномерном массиве и возвращает относительную позицию первого найденного совпадения. Формула =ПОИСКПОЗ(1,МАССИВ,0) просит Excel найти номер ячейки в МАССИВЕ, которая содержит первую встретившуюся единицу. Функция ПОИСКПОЗ определяет в каком столбце содержится первая непустая ячейка. Когда вы просите ПОИСКПОЗ найти первую 1 в массиве , она возвращает 3.
Итак =ПОИСКПОЗ(1;ИНДЕКС(1-ЕПУСТО(C2:K2);1;0);0) превращается в =ПОИСКПОЗ(1;;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)).
= Мир MS Excel/Статьи об Excel
Приёмы работы с книгами, листами, диапазонами, ячейками [6] |
Приёмы работы с формулами [13] |
Настройки Excel [3] |
Инструменты Excel [4] |
Интеграция Excel с другими приложениями [4] |
Форматирование [1] |
Выпадающие списки [2] |
Примечания [1] |
Сводные таблицы [1] |
Гиперссылки [1] |
Excel и интернет [1] |
Excel для Windows и Excel для Mac OS [2] |
Исходные данные
Исходными данными может быть любой числовой набор данных, таких как горизонтальный или вертикальный диапазон, двумерный массив или даже не смежные диапазоны или отдельно заполненные ячейки. Для удобства я взял одномерный вертикальный массив А1:А5
Для решения этой задачи можно использовать как дополнительный столбец с промежуточной формулой, так и одну формулу массива
1. Решение с дополнительным столбцом
В В1 напишите формулу
и скопируйте её на диапазон В2:В5. Эта промежуточная формула в дополнительном столбце будет "убирать" из исходных данных нули, заменяя их на пустую строку ""
В С1 напишите формулу
Она и вернёт искомый результат - число 3
Если в диапазоне есть отрицательные числа, то вместо формулы
2. Решение формулой массива
Для решения этой задачи используйте такую формулу массива:
Как это работает: Вот эта часть формулы A1:A5<>0 формирует массив , после чего применяя функцию ЕСЛИ() мы преобразуем массив в следующий: . Так как функция МИН() игнорирует текстовые и логические значения, то в итоге получаем искомое - число 3
Если в диапазоне есть отрицательные числа, то вместо формулы
3. Решение простой формулой
Используйте такую формулу:
Как это работает: С помощью функции СЧЁТЕСЛИ мы подсчитываем количество нулей в диапазоне и прибавив к этому количеству единицу мы возвращаем первое наименьшее число более нуля с помощью функции НАИМЕНЬШИЙ
Для подсчета общего количества ячеек с ненулевыми значениями в Excel здесь мы покажем вам два метода. Пожалуйста, просмотрите для более подробной информации.
Подсчитайте количество ячеек с ненулевыми значениями по формуле
Предположим, у вас есть ряд данных, как показано на скриншоте ниже. Чтобы подсчитать количество ячеек с ненулевыми значениями, сделайте следующее.
1. Выберите пустую ячейку для отображения результата подсчета (здесь я выбираю ячейку H1). Скопируйте и вставьте формулу = СЧЁТЕСЛИ (A1: E8; «<> 0») в Панель формул, а затем нажмите Enter ключ. Смотрите скриншот:
2. Затем подсчитывается общее количество ненулевых значений выбранного диапазона и отображается в ячейке H1.
Заметки:
1. С помощью приведенной выше формулы вы можете подсчитать ненулевые ячейки, включая пустые. Если вы хотите игнорировать как нулевые, так и пустые ячейки, примените эту формулу: =COUNTA(A1:D10)-COUNTIF(A1:D10,"=0") , Затем нажмите Enter ключ для получения результата, см. снимок экрана:
2. С помощью приведенных выше формул вы можете подсчитать общее количество ячеек с ненулевыми значениями в строке, столбце или диапазоне в Excel, изменив ссылки на ячейки в формуле.
Подсчитайте количество ячеек с ненулевыми значениями с помощью Kutools for Excel
Помимо формул, Выбрать определенные ячейки полезности Kutools for Excel может помочь вам быстро подсчитать количество ячеек с ненулевыми значениями в Excel.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Выберите диапазон, в котором вы хотите подсчитать количество ненулевых ячеек. Затем нажмите Kutools > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. Во всплывающем Выбрать определенные ячейки диалоговое окно, выберите Ячейка в Тип выбора раздел укажите Не равно в Конкретный тип раскрывающийся список и введите номер 0 в пустое поле. Наконец нажмите кнопку OK кнопка. Смотрите скриншот:
3. Затем появится диалоговое окно, в котором указано, сколько ячеек с ненулевыми значениями существует в выбранном диапазоне. И он уже напрямую исключил пустые ячейки. Щелкните значок OK кнопки, эти ячейки выбираются немедленно.
Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
В Excel есть несколько ячеек, включая числа, теперь вы хотите найти первое значение, которое не равно нулю, как вы можете быстро обработать его, не проверяя его по очереди?
Найдите первое значение, не равное определенному значению с помощью формулы
Чтобы найти первое значение, не равное определенному значению, вы можете использовать вспомогательный столбец для определения.
1. Выберите ячейку рядом со столбцом, в котором нужно найти значение, и введите эту формулу. = ЕСЛИ (A1 = 0, «Равно», «Не равно») , Нажмите Enter и перетащите маркер заполнения вниз, чтобы заполнить ячейки формулой.
В формуле 0 - это значение, которому вы хотите найти ячейку, не равную, вы можете изменить его по мере необходимости.
Найдите значения, не равные определенному значению с помощью условного форматирования
С помощью функции условного форматирования вы можете быстро выделить ячейки, не равные определенному значению.
1. Выберите используемые ячейки, нажмите Главная > Условное форматирование > Новое правило. Смотрите скриншот:
2. в Новое правило форматирования диалоговое окно, нажмите Форматировать только ячейки, содержащие от Выберите тип правила раздел, выберите Значение ячейки, не равный из раскрывающихся списков в Форматировать только ячейки с раздел, затем введите ноль в текстовое поле.
3. Нажмите Формат, В Формат ячеек диалога под Заполнять выберите один цвет для выделения ячеек.
4. Нажмите OK > OK для закрытия диалогов, а затем ячейки, которые не равны нулю, подсвечиваются заданным цветом фона.
Найдите значения, не равные определенному значению с помощью Kutools for Excel
Если вы хотите выполнить массовое редактирование или указать расположение значений, не равных определенному значению, вы можете использовать Kutools for Excel Автора Select Specific Cells утилита.
После установки Kutools for Excel, сделайте следующее: (Бесплатная загрузка Kutools for Excel прямо сейчас!)
1. Выберите используемые ячейки и щелкните Kutools > Select > Select Specific Cells .
2. В появившемся диалоговом окне отметьте нужный тип выбора, а в Specify type выпадающий список, выберите Does not equal и введите ноль в следующее текстовое поле.
3. Нажмите Ok, появится диалоговое окно, в котором указано количество выбранных ячеек.
4. Нажмите OK, теперь выделены все ячейки, не равные 0, вы можете удалять, редактировать или добавлять к ним цвет по своему усмотрению.
Читайте также: