Как упростить несколько COUNTIFS в Excel с непоследовательными диапазонами - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть электронная таблица ...

Excel SpreadSheet

A, как вы видите, ячейка F2 имеет формулу с несколькими COUNTSIF, в основном проверяет ячейки F14, F33, F62 y Там есть Проход, и если он есть, он даст вам% завершения. Мой вопрос заключается в том, что мне нужно добавить около 20-30 COUNTIFS к этой формуле, есть ли способ упростить ее?

=(COUNTIF(F14,"Pass")+COUNTIF(F33,"Pass")+COUNTIF(F62,"Pass")+COUNTIF(F75,"Pass")+COUNTIF(F88,"Pass")+COUNTIF(F105,"Pass"))/(COUNTIFS(F14,"<>na")+COUNTIFS(F33,"<>na")+COUNTIFS(F62,"<>na")++COUNTIFS(F75,"<>na")++COUNTIFS(F88,"<>na")+COUNTIFS(F105,"<>na"))

Это не окончательная формула, которая все еще отсутствует 20 записей. Если вам интересно, почему бы не сделать простой F15: FXX, потому что мне просто нужны ячейки с именем тестового примера, такие как F14, F33 и т. Д. c.

1 Ответ

1 голос
/ 05 февраля 2020

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

Например, эквивалент для первой части будет быть:

=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))

Часть IF(1,N({…})) - это способ указать, какие ячейки (строки) в столбце F возвращать.

Не зная больше о ваших данных, не уверен в обработке процентная проблема.

Ваша опубликованная формула не будет рассчитывать процент, поскольку она только делит SUM на истинное значение F14<>"na", а затем добавляет один для <>"na" коэффициент для остатка

В более ранних версиях Excel вам может потребоваться подтвердить эту формулу массива , удерживая нажатой ctrl + shift при нажатии введите . Если вы сделаете это правильно, Excel поместит фигурные скобки {...} вокруг формулы, отображаемой в строке формул.

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

 COLUMNS({14,33,62,75,88,105})

Или все вместе:

=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/6

или

=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/COLUMNS({14,33,62,75,88,105})
...