excel

关注公众号 jb51net

关闭
软件教程 > 办公软件 > excel >

一行轻松变多行! 一文看懂excel中WRAPCOLS和WRAPROWS函数

脚本之家

函数WRAPROWS:将一行或一列数据打包为多行多列的数据区域,第二参数指定列数,行数自动计算。

1.、WRAPROWS函数

1) 作用与语法

将单行或单列数据均分成N列逐行排列。

=WRAPROWS(单行或单列数组,列数,[填充值])

第一参数必须是单行或者单列,否则出返回#VALUE错误。

第三参数,填充值,可选。如果不设置第三参数,按指定列数均分排列时,最后一行空缺部分默认用#N/A填充;如果设置第三参数,则最后一行空缺用第三参数填充。

2)基本用法

(1)不设置第三参数

将下方单行数据均分排成3列,最后一行缺少数据的地方用#N/A填充。

=WRAPROWS(A2:J2,3)

将单列数据排成3列,效果与上一致。

(2)设置第三参数

将下方单行数据均分排成3列,最后一行缺少数据的地方用“缺少”两字填充。

=WRAPROWS(A29:J29,3,"缺少")

2. WRAPCOLS函数

1) 作用与语法

将单行或单列数据均分成N行逐列排列。

=WRAPCOLS(单行或单列数组,行数,[填充值])

参数用法同WRAPROWS。

2)基本用法

(1)不设置第三参数

将下方单行数据均分排成3行,最后一列缺少数据的地方用#N/A填充。

=WRAPCOLS(A42:J42,3)

(2)设置第三参数

将下方单行数据均分排成3行,最后一行缺少数据的地方填充为空值。

=WRAPCOLS(A50:J50,3,"")

3. 典型应用

1)根据打印需要重排数据

假设下方横排表打印超出页宽,那就可以改成两列或四列、六列排列。

如下,将多列成绩单排成两列或者四列。

=VSTACK(A2:B2,WRAPROWS(TOCOL(A3:L4),2))

=VSTACK(A2:B2,WRAPROWS(TOCOL(A3:L4),4))

也能逆向处理,把竖排表变成横排表,如将两列的表排成12列。

=VSTACK(TOROW(IF(M1:M6="",A7:B7)),WRAPROWS(TOROW(A8:B19),12))

说明:

2)一维表转二维表

以往我们用数据透视表将一维表转二维表,现在用函数也方便。

先看分步过程。

第一步,生成标题,公式=HSTACK(A27,TOROW(UNIQUE(B28:B42)))

第二步,生成人员,公式=UNIQUE(A28:A42)

第三步,分布成绩,公式=WRAPROWS(C28:C42,3)

把上面三步组合起来的话:

=VSTACK(HSTACK(A27,TOROW(UNIQUE(B28:B42))),HSTACK(UNIQUE(A28:A42),WRAPROWS(C28:C42,3)))

Ok,新函数WRAPROWS和WRAPCOLS就介绍这么多。

推荐阅读:快速筛选符合要求的用户! excel表格中用FILTER+REGEXP正则表达式进行高级筛选