跳转至

REPTARRAY 函数

函数概述

REPTARRAY 是 WPS 表格的特色函数,用来把一个“数组/区域”按指定次数进行重复铺开

  • 可以沿行方向重复(向下堆叠)
  • 也可以沿列方向重复(向右平铺)

它常用于:模板批量填充、编号/分组序列生成、按数量复制记录等场景。


基础语法

REPTARRAY(array, row_times, [col_times])
  • 第 1 个参数是要重复的数组
  • 第 2 个参数指定行方向重复次数
  • 第 3 个参数指定列方向重复次数(在部分用法中可省略,省略时常见写法会留空或默认按 1 处理)

参数说明

参数 含义 常见输入 说明
array 要重复的数组/区域 A2:B6{"上午";"中午";"下午"}SEQUENCE(8) 可以是单元格区域、常量数组、或其他函数返回的动态数组
row_times 行方向重复次数 2COUNTA(A2:A13) 让 array 纵向重复(向下堆叠)
col_times 列方向重复次数(可选) 13 让 array 横向重复(向右平铺)

基础用法示范

示例1 纵向重复区域

A2:B6 这块区域沿行方向重复 2 次(向下堆叠):

=REPTARRAY(A2:B6, 2, 1)

效果:原区域会在下方再“复制”一遍,形成更长的明细表。


示例2 生成循环序号

假设你有一列姓名,需要给每个人分配循环序号 1~3:

=REPTARRAY(SEQUENCE(3), COUNTA(A2:A13))

思路:SEQUENCE(3) 生成 1~3,再按姓名数量把这段序号重复铺开。


示例3 生成固定时间段标签

为每个姓名生成“上午/中午/下午”的循环标签:

=REPTARRAY({"上午";"中午";"下午"}, COUNTA(A2:A13))

这里用的是纵向常量数组(分号表示按行分隔),再按人数重复。


示例4 仓管编号套路

给物料生成“箱号/箱内序号”,常见会配合 TAKESORTSEQUENCE

=TAKE(SORT(REPTARRAY(SEQUENCE(40), 8, )), COUNTA(C3:C200))

解释:先生成 1~40,再让每个箱号重复 8 次,排序后按物料数量截取需要的长度。


总结

  • REPTARRAY 的核心价值:把“数组”按指定次数在行/列方向进行重复铺开,快速完成批量填充与结构化输出。
  • 搭配思路

    • 想要序列:配 SEQUENCE
    • 想按数据量自动扩展:配 COUNTA
    • 想控制输出长度:配 TAKE(必要时再加 SORT
  • 如果你经常做模板化报表、分组编号、按数量复制记录,REPTARRAY 会是非常省时间的一把“数组铺开器”。