如何在连续数据下方的空行中填入累计值
例题描述和简单分析
有 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
英文版