使用 Countif、Countblank 等函数来引用不连续的范围。

使用 Countif、Countblank 等函数来引用不连续的范围。

有没有办法使用数组公式或其他功能来本质上实现 Excel 函数。

=Countblank({A1,A4:A6,A112:127,B29:B38})  etc.

本质上,我想引用您通常会输入连续范围的多个位置。如果确实可能的话,最好使用非 VBA。

我知道我可以使用

=Countblank(A1)+Countblank(A4:A6)+Countblank(A112:127)+Countblank(B29:B38) 

在这种情况下,但由于显而易见的原因,它并不理想。

感谢大家 :)

答案1

通过使用 INDIRECT 函数,您可以创建一个范围数组,然后使用 SUM 中的 COUNTBLANK 即可得到所需的结果。

=SUM(COUNTBLANK(INDIRECT({"A1","A4:A6","A112:A127","B29:B38"})))

除了 COUNTBLANK,您还可以使用空的 COUNTIF 条件。

=SUM(COUNTIF(INDIRECT({"A1","A4:A6","A112:A127","B29:B38"}),""))

答案2

我对 Excel 的这一部分并不十分熟悉,但我对理论的了解足以为您指明正确的方向。希望其他更了解该领域的人能给出更详细的答复。

函数本身不支持您想要的功能。但是,您可以使用 VBA 在 Excel 中创建自己的函数。我相信这是函数命令,我设置它的方式如下

功能定义

SUMIFM(条件,范围 1,[范围 2]...) = Sumif(范围 1,条件 1) + [Sumif(范围 2,条件 1)]...

然后,每当您需要在多个范围上使用 sumif 时,您都可以使用 sumifm。

如果类似的东西已经创建并保存在某个库中,我也不会感到惊讶,这意味着您不必自己编写它。如果库中有许多类似的函数,您可以将其聚合并附加到您的 excel 中,我也不会感到惊讶。

相关内容