我目前有一个公式,可以计算 C 列及以后的非空白单元格的数量。
=BYROW(C3:3,LAMBDA(x,COUNTIFS(x,">""")))
这适用于单个单元格。我想要做的是让这个公式计算 A 列中有值的任何行。例如,如果 A 列在 100 行处是静态的,我可以执行以下操作...
=BYROW(C3:100,LAMBDA(x,COUNTIFS(x,">""")))
这将填充所有单元格直到第 100 行的计算。但是如果它不是静态的怎么办?如果 A 列是动态的怎么办?我如何用动态最后一行的编号替换 100?
编辑:我对以下公式更加接近了......
=BYROW(INDIRECT("C3:"&ROWS(A:A)),LAMBDA(x,COUNTIFS(x,">""")))
我遇到的问题是,它将继续0
为 A 列中没有值的单元格提供值。
这是我的表格的示例...
A 列 | B 列 | D 列 | E 列 | F 栏 | G 栏 | H 列 | 第一栏 |
---|---|---|---|---|---|---|---|
一 | 公式在这里 | 10/01/24 | |||||
二 | 10/01/24 | 10/01/24 | |||||
三 | 10/01/24 | 10/01/24 | |||||
四 | 10/01/24 |
结果应该是什么样的呢......
A 列 | B 列 | D 列 | E 列 | F 栏 | G 栏 | H 列 | 第一栏 |
---|---|---|---|---|---|---|---|
一 | 1 | 10/01/24 | |||||
二 | 2 | 10/01/24 | 10/01/24 | ||||
三 | 2 | 10/01/24 | 10/01/24 | ||||
四 | 1 | 10/01/24 |
注意,我想在 B2 中插入 1 个公式。行数是动态的。列数也是动态的。
这是一个通用的方法,您可以相应地进行调整:
我设法搞清楚了这一点。以下是我最终使用的方法,供感兴趣的人参考。
我不确定是否有更清洁或更有效的替代方案,但这似乎满足了我的需求。在听到其他人的意见之前,我不会选择自己的答案。
假设从 C3 开始的空单元格是实际的空白值而不是空字符串
""
,则可以使用:如果 C3:ZZZ 中的公式返回空字符串
""
,请将其更改为返回空白值。(即IF(cond,"",else)
->IF(cond,,else)
)计算非空白单元格
根据您提供的附加信息。您可以尝试这个公式。
输出:
如果您正在寻找替代方法,这也是可行的。只是给您另一种选择。
输出:
参考: