【问题标题】:Google sheets compare value to list, if match copy value from another adjacent cell如果匹配来自另一个相邻单元格的复制值,则 Google 表格将值与列表进行比较
【发布时间】:2017-04-04 19:56:49
【问题描述】:

我正在寻找一个谷歌表格脚本来比较一个单元格中输入的值与表格中的一组值。然后根据选择填充相应的单元格。我已经链接了一个 google 表格文档以供参考。

例如在我下面的床单上:
从下拉列表中选择 A2 值后。
1) 与列表 A27:A37 比较
2)如果匹配,(比如 A31 是匹配的)。然后,从 B31 复制值并将该值填充到 C2 中(C2,因为我们在 A2 中输入了值)。

https://docs.google.com/spreadsheets/d/1ifK6Tc6KRrNbCMf-REIXxj4GEVlP-8gOgrqpX5_Rdlc/edit#gid=0

如果需要,我还需要输入自定义数字而不产生错误的选项。我在 google 表格文档中有更多注释。如果有人可以提供帮助,那就太好了。

谢谢! 特拉维斯

【问题讨论】:

  • 您好,您的电子表格没有任何脚本。请提供到目前为止的代码以及哪些代码不起作用。

标签: javascript list drop-down-menu google-apps-script google-sheets


【解决方案1】:

您可以使用 arrayformula 和 vlookup 来做到这一点:

=ARRAYFORMULA(If(len(A2:A13)>0,vlookup(A2:A13,$A$27:$B$37,2,false),))

我还将它添加到您的工作表中,以便您查看实时示例

如果您还想处理自定义案例 - 如果将其添加到列表中,它应该始终找到一个值 - 从技术上讲,您希望使 vlookup 范围动态,例如 $A$27:$B,因此它封装了列表中的任何添加.

您还可以稍微修改您的公式以处理 iferror,以便在查找中未找到任何值时默认为 0,这样就不会弄乱您的总价

=ARRAYFORMULA(iferror(If(len(A2:A13)>0,vlookup(A2:A13,$A$27:$B$37,2,false),),0))

【讨论】:

  • Aurielle,感谢您对此的回复。不幸的是,即使结合了 iferror 功能(默认字段为 0),一旦我在那里手动输入一个值,它就会破坏公式。列表上的自定义值可能每天都在变化,每次为自定义输入更新列表是不切实际的。这就是为什么我希望脚本能够工作。这样,如果人们删除了值单元格,公式就不会丢失,手动干预也会受到限制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
相关资源
最近更新 更多