10.8 打乱次序

 

有数据如下:

imagepng

将行内数据打乱:

=spl("=clipboard(E(?1.(~.sort(rand()))))",A1:D5)

imagepng

将列内数据打乱:

=spl("=clipboard(E(transpose(transpose(?1).(~.sort(rand())))))",A1:D5)

imagepng

将整片数据打乱:

=spl("=clipboard(E(?1.conj().sort(rand()).group(#%5)))",A1:D5)

imagepng

补充说明:
只有按 Ctrl-Enter 的时候,才会把 spl() 返回的集合填写到多个单元格中,而其它触发计算方式则只填第一个成员。本例采用随机的方式打乱次序,每一次计算结果不同,所以代码中把结果复制到剪贴板上,计算完后,到目标单元格中把结果粘贴出来。


帮你早下班 - esProc 桌面版与 Excel 数据处理
10.7 指定次序中有重复值的排序
10.9 简单成员排名