如何在连续数据下方的空行中填入累计值

例题描述和简单分析

有 Excel 文件 book1.xlsx,数据如下所示:

A列的数据由多段组成,每一段是连续的 N 行 +1 个空行,现在要新 B 列,将每段 N 行的字符串用横线连接起来,填在空行处,B 列其他位置保持空,结果如下:

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=clipboard().split("\n")

2

=A1.group@i(~[-1]=="")

3

=A2.([""]*(~.len()-1)|~.to(~.len()-1).concat("-")).conj()

简要说明:

A1   从剪贴板里读取数据,按回车符拆成序列

A2  当上一个成员为空串时,新分一组,去掉每组内的空串

A3  将每组的成员用 - 拼接成串,计算每组有多少个成员就在 [串] 前补齐多少个空串

执行程序后,在集算器中选中 A3 单元格,再点击右侧对应的“copy data”按钮。在 Excel 点击 B1 单元格,按 Ctrl+V 就可以把计算结果粘贴过来。

问答搜集

https://stackoverflow.com/questions/63754291/combining-cell-values-with-vba