【发布时间】:2019-12-02 13:43:40
【问题描述】:
我有三个相互关联的 google sheet 电子表格。在工作表“输入数据”中定义了名称和不同的角色。
在表格“分配”中,这些特定名称被分配了值:我在位置上使用以下公式:
=IF(C2<>"", VLOOKUP(C2,'Input Data'!C$3:D$7,2,FALSE),"")
在表格“评估”中进行评估。问题是,如果从“输入数据”中删除了名称(例如:Green、John)但仍在“分配”中,则此公式的“评估”工作表上会出现以下错误:
=ARRAY_CONSTRAIN(ARRAYFORMULA(SUM(IF((IF($B$2="dontcare",1,REGEXMATCH(Assignment!$E$3:$E$577,$B$2 &"*")))*(IF($B$3="dontcare",1,(Assignment!$E$3:$E$577=$B$3)))*(IF($B$4="dontcare",1,(Assignment!$D$3:$D$577=$B$4)))*(IF($B$5="dontcare",1,(Assignment!$F$3:$F$577=$B$5)))*(IF($B$6="dontcare",1,(Assignment!$B$3:$B$577=$B$6))),(Assignment!S$3:S$577)))), 1, 1)
错误:评估 VLOOKUP 时,未找到值“Green, John”。 是否可以使用从分配表中删除不在输入数据表中的名称的宏来避免此错误?您对代码有任何想法吗?所以我唯一的问题是,如何编写一个脚本来删除分配列表中的完整行,如果一行出现的名称像 Green,John,它不在输入数据列表中。简短版:示例!作业表:第 7 行 Green, John -> 检查 Green, John 是否在 C 行的表输入数据中!如果绿色,约翰不在输入数据行 C -> 删除第 7 行绿色,约翰在分配中! ....这基本上是我的问题! 带有进一步解释的示例表:https://docs.google.com/spreadsheets/d/1OU_95Lhf6p0ju2TLlz8xmTegHpzTYu4DW0_X57mObBc/edit#gid=1763280488
【问题讨论】:
-
为什么不构建一个包含 3 张纸的简单示例表并向我们展示您想要发生的事情……您的公式对我们毫无用处,因为它看起来像您有未定义的函数。
-
这些函数名称是德语。我花了一秒钟才意识到。是的,使用样本数据解决这个问题会容易得多。我也认为 Apps Script 可能比使用内置公式更容易解决这个问题。
-
您好,能否提供更多关于您的数据和您使用的功能的信息?非常感谢!
-
我拍了一张样张照片并稍微编辑了问题!你现在能帮帮我吗? @carlesgg97
-
我拍了一张样张照片并稍微编辑了问题!你现在能帮帮我吗? @CodeCamper
标签: google-apps-script google-sheets vlookup google-sheets-formula