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

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

Я много прочитал и перепробовал, но так и не смог найти решение своей проблемы.

Близкое решение, которое я нашел, — это второе, предложенное в статье ниже: Как подсчитать количество различных значений в диапазоне?

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

Давайте представим следующую электронную таблицу

COL A      COL B
abc        TRUE
abc        TRUE
bef        TRUE
bef        FALSE
hgf        TRUE
swd        FALSE
rth        FALSE
kjh        TRUE

Я хотел бы придумать формулу для вычисления (не показывая) количества уникальных значений в A, которые содержат TRUE в COL B. Таким образом, учитывая приведенный выше пример, я должен получить 4.

Итак, я ожидал, что формула ниже будет хоть как-то полезна.

=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100))

однажды изменено с помощью COUNTIFS, но это явно не работает, и я не понимаю почему. Также я не совсем понимаю причину начального бита:A2:A100<>""

решение1

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

Перетащите столбец A (в моем примере он называется «один») на метки строк, перетащите столбец B (в моем примере он называется «два») на метки столбцов, перетащите любой столбец в область значений и установите для расчета значения значение «количество».

На одну строку выше сводной таблицы используйте простую функцию Count() для возврата количества уникальных значений:

введите описание изображения здесь

Вы можете отфильтровать сводную таблицу, чтобы отобразить только элементы со значением «true» или только элементы со значением «false».

решение2

Попробуйте эту «формулу массива»

=SUM(IF(FREQUENCY(IF(B2:B100=TRUE,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))

подтверждено с CTRL+ SHIFT+ENTER

решение3

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

В ячейке D2введите эту формулу массива с помощью CTRL+ SHIFT+ ENTERи перетащите ее вниз, чтобы отобразить все уникальные элементы, соответствующие условию...

=INDEX($A$2:$A$9, MATCH(0, COUNTIF($D$1:D1,$A$2:$A$9)+IF($B$2:$B$9<>TRUE, 1, 0), 0))

Редактировать* Добавил фото. введите описание изображения здесь

Связанный контент