今天的案例需要用到一连串 365 函数,版本足够的小伙伴一定要搬好小板凳,充分利用自己的优势。
案例:
将下图 1 中的零食随机排列成五行四列,效果如下图 2 所示。
解决方案:
为了便于大家理解,在教今天的公式前,我会把公式中用到的各个函数分解开来先给大家演示一遍,这本身就能拆分成好几个案例。
先生成 20 个随机小数。
1. 在 B2 单元格中输入以下公式:
=RANDARRAY(20)
公式释义:
RANDARRAY 函数的作用是返回一组随机数;
语法为 RANDARRAY([行数],[列数],[最小值],[最大值],[整数或小数;true 为整数,false 为小数])
此处的公式作用是返回 20 个随机小数;
按 F9,随机数就会重新生成
生成一组升序序列。
2. 在 C2 单元格中输入以下公式:
=SEQUENCE(20)
公式释义:
SEQUENCE 的作用是返回一序列数字;
语法为 SEQUENCE(行数,[列数],[起始值],[步长])
这里的公式表示生成一列 1 到 20 的顺序数
所以如果要给每种零食设置 1 到 20 的随机序号,就可以结合上面两个公式一起用。
3. 在 D2 单元格中输入以下公式:
=SORTBY(SEQUENCE(20),RANDARRAY(20))
公式释义:
sortby 的作用简言之就是按条件排序;
语法为 SORTBY(对哪个数组排序, 依据哪个数组排, [排序顺序;1 表示升序,-1 表示降序,默认为升序], [依据2, 排序顺序2],…)
这样就不难理解整段公式了:生成 1 至 20 的数组,然后依据生成的 20 个随机数的升序秩序对其排序
将上述公式演变一下,就可以得到一组顺序随机打乱的零食。
4. 在 E2 单元格中输入以下公式:
=SORTBY(A2:A21,RANDARRAY(20))
公式释义:
对 A2:A21 区域依据 20 个随机数按升序排序
接下来终于到达今天的案例解答,前面逐层推进铺垫了这么多,现在再看下面的公式就一点不难了。
5. 在 G2 单元格中输入以下公式:
=INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(5,4))
公式释义:
SORTBY(A2:A21,RANDARRAY(20)):对 A2:A21 区域依据 20 个随机数按升序排序;
SEQUENCE(5,4):生成 5 行 4 列,从 1 至 20 的递增数组;
INDEX(...,...):根据 SEQUENCE 生成的序列号,从 SORTBY 的结果中提取出对应的数值;
按 F9,区域内的零食会随机变换位置
领取专属 10元无门槛券
私享最新 技术干货