【发布时间】:2017-03-16 22:53:43
【问题描述】:
我正在按关键字过滤 gSheet 上的数字,这些数字由查看者从通过数据验证创建的预定下拉列表中选择。
观众可以选择多个选项,包括“全部”。因为“All”不是数据源中的可过滤关键字,所以我使用 FILTER(REGEXMATCH(IF(...))) 对数据进行排序。下拉列表位于单元格 B1 中,因此当 IF 语句为 false 时,我在 REGEXMATCH 中引用它。
问题:RegEx 匹配文本,而不是数字。当我引用单元格 B1 时,公式会出错,因为它不是文本值。但是当我将它设为文本值时,它找不到匹配项(当然)。
当前:
=SUM(IFERROR(FILTER(Sheet1!$E:$E,
REGEXMATCH(Sheet1!$I:$I,IF(B1="All","organic|paid|other",B1))=true),0))
- 根据所选关键字对 E 列求和
- 第 I 列包含要匹配的关键字
- 单元格 B1 包含用户选择关键字的下拉列表
我的尝试:
-
VALUE(B1)- 引用它作为一个值,希望它会读取返回的文本;它因输入错误而出错 -
TEXT(B1)- 将其作为文本引用;它读作“B1” -
"""&B1&"""- 三引号,意思是引用的引号将传递并包含 B1 返回的文本;上面写着“&B1&”(哦) -
\"B1\"- 转义单元格引用;我第一次尝试在正则表达式中逃脱,所以这很可能是一个糟糕的实现的正确答案
从 REGEXMATCH 表达式中引用单元格 B1 的任何其他想法?
【问题讨论】:
标签: regex google-sheets excel-formula