Считайте каждую строку как 1, если в каком-либо столбце есть значение - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть таблица с данными в диапазоне от B2: F74, и я хочу посчитать один раз для каждой строки, если какой-либо столбец этой строки не пуст. Я нашел простой способ сделать это для одной строки:

 =IFERROR(COUNTIF(B2:F2, "<>" & "")/COUNTIF(B2:F2, "<>" & ""),"")

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

Долгий путь для этого будет:

 =IFERROR(COUNTIF(B2:F2, "<>" & "")/COUNTIF(B2:F2, "<>" & ""),"") + IFERROR(COUNTIF(B3:F3, "<>" & "")/COUNTIF(B3:F3, "<>" & ""),"") + ...

и добавление в индивидуальном порядке. Я пытался

 =SUM(IFERROR(COUNTIF(B2:F2, "<>" & "")/COUNTIF(B2:F2, "<>" & ""),""),IFERROR(COUNTIF(B74:F74, "<>" & "")/COUNTIF(B74:F74, "<>" & ""),""))

но это возвращает "1".

edit: исправлена ​​опечатка в заголовке.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Я предпочитаю энергонезависимую формулу массива **:

=SUM(N(MMULT(N(B2:F74<>""),TRANSPOSE(COLUMN(B2:F74)^0))>0))

Привет

** Формулы массива вводятся не так, как «стандартные» формулы. Вместо того, чтобы просто нажимать ENTER, вы сначала удерживаете клавиши CTRL и SHIFT, и только затем нажимаете ENTER. Если вы сделали это правильно, вы заметите, что Excel заключает в формулу фигурные скобки {} (хотя не пытайтесь вставить их вручную).

0 голосов
/ 16 ноября 2018

Используйте OFFSET, чтобы создать диапазон из одной строки и итерировать строки, используя SUMPRODUCT для подсчета результатов:

=SUMPRODUCT(--(COUNTIF(OFFSET(B1,ROW($1:$73),0,1,5),"<>")>0))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...