打乱次序
举例
有 Excel 文件 Book1.xlsx,数据如下所示:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
需要将区域内的数据打乱次序(整片、行内、列内)
编写 SPL 脚本:
A |
|
1 |
=file("Book1.xlsx").xlsimport@w() |
2 |
/整片打乱次序 |
3 |
=A1.conj().sort(rand()).group(#%5) |
4 |
=file("total.xlsx").xlsexport@w(A3) |
5 |
/行内打乱次序 |
6 |
=A1.(~.sort(rand())) |
7 |
=file("row.xlsx").xlsexport@w(A6) |
8 |
/列内打乱次序 |
9 |
=transpose(A1).(~.sort(rand())) |
10 |
=transpose(A9) |
11 |
=file("col.xlsx").xlsexport@w(A10) |
A1 读取 excel 文件内容,读成序列的序列
A2 注释
A3 将序列的序列合并为一个序列,打乱次序后,再按原序列的序列将新序列分组
A4 整片打乱次序导出至total.xlsx,结果如下:
11 |
12 |
20 |
10 |
4 |
14 |
5 |
1 |
15 |
16 |
8 |
7 |
9 |
13 |
2 |
3 |
17 |
19 |
18 |
6 |
A5 注释
A6 每行的数据打乱次序
A7 行内打乱次序导出至 row.xlsx,结果如下:
4 |
2 |
3 |
1 |
6 |
5 |
7 |
8 |
9 |
12 |
10 |
11 |
16 |
14 |
15 |
13 |
18 |
20 |
17 |
19 |
A8 注释
A9 把这片数据转置后再行内打乱次序
A10 A9的结果再转置
A11 列内打乱次序导出至 col.xlsx,结果如下:
13 |
6 |
7 |
8 |
9 |
18 |
19 |
12 |
1 |
2 |
15 |
4 |
5 |
14 |
3 |
20 |
17 |
10 |
11 |
16 |
英文版
英文已更新