首页 > 解决方案 > 添加列后自动更新公式

问题描述

我的问题已在此处处理,但我无法思考并将其应用于我的公式

如何在插入列时自动更新公式。

我真的很感谢这里的一些帮助。谢谢!!!

这是我得到的公式:

=IF($A$14=NAMES!$W2;$D15;
 IF($A$14=NAMES!$W3;$G15;
 IF($A$14=NAMES!$W4;$J15;
 IF($A$14=NAMES!$W5;$M15;
 IF($A$14=NAMES!$W6;$P15;
 0)))))

再插入三列后,它必须转到:

=IF($A$14=NAMES!$W2;$D15;
 IF($A$14=NAMES!$W3;$G15;
 IF($A$14=NAMES!$W4;$J15;
 IF($A$14=NAMES!$W5;$M15;
 IF($A$14=NAMES!$W6;$P15;
 IF($A$14=NAMES!$W7;$S15;
 0))))))

在右侧再添加 3 列后,它会查找 $A$14 中的值,如果它与 NAMES!$W + i中的值匹配,其中i是递增 1 的行,那么它会返回相同的特定列第 15 行,无论是 $D15、$G15、$J15,总是跳三列。

这 3 列是通过基于 GAS 中的日期/时间的触发器自动插入的,但我无法通过 GAS 自动更新公式。

我什至不确定这是否可能。

请帮忙!

谢谢!

由于评论太短,我再次在这里写:

你是对的!

这是具有编辑器访问权限的工作表的链接。

https://docs.google.com/spreadsheets/d/1Qkb96SgZ4dLRBebgxEiNkYiZ4sTtps-ZbBtBtE4J5os/edit?usp=sharing

所以基本上,每当创建新的一年或添加 3 列以上时,C15、C16 和 C17 中的公式都会自动更新

C15 =IF($A$14=日期!$A2;$D15;IF($A$14=日期!$A3;$G15;0)) 到 =IF($A$14=日期!$A2;$D15;IF ($A$14=日期!$A3;$G15;IF($A$14=日期!$A3;$J15;0;0)))

C16 =IF($A14=日期!$A2;$D16+$E15+$B13;IF($A14=日期!$A3;$G16+$H15;0)) 到 =IF($A14=日期!$A2;$ D16+$E15+$B13;IF($A14=日期!$A3;$G16+$H15;IF($A14=日期!$A3;$J16+$K15;0)))

C17=IF($A14=日期!$A2;$D17;IF($A14=日期!$A3;$D17+$G17;0)) 到 =IF($A14=日期!$A2;$D17;IF( $A14=日期!$A3;$D17+$G17;IF($A14=日期!$A3;$D17+$G17+J17;0)))

等等...

标签: google-sheets-formula

解决方案


丹尼尔,我试过了,并找到了一种方法来获得你的部分答案。我相信您的其他问题可以以同样的方式解决。查看样品表中的选项卡 Test-GK。您的原始公式在 C15 中;我的是C19。当您更改 B14 中的值时,两者都会更新。

我使用了一个公式来计算需要使用哪个单元格,而不是大量的 IF 语句。公式如下。

=INDIRECT(ADDRESS(15;(MATCH(A14;Dates!$A$2:$A$15;0))*3+1;4))

这使用 MATCH 从您的日期值中获取日期范围的“偏移”值。然后将其乘以 3 以跳转到右列。
因此,对于您列表中的第一个日期范围“a 31 de diciembre 2018”,MATCH 返回“1”(列表中的第一个日期范围)乘以 3 加 1 等于“4”,ADDRESS 将其转换为“D”列。使用您的工作表,该行始终为 15。所以 ADDRESS(15,1,4) 返回 D15。INDIRECT 得到 D15 的值。

我认为相同的原理可以用于 C16 中的公式。但我不清楚那个公式在做什么。您的脚本是否将值放入 B13?

让我知道这是否有用。

更新#1。我现在也有公式(我认为)来替换 C16 中的公式。除了第三个任期,加 B$13,只在第一个情况下?如有必要,可以使用一个 IF 语句来处理,以检查数据范围是否为“a 31 de diciembre 2018”。

让我知道如何使用 B13 值...

更新#2。还添加了一个公式来替换 C17 中的 IF。实际上相同,但使用 CHOOSE 函数来选择将哪些术语添加在一起,而不是使用 IF。如果您在日期范围内添加更多年份,可能会更清楚地维护。在 C17 中尝试这个公式 - 仔细检查逻辑。

=CHOOSE(MATCH(A14;Dates!$A$2:$A$15;0); D17; D17+G17; D17+G17+J17; D17+G17+J17+M17; D17+G17+J17+M17+P17; D17+G17+J17+M17+P17+S17; D17+G17+J17+M17+P17+S17+V17; D17+G17+J17+M17+P17+S17+V17+Y17)

到 2025 年就好了,但如果你还需要五年左右,你可以让它更长。也许有一种方法可以动态构建它,但我现在没有时间。


推荐阅读