Подсчет уникальных значений в Excel с помощью функции СЧЁТЕСЛИ

В этом руководстве вы узнаете, как подсчитывать уникальные значения в Excel с помощью формул (функции СЧЁТЕСЛИ и СУММПРОИЗВ).

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

Допустим, у нас есть набор данных, как показано ниже:

Для целей этого урока я назову диапазон A2: A10 как ИМЕНА. В дальнейшем мы будем использовать этот именованный диапазон в формулах.

См. Также: Как создавать именованные диапазоны в Excel.

В этом наборе данных есть повторение в диапазоне NAMES. Чтобы получить количество уникальных имен из этого набора данных (A2: A10), мы можем использовать комбинацию функций COUNTIF и SUMPRODUCT, как показано ниже:

= СУММПРОИЗВ (1 / СЧЁТЕСЛИ (ИМЕНА; ИМЕНА))

Как работает эта формула?

Давайте разберемся с этой формулой, чтобы лучше понять:

  • СЧЁТЕСЛИ (ИМЕНА, ИМЕНА)
    • Эта часть формулы возвращает массив. В приведенном выше примере это будет {2; 2; 3; 1; 3; 1; 2; 3; 2}. Числа здесь показывают, сколько раз значение встречается в заданном диапазоне ячеек.
      Например, имя Боб, которое встречается в списке дважды, поэтому для Боба будет возвращено число 2. Точно так же Стив встречается трижды, и поэтому Стиву возвращается 3.
  • 1 / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА)
    • Эта часть формулы вернет массив - {0,5; 0,5; 0,333333333333333; 1; 0,333333333333333; 1; 0,5; 0,333333333333333; 0,5}
      Поскольку мы разделили 1 на массив, он возвращает этот массив.
      Например, первый элемент возвращенного выше массива был 2. Когда 1 делится на 2, возвращается 0,5.
  • СУММПРОИЗВ (1 / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА))
    • SUMPRODUCT просто складывает все эти числа. Обратите внимание, что если Боб встречается в списке дважды, приведенный выше массив возвращает 0,5 везде, где имя Боба появилось в списке. Точно так же, поскольку Стив появляется в списке трижды, массив возвращает 0,33333333 всякий раз, когда появляется имя Стива. Когда мы складываем числа для каждого имени, он всегда будет возвращать 1. А если мы сложим все числа, он вернет общее количество уникальных имен в списке.

Эта формула работает до тех пор, пока в диапазоне не останется пустых ячеек. Но если у вас есть пустые ячейки, он вернет # DIV / 0! ошибка.

Как обращаться с пустыми ячейками?

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

Теперь, если мы используем ту же формулу, которую использовали выше, часть формулы СЧЁТЕСЛИ возвращает массив {2; 0; 3; 1; 3; 1; 2; 3; 1}. Поскольку в ячейке A3 нет текста, ее счетчик возвращается как 0.

И поскольку мы делим 1 на весь этот массив, он возвращает # DIV / 0! ошибка.

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

= СУММПРОИЗВ ((1 / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА & ””)))

Одно изменение, которое мы внесли в эту формулу, - это часть критериев функции СЧЁТЕСЛИ. Мы использовали ИМЕНА & ”” вместо ИМЕНА. Таким образом формула вернет количество пустых ячеек (раньше она возвращала 0 там, где была пустая ячейка).

ПРИМЕЧАНИЕ. Эта формула будет подсчитывать пустые ячейки как уникальное значение и возвращать его в результате.

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

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

= СУММПРОИЗВ ((ИМЕНА ””) / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА & ””))

В этой формуле вместо 1 в качестве числителя мы использовали ИМЕНА «». Это возвращает массив значений ИСТИНА и ЛОЖЬ. Он возвращает FALSE всякий раз, когда есть пустая ячейка. Поскольку в расчетах ИСТИНА равно 1, а ЛОЖЬ равно 0, пустые ячейки не учитываются, поскольку числитель равен 0 (ЛОЖЬ).

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

Как подсчитать уникальные значения в Excel, которые являются текстом

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

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

= СУММПРОИЗВ ((ISTEXT (ИМЕНА) / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА & ””)))

Все, что мы сделали, это использовали формулу ISTEXT (NAMES) в качестве числителя. Он возвращает ИСТИНА, если ячейка содержит текст, и ЛОЖЬ, если нет. Он не будет подсчитывать пустые ячейки, но будет подсчитывать ячейки с пустой строкой («»).

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

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

= СУММПРОИЗВ ((ЕЧИСЛО (ИМЕНА)) / СЧЁТЕСЛИ (ИМЕНА, ИМЕНА & ””))

Здесь мы используем ISNUMBER (NAMES) в качестве числителя. Он возвращает ИСТИНА, если ячейка содержит числовой тип данных, и ЛОЖЬ, если нет. Пустые ячейки не учитываются.

wave wave wave wave wave