如何使用填充句柄在Excel INDEX公式中增加行值?

我有一个Excel表和两列A和B.示例数据如下:

ColA ColB Name Elmo Address1 125 Sesame Street Address2 Disney land, Fl 85381 Name Elsa Address1 35 Frozen island Address2 Disney land, Fl 85381 Address3 USA 

等等的一些logging。 我想用索引公式将这些信息转换为:

 Name Address1 Address2 Address3 Elmo 125 Sesame Street Disneyland, Fl 85381 Elsa 35 Frozen island Disneyland, Fl 85381 USA 

使用Excel的copypaste-specialtranspose将是太费时,因为有很多logging。 我列出了标题,并使用D2=INDEX($B$1:$B$927,1)作为值。 我想使用填充手柄横向拖动它,行号从1增加到2到3等

谢谢你的build议。

select一个单元格并input:

 =OFFSET($B$1,COLUMNS($B:B)-1+(ROWS($1:1)-1)*3,0) 

然后跨越和下来复制:

在这里输入图像说明

假设你的结果表有Name,Address1,Address2作为头文件,你可以在每个文件中使用行号。

名称下的单元格可以有以下公式: =INDEX($B$2:$B$17,ROW()*3-5)

Add1下的单元格可以有这样的公式: =INDEX($B$2:$B$17,ROW()*3-4)

Add2下的单元格可以有这样的公式: =INDEX($B$2:$B$17,ROW()*3-3)

(作为图中列H,I,J中的值仅用于说明目的。

示例Excel截图

这是一个不同的答案,因为:所述问题的要求与以前的答案不同。

作为第一步,您需要添加一个“名称计数器” – 这标识了您的数据中存在多less独特的人。 我已经添加了数据左侧的A列。 A2中的第一个值是1。 在A3中,公式是=IF(B3="Name",A2+1,A2) 。 这可以一直拖到数据的末尾。 (见截图)

在你的结果表中,你将不得不同样地添加一个从1开始的名称计数器列到唯一的名字条目。 这是我的示例表中的列E(见截图)

在您的结果表中input最左上angular单元格的公式(在我的示例中,这是单元格F2)是{=INDEX($C$2:$C$25,MATCH($E2&F$1,$A$2:$A$25&$B$2:$B$25,0))}

由于这是一个数组公式,请在您的单元格中input=INDEX($C$2:$C$25,MATCH($E2&F$1,$A$2:$A$25&$B$2:$B$25,0))对应我的F2,然后Ctrl + Shit + Enterinput公式。 Excel会自动将大括号括起来,并将其标识为数组计算。

您可以将此公式粘贴到其余的单元格中。 (因为它是一个粘贴公式的数组公式将不起作用,因此只能将它粘贴到空单元格中。)

示例截图 (A,B,C – 数据; E,F,G,H – 公式; J,K,L,M –