跳转至

WRAPCOLS 函数

函数概述

WRAPCOLS 用于把一维数据(单行或单列的“向量”)按指定的每列行数重新排布成多列区域。它会从上到下填满一列,再继续填下一列,结果以“溢出(spill)”形式返回一个二维数组。

常见用途:

  • 将名单/编号等单列数据快速分列排版(如每列10行)
  • 将连续序列按固定行数分组展示
  • 不足一整列时用指定值补齐(可选)

基础语法

=WRAPCOLS(vector, wrap_count, [pad_with])

参数说明

参数 必填 含义 典型写法
vector 需要重排的一维区域或数组(单行/单列) A2:A20B1:K1SEQUENCE(25)
wrap_count 每列的行数(填满这行数后换到下一列) 105ROWS(A2:A11)
[pad_with] 最后一列不够 wrap_count 行时,用该值补齐;省略则补 #N/A """-"0

用法示范

示例1:每列5行分列

数据源(vector) 假设 A2:A13 是一列姓名:

姓名
张三
李四
王五
赵六
孙七
周八
吴九
郑十
钱一
冯二
陈三
褚四

公式

=WRAPCOLS(A2:A13, 5)

结果形态(示意):每列5行,从上到下填满一列再到下一列

第1列 第2列 第3列
张三 周八 陈三
李四 吴九 褚四
王五 郑十 #N/A
赵六 钱一 #N/A
孙七 冯二 #N/A

说明:因为 12 个值按每列 5 行,需要 3 列;最后一列不足会用 #N/A 补齐(因为没写 pad_with)。


示例2:用空白补齐缺口

仍使用上面的 A2:A13

公式

=WRAPCOLS(A2:A13, 5, "")

效果

  • 最后一列不够的位置会显示为空白(而不是 #N/A
  • 更适合做打印排版或报表展示

示例3:用动态行数做“每列N行”

如果你想让每列行数跟某个区域的行数一致,例如用 D2:D11 的行数(10行)作为每列行数:

公式

=WRAPCOLS(A2:A100, ROWS(D2:D11), "")

适用场景

  • 你在模板里固定了“每列展示行数”的参考区域
  • 调整参考区域行数即可改变分列规则,无需改公式中的数字

示例4:配合序列快速造样例

不依赖现有数据,直接把 1~23 分成每列 6 行:

公式

=WRAPCOLS(SEQUENCE(23), 6, "-")

效果

  • 会输出若干列,每列6行
  • 最后一列不足用 - 补齐

总结

  • WRAPCOLS 的核心是:按“每列行数”重排一维数据,从上到下填满一列再换列。
  • 写法固定为 =WRAPCOLS(vector, wrap_count, [pad_with]),其中 pad_with 用来控制最后一列缺口的显示(不写则为 #N/A)。
  • 在报表排版、名单分列、固定行数组合展示时非常高效;搭配 ROWS()SEQUENCE() 等函数还能实现动态与自动化排版。