今天教大家用公式实现按指定次数重复显示单元格内容。
案例:将下图 1 中 A 列的姓名按 B 列的次数纵向重复显示,效果如下图 2 所示。


1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=TOCOL(IF(B2:B6>=COLUMN(A:F),A2:A6,NA()),2)


公式释义:
COLUMN(A:F):依次生成 A 至 F 列的列号;此处的 F 列是估的,大致估一个比 B 列的所有数值都大的列值;

IF(B2:B6>=...,A2:A6,NA()):
将 B 列的每一个数值与同一行中的每个列号依次做比较,如果大于等于列号,则返回 A 列的姓名,否则返回错误值;
这段公式的作用相当于将 A 列的姓名按指定次数横向重复显示;
为什么第三个参数要用 NA 函数生成错误值?这很重要,下面会讲;

TOCOL(...,2):
tocol 函数都不陌生了,作用是将多行多列的区域转行成一列;
第二个参数 2 表示忽略错误值;至此,为什么要用 na 函数的谜题解开了;
以下是 tocol 的第二个参数含义:
0 保留所有值(默认)
1 忽略空白
2 忽略错误
3 忽略空白和错误