嵌套的Regexmatch不适用于0和0的范围

时间:2015-02-23 21:18:18

标签: regex google-sheets

我有一个和滤波器公式,并在其中嵌套了一个REGEXMATCH函数作为过滤要求和的范围的条件。

完整的公式如下:

=sum(filter(data,
region1=$AF$4,
industry=$A11,
quarter=AG$9,
REGEXMATCH(consent,"1")))

范围"同意"对于范围内的每个值,只有0或1。

当我运行此函数时,返回0,而我期望大约1,000。

documentation for REGEXMATCH

  

"此功能仅适用于文本(不是数字)作为输入和返回   文本作为输出。如果需要一个数字作为输出,请尝试使用   VALUE功能与此功能配合使用。如果使用数字   作为输入,使用TEXT函数将它们转换为文本。"

我不知道该怎么做。我尝试了以下方法:

REGEXMATCH(consent,1) // no luck
REGEXMATCH(TEXT(consent),"1") // no luck
REGEXMATCH(TEXT(consent),TEXT(1)) // no luck

但是,如果我这样做:

REGEXMATCH(consent,".*") // does work for all data in consent

我怎样才能告诉GSheets在范围同意的情况下REGEXMATCH等于1?

1 个答案:

答案 0 :(得分:1)

我认为文档有点误导,因为虽然你可以使用TEXT函数(requires a second argument that prescribes the format of the output转换为文本,这就是你的尝试不起作用的原因),但它可能不是最简单的方法。可能更好的是TO_TEXT,或者只是附加&""

REGEXMATCH(TO_TEXT(consent),"1") REGEXMATCH(consent&"","1")

话虽如此,您有理由不能使用consent=1(在这种情况下,您可以将consent单独用作FILTER中的参数?