首页 文章

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

提问于
浏览
1

我试图在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

    如果您在A1中使用:

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

    然后根据需要复制,这具有避免易失性INDIRECT设置的额外好处 .

    问候

  • 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 + (Row()-1)*6 动态确定数字 11 . 对于 B1ROW() 返回 0 ,因此公式为 11+(0-1)*611 . 那个11与 Scores!AF 连接,然后 Indirect() 返回到公式,这样它就可以从工作簿中查找得分!AF11并返回它的值 .

    当您将该公式复制到 B2 时, ROW() 返回 2 ,然后公式计算出 17 ,这是您的 B1 值6 .

    这是一些跳跃,跳过和跳跃,以获得你需要的东西,但公式将很好地复制下来,为您节省大量的打字 .

相关问题