转置和分组数据

时间:2013-07-25 08:48:08

标签: excel grouping transpose

我需要在行中转置两列,并按第一列分组;这是一个例子。 由此:

    A       B
    IP1     21
    IP1     22
    IP1     23
    IP2     80
    IP2     443
    IP3     21
    IP3     22
    IP3     23
    IP3     80
    IP3     443

对此:

A       B   C   D   E   F
IP1     21  22  23
IP2     80  443
IP3     21  22  23  80  443

我该怎么做?我可以避免使用宏和VBA吗?

1 个答案:

答案 0 :(得分:4)

您最好使用VBA,但如果您确实需要公式解决方案:

enter image description here

首先,您需要创建唯一列表: D2=IFERROR(INDEX($A$1:$A$19, MATCH(0, COUNTIF($D$1:D1, $A$1:$A$19), 0)),0) 然后将其拖下来复制。

然后,我们需要查找第1,第2,第3等匹配: E2=IFERROR(INDEX($B$1:$B$19, SMALL(IF($D2=$A$1:$A$19, ROW($A$1:$A$19)-MIN(ROW($A$1:$A$19))+1, ""), E$1)),0) 再次将其向下拖动,向右拖动以填充E2:N12

上的所有单元格

注意: 记住用CTRL+SHIFT+ENTER输入两个公式,因为它们都是数组公式。根据您的数据范围更新范围。