Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 转置和分组数据_Excel_Grouping_Transpose - Fatal编程技术网

Excel 转置和分组数据

Excel 转置和分组数据,excel,grouping,transpose,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 IP

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

    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吗?

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

首先,您需要创建唯一列表:
D2=IFERROR(索引($A$1:$A$19,匹配(0,COUNTIF($D$1:D1,$A$1:$A$19),0)),0)
并将其向下拖动以进行复制

然后,我们需要查找第一、第二、第三等匹配项:
E2=IFERROR(索引($B$1:$B$19,小型)(如果($D2=$A$1:$A$19,行($A$1:$A$19))MIN(行($A$1:$A$19))+1,“”,E$1)),0)
再次向下拖动,向右拖动以填充E2:N12上的所有单元格

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

尝试使用数据透视表。。。