转置和分组数据

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

AB IP1 21 IP1 22 IP1 23 IP2 80 IP2 443 IP3 21 IP3 22 IP3 23 IP3 80 IP3 443 

对此:

 ABCDEF IP1 21 22 23 IP2 80 443 IP3 21 22 23 80 443 

我怎样才能做到这一点? 我可以避免使用macros和VBA?

你最好使用VBA ,但如果你真的需要公式解决scheme:

在这里输入图像说明

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

然后,我们需要查找第一,第二,第三等匹配项: 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所有单元格E2:N12

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