我试图在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以及将来可能更多。
答案 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
。对于B1
,ROW()
会返回0
,因此公式为11+(0-1)*6
或11
。 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)),")")
然后根据需要复制,这样可以避免不稳定的间接设置。
此致