自动更新下拉菜单,当数据验证单元格内容更改时(谷歌表格)

时间:2021-06-27 20:21:18

标签: validation google-sheets

我有一个值列表,例如 {A、B、C},然后是一个下拉菜单,它取决于我刚刚共享的值列表!所以在下拉菜单中,我可以选择 A、B 或 C! 假设我为我创建的一堆下拉单元格选择了值 C,然后我将值列表中的值 C 更改为类似 K 的值,即我的新值列表变为 {A, B, K}!为什么我选择为 C 的那一堆值不会自动更改为 K!有没有办法自动更新它们,我从下拉列表中选择了相应的 C 值?

1 个答案:

答案 0 :(得分:0)

要替换值,您可以使用 TextFinder

function changeOptions(target, search, replaceWith) {
  target
    .createTextFinder(search)
    .matchCase(true)
    .matchEntireCell(true)
    .matchFormulaText(false)
    .replaceAllWith(replaceWith)
}

您可以将其与 onEdit(e) 结合使用。首先获取必要的数据:

  const { source, range, oldValue, value } = e

如果编辑不在选项页面上或编辑的值为空或已被删除,则停止该功能:

  if (!oldValue || !value || range.getSheet().getName() !== OPTIONS_SHEET_NAME)
    return

最后进行替换:

  const target = source.getRange(VALIDATED_RANGE)
  changeOptions(target, oldValue, value)

OPTIONS_SHEET_NAME 是带有选项的工作表的名称。 VALIDATED_RANGE 必须是与工作表完全相同的 A1 范围(例如 Values!A1:A)。

此外,您可能需要根据需要对其进行修改。

参考文献