Excel实战技巧110:快速整理一列数据拆分成多列(使用公式)

2021-08-31 17:41:59 浏览数 (1)

在《Excel实战技巧109:快速整理一列数据拆分成多列》中,我们使用一种巧妙的思路解决了将一列数据拆分成多列的问题。本文介绍使用公式实现的方法。

示例工作簿中的数据如下图1所示。

图1

想把它们转换成如下图2所示。

图2

可以使用下面的公式来实现。在单元格E4中输入数组公式:

=INDEX(A3:A29,ROWS(E4:E4) (COUNTA(E3:G3)-1)*(ROWS(E4:E4)-1) COLUMNS(E3:E3)-1)

向右拖至列G,向下拖至行10,使数据全部显示。

公式中:

  • A3:A29,是列A中原数据列表。
  • ROWS(E4:E4),统计指定区域的行数,区域通过锁定第一个引用并保留第二个引用为相对引用来扩展。当公式向下拉时,行数将增加(1,然后是 2,3,等等……)。
  • COUNTA(E3:G3),得到单元格区域E3:G3中非空单元格数,本例中是3。
  • COLUMNS(E3:E3),统计指定区域的列数。区域通过锁定第一个引用并保留第二个引用为相对引用来扩展。当公式向右拉时,列数将增加(1,然后是 2,3,等等……)。

在单元格E4中,公式被解析为:

=INDEX(A3:A29,1 (3-1)*(1-1) 1-1)

进一步得到:

=INDEX(A3:A29,1 (2)*(0) 0)

得到:

=INDEX(A3:A29,1 (2)*(0) 0)

=INDEX(A3:A29,1)

得到单元格A3中的值:

商品1

你可以照此思路,分析一下单元格E5或者F4中的公式,进一步熟悉这个公式。

0 人点赞