对包含数据的范围内的行进行一次计数
Counting Rows Once In Range Which Contain Data
我想找出一个公式来计算一个范围内的每一行,其中包含任何非空的单元格。例如
Item 1|Item 2|Item 3
Cat 1 X X X
Cat 2
Cat 3 X X X
和
Item 1|Item 2|Item 3
Cat 1 X
Cat 2
Cat 3 X
两者都应该 return 2. 我知道我可以使用带有 COUNTIF(Row,"<>")
的辅助列,然后使用 COUNTIF(Column,">0")
,但我试图避免这样做,因为它会创建其他问题。有没有办法在一个公式中完成我想要的一切?
取决于Excel的版本:
=SUMPRODUCT(--((B2:B4&C2:C4&D2:D4)<>""))
如果在 ms365 上,请将 SUMPRODUCT()
换成 SUM()
。
一个显然 多 长的公式,但是,对于更大的数据范围,更少 time-consuming 构建,因为它不涉及单独选择每一列:
=ROWS(B2:P6)-SUM(INT(MMULT(--ISBLANK(B2:P6),TRANSPOSE(COLUMN(B2:P6)/COLUMN(B2:P6)))/COLUMNS(B2:P6)))
(作为数组公式,它在 Excel 2007 及更高版本中运行,尽管它在 Office 365 中可以缩短很多)
我想找出一个公式来计算一个范围内的每一行,其中包含任何非空的单元格。例如
Item 1|Item 2|Item 3
Cat 1 X X X
Cat 2
Cat 3 X X X
和
Item 1|Item 2|Item 3
Cat 1 X
Cat 2
Cat 3 X
两者都应该 return 2. 我知道我可以使用带有 COUNTIF(Row,"<>")
的辅助列,然后使用 COUNTIF(Column,">0")
,但我试图避免这样做,因为它会创建其他问题。有没有办法在一个公式中完成我想要的一切?
取决于Excel的版本:
=SUMPRODUCT(--((B2:B4&C2:C4&D2:D4)<>""))
如果在 ms365 上,请将 SUMPRODUCT()
换成 SUM()
。
一个显然 多 长的公式,但是,对于更大的数据范围,更少 time-consuming 构建,因为它不涉及单独选择每一列:
=ROWS(B2:P6)-SUM(INT(MMULT(--ISBLANK(B2:P6),TRANSPOSE(COLUMN(B2:P6)/COLUMN(B2:P6)))/COLUMNS(B2:P6)))
(作为数组公式,它在 Excel 2007 及更高版本中运行,尽管它在 Office 365 中可以缩短很多)