生成排列组合

 

举例

Excel文件book1.xlsx中有下图所示的3个单元格,格中是用逗号分隔的数据

..

现在要列出它们组成的排列组合,每行一种组合,如下图所示:

..

编写SPL脚本:


A

1

=clipboard().split("\t").(~.split@c())

2

=A1.("A1("/#/")").concat(";")

3

=xjoin(${A2})

4

=clipboard(A3.export())

A1   从剪贴板里读取数据,用\t拆分出每格数据,再用逗号拆分出每格中的数据,选项@c表示用逗号拆分

A2   循环A1的每个成员,拼成一个字符串A1(1);A1(2);A1(3)

A3   A2拼的串以宏的形式娄成xjoin函数的参数,即把每格中的拆分数据形成的序列完全叉乘起来

A4   A3中的计算结果转换成字符串后放进剪贴板

首先打开book1.xlsx文件,选择数据A1:C1,然后按Ctrl+C复制到剪贴板。到集算器中运行SPL脚本,运行结束后再回到Excel文件,点击A2,按Ctrl+V把剪贴板中的计算结果粘贴过来。