ArrayFormula()来自间接引用范围的动态和列表



我遇到了一个问题,似乎无法找到使用Google Sheets的解决方案。我需要使用排序后的数据生成一个部分和的列表,但输入范围的大小尚未确定。部分和范围的大小同样是不确定的。

我知道如何在AppScript中做到这一点。然而,我似乎在加载函数时遇到了问题,因此我的计算速度减慢。所以我想找到一个使用公式的解决方案。

以下是我正在使用的数据示例:https://docs.google.com/spreadsheets/d/1HCCM2sJ3lwIjLBUIKbaSFyUVKexXOSKkNmxp4bSd0xA/edit?usp=sharing

我使用生成的间接范围列表,包括了原始样本输入和预期结果,以及我现在尝试使用的内容。

另一种看待问题的方法是:我想对数据进行分组,但保持列表的总体完整性不变;减少列表中的冗余。

有人对只使用Google Sheet公式的更完整的解决方案有什么想法吗?

尝试

=sum(indirect(B2))

然后向下拖动。

编辑:一个公式解决方案(在第2行输入(:

=ArrayFormula(MMult(--IF((transpose(row(indirect("A2:A"&max(--RegexExtract(Filter(B2:B,B2:B<>""),":.*?(d+)")))))<--RegexExtract(filter(B2:B,B2:B<>""),"(d+):"))+(transpose(row(indirect("A2:A"&max(--RegexExtract(Filter(B2:B,B2:B<>""),":.*?(d+)")))))>--RegexExtract(filter(B2:B,B2:B<>""),":.*?(d+)")),,transpose(indirect("A2:A"&max(--RegexExtract(Filter(B2:B,B2:B<>""),":.*?(d+)"))))),row(indirect("A2:A"&max(--RegexExtract(Filter(B2:B,B2:B<>""),":.*?(d+)"))))^0))

最新更新