Подсчет уникальных и отличных значений в Excel с помощью формулы или сводной таблицы

  • Поделись Этим
Michael Brown

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

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

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

  • Уникальный значения - это значения, которые появляются в списке только один раз.
  • Отличия значения - это все различные значения в списке, т.е. уникальные значения плюс 1-е вхождение дублирующих значений.

Следующий снимок экрана демонстрирует разницу:

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

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

    Перед вами обычная задача, которую время от времени приходится решать всем пользователям Excel. У вас есть список данных, и вам нужно узнать количество уникальных значений в этом списке. Как это сделать? Проще, чем вы думаете :) Ниже вы найдете несколько формул для подсчета уникальных значений разных типов.

    Подсчет уникальных значений в столбце

    Предположим, у вас есть столбец имен в рабочем листе Excel, и вам нужно подсчитать уникальные имена в этом столбце. Решение заключается в использовании функции SUM в сочетании с IF и COUNTIF:

    =SUM(IF(COUNTIF( ассортимент , ассортимент )=1,1,0))

    Примечание Это формула массива, поэтому обязательно нажмите Ctrl + Shift + Enter для ее завершения. После этого Excel автоматически заключит формулу в { фигурные скобки}, как на скриншоте ниже. Ни в коем случае не вводите фигурные скобки вручную, это не сработает.

    В данном примере мы подсчитываем уникальные имена в диапазоне A2:A10, поэтому наша формула имеет следующий вид:

    =SUM(IF(COUNTIF(A2:A10,A2:A10)=1,1,0))

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

    Как работает формула подсчета уникальных значений в Excel

    Как вы видите, в нашей формуле уникальных значений используются 3 различные функции - SUM, IF и COUNTIF. Если посмотреть изнутри, то вот что делает каждая функция:

    • Функция COUNTIF подсчитывает, сколько раз каждое отдельное значение появляется в указанном диапазоне.

      В данном примере, COUNTIF(A2:A10,A2:A10) возвращает массив {1;2;2;1;2;2;2;1;2} .

    • Функция IF оценивает каждое значение в массиве, возвращенном COUNTIF, сохраняет все 1 (уникальные значения) и заменяет все остальные значения нулями.

      Таким образом, функция IF(COUNTIF(A2:A10,A2:A10)=1,1,0) становится IF(1;2;2;1;2;2;2;2;1;2) = 1,1,0, который превращается в массив {1;0;0;1;0;0;0;1;0} где 1 - уникальное значение, а 0 - дублирующее значение.

    • Наконец, функция SUM суммирует значения в массиве, возвращенном IF, и выводит общее количество уникальных значений, что является именно тем, что мы хотели.

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

    Подсчет уникальных текстовых значений в Excel

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

    =SUM(IF(ISTEXT(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))

    Как вы знаете, функция Excel ИСТЕКСТ возвращает TRUE, если оцениваемое значение является текстом, и FALSE в противном случае. Поскольку звездочка (*) работает как оператор AND в формулах массива, функция ЕСЛИ возвращает 1, только если значение является и текстом, и уникальным, и 0 в противном случае. А после того, как функция SUM сложит все 1, вы получите счетчик уникальных текстовых значений в указанном диапазоне.

    Не забудьте нажать Ctrl + Shift + Enter, чтобы правильно ввести формулу массива, и вы получите результат, подобный этому:

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

    Подсчет уникальных числовых значений в Excel

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

    =SUM(IF(ISNUMBER(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))

    Примечание. Поскольку Microsoft Excel хранит даты и время в виде порядковых номеров, они также учитываются.

    Подсчет уникальных значений с учетом регистра в Excel

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

    =IF(SUM((--EXACT($A$2:$A$10,A2)))=1, "Уникальный", "Дубликат")

    А затем используйте простую функцию COUNTIF для подсчета уникальных значений:

    =COUNTIF(B2:B10, "unique")

    Подсчет отличных значений в Excel (уникальные и 1-е дублирующие вхождения)

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

    =SUM(1/COUNTIF( ассортимент , ассортимент ))

    Помните, что это формула массива, и поэтому вы должны нажать сочетание клавиш Ctrl + Shift + Enter вместо обычного нажатия клавиши Enter.

    В качестве альтернативы можно использовать функцию SUMPRODUCT и завершить формулу обычным способом, нажав клавишу Enter:

    = СУММАРНЫЙ ПРОДУКТ(1/COUNTIF( ассортимент , ассортимент ))

    Например, для подсчета отдельных значений в диапазоне A2:A10 можно использовать любой из вариантов:

    =SUM(1/COUNTIF(A2:A10,A2:A10))

    Или

    = СУММАРНЫЙ ПРОДУКТ(1/COUNTIF(A2:A10,A2:A10))

    Как работает формула Excel distinct

    Как вы уже знаете, мы используем функцию COUNTIF, чтобы узнать, сколько раз каждое отдельное значение встречается в указанном диапазоне. В приведенном выше примере результатом функции COUNTIF является следующий массив: {2;2;3;1;2;2;3;1;3} .

    После этого выполняется ряд операций деления, где каждое значение массива используется как делитель, а 1 - как делимое. Это превращает все дубликаты значений в дробные числа, соответствующие количеству дубликатов. Например, если значение встречается в списке 2 раза, то в массиве образуется 2 элемента со значением 0,5 (1/2=0,5). А если значение встречается 3 раза, то оновыдает 3 элемента в массиве со значением 0.3(3). В нашем примере результат функции 1/COUNTIF(A2:A10,A2:A10)) массив {0.5;0.5;0.3(3);1;0.5;0.5;0.3(3);1;0.3(3)} .

    Пока не понятно? Это потому, что мы еще не применяли функцию SUM / SUMPRODUCT. Когда одна из этих функций складывает значения в массиве, сумма всех дробных чисел для каждого отдельного элемента всегда равна 1, независимо от того, сколько вхождений этого элемента существует в списке. А поскольку все уникальные значения появляются в массиве как 1 (1/1=1), окончательный результат, возвращаемый функциейформула - это общее количество всех различных значений в списке.

    Формулы для подсчета различных значений разных типов

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

    Пожалуйста, помните, что все приведенные ниже формулы являются формулами массива и требуют нажатия Ctrl + Shift + Enter .

    Подсчет отличных значений, игнорируя пустые ячейки

    Если столбец, в котором вы хотите подсчитать отличные значения, может содержать пустые ячейки, следует добавить функцию ЕСЛИ, которая проверит указанный диапазон на наличие пустых ячеек (основная формула Excel distinct, рассмотренная выше, в этом случае вернет ошибку #DIV/0):

    =SUM(IF( ассортимент "",1/COUNTIF( ассортимент , ассортимент ), 0))

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

    =SUM(IF(A2:A10"",1/COUNTIF(A2:A10, A2:A10), 0))

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

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

    Как нетрудно догадаться, мы просто встроим функцию ISTEXT в нашу формулу Excel count distinct:

    =SUM(IF(ISTEXT( ассортимент ),1/COUNTIF( ассортимент , ассортимент ),""))

    А вот пример реальной формулы:

    =SUM(IF(ISTEXT(A2:A10),1/COUNTIF(A2:A10, A2:A10),""))

    Формула для подсчета различных чисел

    Чтобы подсчитать отдельные числовые значения (числа, даты и время), используйте функцию ISNUMBER:

    =SUM(IF(ISNUMBER( ассортимент ),1/COUNTIF( ассортимент , ассортимент ),""))

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

    =SUM(IF(ISNUMBER(A2:A10),1/COUNTIF(A2:A10, A2:A10),""))

    Подсчет отличительных значений с учетом регистра в Excel

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

    =IF(SUM((--EXACT($A$2:$A2,$A2)))=1, "Distinct","")

    Как вы помните, все формулы массивов в Excel требуют нажатия Ctrl + Shift + Enter .

    После завершения работы вышеприведенной формулы вы можете подсчитать "отличные" значения с помощью обычной формулы COUNTIF следующим образом:

    =COUNTIF(B2:B10, "distinct")

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

    =SUM(IFERROR(1/IF($A$2:$A$10"", FREQUENCY(IF(EXACT($A$2:$A$10, TRANSPOSE($A$2:$A$10)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), 0), 0))))

    Подсчет уникальных и отличных строк в Excel

    Подсчет уникальных / отличных строк в Excel схож с подсчетом уникальных и отличных значений, с той лишь разницей, что вы используете функцию COUNTIFS вместо COUNTIF, которая позволяет вам указать несколько столбцов для проверки уникальных значений.

    Например, чтобы подсчитать уникальные или отличные имена на основе значений в столбцах A (Имя) и B (Фамилия), используйте одну из следующих формул:

    Формула для подсчета уникальных строк:

    =SUM(IF(COUNTIFS(A2:A10,A2:A10, B2:B10,B2:B10)=1,1,0))

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

    =SUM(1/COUNTIFS(A2:A10,A2:A10,B2:B10,B2:B10))

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

    Подсчет отдельных значений в Excel с помощью PivotTable

    Последние версии Excel 2013 и Excel 2016 имеют специальную функцию, которая позволяет автоматически подсчитывать отдельные значения в таблице pivot. Следующий скриншот дает представление о том, как Excel Счетчик отличий выглядит как:

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

    1. Выберите данные для включения в сводную таблицу, переключитесь на вкладку Вставка вкладка, Таблицы группу, и нажмите кнопку PivotTable кнопка.
    2. В Создание PivotTable В диалоговом окне выберите, где разместить таблицу pivot - в новом или существующем рабочем листе, и обязательно выберите параметр Добавьте эти данные в модель данных флажок.

  • Когда откроется сводная таблица, расположите области Строки, Столбцы и Значения так, как вам нужно. Если у вас нет большого опыта работы со сводными таблицами Excel, вам может помочь следующее подробное руководство: Создание сводной таблицы в Excel.
  • Переместите поле, чье количество отличий вы хотите вычислить ( Пункт поле в данном примере) в Значения область, щелкните по ней и выберите Настройки значений полей... из выпадающего меню:
  • Сайт Настройки поля значений Откроется диалоговое окно, прокрутите его вниз до Счетчик отличий , который является самым последним в списке, выберите его и нажмите кнопку OK .
  • Вы также можете дать пользовательское имя своему Distinct Count, если хотите.

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

    Совет. После обновления исходных данных не забудьте обновить таблицу PivotTable, чтобы привести счетчик отличий в актуальное состояние. Чтобы обновить таблицу pivotTable, просто нажмите кнопку Обновить кнопка на Анализируйте во вкладке Данные группа.

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

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.