Excel - 拖动并重复公式模式系列

时间:2015-09-03 16:46:37

标签: excel excel-formula autofill

我试图在excel中复制一个公式,但它没有按照我的预期出现,但我正在寻找解决方案。

我在表中定义了前两行,它有4列

公式如下:

A1 =CONCATENATE(Scores!D11," (",Scores!F11,")")
B1 =Scores!AF11
C1 =Scores!AH11
D1 =Scores!AH15

A2 =CONCATENATE(Scores!D17," (",Scores!F17,")") 
B2 =Scores!AF17
C2 =Scores!AH17
D2 =Scores!AH21

我预计当我突出显示单元格并向下拖动它会重复公式时,将所有值加6,如上所示。

是否有一种简单的方法可以自动填充我需要的行,因为我必须填充80以及将来可能更多。

2 个答案:

答案 0 :(得分:0)

您可以使用Indirect()来确定公式应该追踪的行。基于公式所在的当前行的逻辑:

A1

=Concatenate(Indirect("Scores!D" & (11 + (Row()-1)*6)), " (", Indirect("Scores!F" & (11 + (Row()-1)*6)), ")")

B1

=Indirect("Scores!AF" & (11 + (Row()-1)*6))

您可以在B1示例中更清楚地了解正在发生的事情。我们使用该公式11动态确定数字11 + (Row()-1)*6。对于B1ROW()会返回0,因此公式为11+(0-1)*611。 11与Scores!AF连接,然后Indirect()返回到公式,以便它可以从工作簿中查找得分!AF11并返回它的值。

当您将该公式复制到B2时,ROW()会返回2,而公式则会计算到17,这是您的B1值+ 6。

这是一些跳跃,跳过和跳跃来获得你需要的东西,但是这个公式会很好地复制并节省很多打字。

答案 1 :(得分:0)

如果您在A1中使用:

=CONCATENATE(INDEX(Scores!D:D,11+6*(ROWS($1:1)-1))," (",INDEX(Scores!F:F,11+6*(ROWS($1:1)-1)),")")

然后根据需要复制,这样可以避免不稳定的间接设置。

此致