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

excelperfect

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

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

图1

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

图2

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

=INDEX($A$3:$A$29,ROWS($E$4:E4)+(COUNTA($E$3:$G$3)-1)*(ROWS($E$4:E4)-1)+COLUMNS($E$3:E3)-1)

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

公式中:

  • $A$3:$A$29,是列A中原数据列表。

  • ROWS($E$4:E4),统计指定区域的行数,区域通过锁定第一个引用并保留第二个引用为相对引用来扩展。当公式向下拉时,行数将增加(1,然后是 2,3,等等……)。

  • COUNTA($E$3:$G$3),得到单元格区域E3:G3中非空单元格数,本例中是3。

  • COLUMNS($E$3:E3),统计指定区域的列数。区域通过锁定第一个引用并保留第二个引用为相对引用来扩展。当公式向右拉时,列数将增加(1,然后是 2,3,等等……)。

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

=INDEX($A$3:$A$29,1+(3-1)*(1-1)+1-1)

进一步得到:

=INDEX($A$3:$A$29,1+(2)*(0)+0)

得到:

=INDEX($A$3:$A$29,1+(2)*(0)+0)

=INDEX($A$3:$A$29,1)

得到单元格A3中的值:

商品1

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

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

(0)

相关推荐