我的问题已在此处处理,但我想不通并应用于我的公式
How to automatically update formula when inserting columns.
我真的很感谢这里的帮助。谢谢!!!
这是我得到的公式:
=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 = Dates!$ A2; $ D15; IF($ A $ 14 = Dates!$ A3; $ G15; IF($ A $ 14 = Dates!$ A3; $ J15; 0; 0)))
C16 = IF($ A14 =日期!$ A2; $ D16 + $ E15 + $ B13; IF($ A14 =日期!$ A3; $ G16 + $ H15; 0)) 到= IF($ A14 = Dates!$ A2; $ D16 + $ E15 + $ B13; IF($ A14 = Dates!$ A3; $ G16 + $ H15; IF($ A14 = Dates!$ A3; $ J16 + $ K15; 0 )))
C17 = IF($ A14 =日期!$ A2; $ D17; IF($ A14 =日期!$ A3; $ D17 + $ G17; 0)) 到= IF($ A14 = Dates!$ A2; $ D17; IF($ A14 = Dates!$ A3; $ D17 + $ G17; IF($ A14 = Dates!$ A3; $ D17 + $ G17 + J17; 0)) )
以此类推...
答案 0 :(得分:0)
丹尼尔(Daniel),我尝试了一下,并且找到了一种方法来获取您的答案。我相信您其余的问题也可以通过相同的方式解决。查看样本表中的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”,该地址将转换为列“ 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年是好的,但是如果您还需要五年左右的时间,可以延长它的时间。也许有一种动态构建它的方法,但是我现在没有时间。