分享

如何将一列 Excel 数据排列成多行多列,且不断自动随机变换位置

 whhbjh 2024-02-09 发布于北京

今天的案例需要用到一连串 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,区域内的零食会随机变换位置

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多