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

时间:2016-02-15 15:22:38

标签: excel indexing

我有一张带有两列A和B列的Excel工作表。示例数据如下:

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

等等有很多记录。我想使用索引公式将此信息转置为:

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

使用excel' copypaste-specialtranspose会因为有很多记录而耗费时间。我已列出标题,并使用D2=INDEX($B$1:$B$927,1)作为值。我想使用填充手柄将其水平拖动并使行号从1增加到2到3等。

感谢您的建议。

3 个答案:

答案 0 :(得分:2)

假设您的结果表具有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列中的值仅用于说明目的。)

Sample Excel screenshot

答案 1 :(得分:1)

选择一个单元格并输入:

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

然后向上和向下复制:

enter image description here

答案 2 :(得分:0)

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

首先,您需要添加“名称计数器” - 这可以识别数据中存在多少个唯一身份用户。我在数据左侧添加了A列。 A2中的第1个值为1。在A3中,公式为=IF(B3="Name",A2+1,A2)。这样您就可以一直向下拖动到数据的末尾。 (见截图)

在结果表中,您必须同样添加一个名称计数器列,该列从1开始到唯一名称条目的no。这是我的样本表中的E列(见截图)

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

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

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

Sample Screenshot(A,B,C - 数据; E,F,G,H - 公式; J,K,L,M - As值)