按规定次数重复列出Excel单元格,如今变得简单至极

Excel学习世界 2025-04-18 16:59:07

将单元格按指定次数重复显示,这不是新课题,但是现在可以很简单。

不信来看三个方法。

案例:

从下图 1 的姓名按 B 列的次数重复显示,效果如下图 2 所示。

解决方案 1:

1. 在 D2 单元格中输入以下公式 --> 回车:

=TOCOL(IF(COLUMN(A:Z)>B2:B4,NA(),A2:A4),2)

公式释义:

COLUMN(A:Z):提取出 A 至 Z 列的列号;之所以截至到 Z 列,是因为我们不确定 B 列的求和数是多少,就尽可能取一个大点的数据区间;

IF(...>B2:B4,NA(),A2:A4):将上述公式的结果与 B 列的数值一一比较,如果大于 B 列的值,则返回错误值,反之返回 A 列的值;

TOCOL(...,2):将上述结果区域转换成一列,第二个参数为 2 表示忽略错误值

解决方案 2:

1. 改用以下公式:

=TEXTSPLIT(CONCAT(REPT(A2:A4&",",B2:B4)),,",",1)

公式释义:

REPT(A2:A4&",",B2:B4):给 A 列的每个姓名后面加上“,”符号,重复显示,次数为 B 列的数值;

CONCAT(...):将上述结果连接在一起;

TEXTSPLIT(...,,",",1):将上述结果按列行分,拆分的节点为“,”符号,最后一个参数 1 表示忽略连续的换行

解决方案 3:

1. 选中数据表的任意单元格 --> 选择任务栏的“数据”-->“来自表格/区域”

2. 在弹出的对话框中保留默认设置 --> 点击“确定”

表格已经上传至 Power Query。

3. 选择任务栏的“添加列”-->“自定义列”

4. 在弹出的对话框中输入以下公式 --> 点击“确定”

{1..[重复次数]}

5. 将“自定义”列“扩展到新行”。

6. 删除“自定义”列。

7. 选择任务栏的“主页”-->“关闭并上载”-->“关闭并上载至”

8. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“确定”

右侧绿色的表格就实现了需求。

0 阅读:0
Excel学习世界

Excel学习世界

Excel 学习交流