有没有办法使用数组公式或其他功能来本质上实现 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 中,我也不会感到惊讶。