Microsoft 电子表格软件系列,其中包含用于分析、绘制图表和传达数据的工具。
此回复由系统自动翻译,可能存在细微的语法错误或表达不地道之处。感谢您的理解。
你好 Yaphet Tao
这似乎并非由两个 IF 分支返回不同大小的数组所引起。问题的根源在于,该公式使用的 REDUCE 函数涉及一个在计算过程中维度会发生变化的累加器。
REDUCE 函数的设计初衷是处理数组中的每个值并返回最终的累加结果。尽管有时可以在 REDUCE 内部利用 VSTACK 构建数组,但如果累加器的行数反复变化,可能会导致结果不一致。
如果目标是返回每个组所占用的行数(即包含一个非空单元格及其后方的空单元格),请尝试:
=LET( r,A1:A6, p,FILTER(SEQUENCE(ROWS(r)),r<>""), VSTACK(DROP(p,1),ROWS(r)+1)-p )
对于此数据:
100 空白 200 空白 空白 300
结果为
2 3 1
也就是三组合并区域分别占用 2、3、1 行。
需要注意,此公式是根据空白单元格推算分组,并不会读取单元格实际的“合并”属性。因此,如果区域中还包含普通空白单元格,结果也会将这些空白计算在内。
希望我的回答对您有帮助。如果您还需要任何进一步的帮助,请随时告诉我。
如果该回答对您有帮助,请点击“是”。如果您对该回答有进一步的疑问,请点击“评论”。
注意:如果您希望接收有关此帖的电子邮件通知,请按照我们文档中的步骤启用电子邮件通知功能。