如何用Excel函数生成重复X次指定值的一维数组?
在Excel中生成重复指定次数的一维数组
嘿,这个需求完全可以用Excel自带的函数轻松实现,给你几种实用的方法,根据你的Excel版本和使用场景选就行:
方法1:用TEXTSPLIT + REPT(适合Excel 365/2021及以上版本)
这个方法一步到位,直接生成一维数组:
在任意单元格输入公式:
=TEXTSPLIT(REPT(50&" ",5)," ",,TRUE)
- 原理:
REPT(50&" ",5)会生成"50 50 50 50 50 "(注意末尾有个空格) TEXTSPLIT函数把这个字符串按空格拆分,最后一个参数TRUE用来忽略拆分后产生的末尾空值,最终得到包含5个50的一维数组。
如果你的值和重复次数放在单元格里(比如值在A1,次数在B1),可以改成动态公式:
=TEXTSPLIT(REPT(A1&" ",B1)," ",,TRUE)
方法2:用SEQUENCE + INDEX(兼容所有Excel版本)
要是你用的是旧版Excel(没有TEXTSPLIT),这个方法更稳妥:
输入公式:
=INDEX({50},SEQUENCE(5))
- 原理:
SEQUENCE(5)生成1到5的序列,INDEX({50},...)每次都会返回数组里的第一个值(也就是50),重复5次就得到目标数组。
同样改成动态版本(值在A1,次数在B1):
=INDEX(A1,SEQUENCE(B1))
额外:如果要生成空格分隔的文本(而非数组)
要是你只是想在单元格里显示成50 50 50 50 50这样的文本,直接用REPT就行,再去掉末尾多余的空格:
=LEFT(REPT(50&" ",5),LEN(REPT(50&" ",5))-1)
内容的提问来源于stack exchange,提问作者tardos93
相关产品推荐
相关产品推荐

