Excel - 拖放和重复公式模式系列

Posted

技术标签:

【中文标题】Excel - 拖放和重复公式模式系列【英文标题】:Excel - Drag and repeat formula pattern series 【发布时间】:2015-09-03 16:46:36 【问题描述】:

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

我定义了表中的前 2 行,它有 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 多个并且将来可能更多。

【问题讨论】:

是的,所有列都需要增加 6。 【参考方案1】:

如果你在 A1 中改用:

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

然后根据需要向下复制,这具有避免不稳定的间接设置的额外好处。

问候

【讨论】:

【参考方案2】:

您可以对公式使用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() 将其返回到公式,以便它可以从工作簿中查找 Scores!AF11 并返回它的值。

当您将该公式复制到 B2 时,ROW() 将返回 2,然后该公式将计算为 17,即您的 B1 值 + 6。

这只是一些跳跃、跳跃和跳跃来获得你需要的东西,但公式会很好地复制下来并为你节省大量的打字时间。

【讨论】:

以上是关于Excel - 拖放和重复公式模式系列的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 可在两个容器之间拖放和拖放,并且可排序

拖放和调整大小重叠

Angular Material、cdk、拖放、拖放和插入到 TextArea 字段的当前位置

在 FabricJS 画布上拖放和删除对象

jquery拖放和克隆,找到元素的放置位置

Jquery拖放和克隆