1

Моя функция CountIf просто не работает, и мне любопытно, что я сделал неправильно. Кажется, он выводит только 1 или 0, и причудливо делает это по-разному, в зависимости от того, где в листе я помещаю данные.

Что с этим происходит?

1 ответ1

2

COUNTIF может сравнивать диапазон со значением и возвращает скаляр. Он может сравнивать диапазон с диапазоном, но в этом случае он возвращает массив, поэтому вы должны суммировать эти значения с помощью SUMPRODUCT:

=SUMPRODUCT(COUNTIF(G2:G16,H2:H16))
=SUMPRODUCT(COUNTIF(C10:C24,D10:D24))

Вы также можете использовать формулу CSE (CSE означает, что вы должны нажать CTRL+SHIFT+ENTER вместо просто ENTER):

=COUNT(IF(G2:G16=H2:H16,1,""))
=COUNT(IF(C10:C24=D10:D24,1,""))

Это также подсчитывает пустые ячейки по сравнению с другими пустыми ячейками, поэтому это может быть не то, что вы хотите.

Обновление: я хотел бы включить решение Bandersnatch , которое отдельно подсчитывает пробелы и вычитает их из общей суммы: =COUNT(IF(G2:G16=H2:H16,1,""))-SUM((G2:G16="")*(H2:H16="")) .

Смотрите похожую проблему, решенную здесь и здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .