我正在尝试从具有特定帐号的不同工作表中筛选出数据。但是,下面的代码没有给出任何结果
=query(importrange(Setup!B1,"Sheet1!A2:F"),"Select * where Col4 matches '\d\d-\d\d\d\d-[14-7]\d\d\d'",1)这将过滤掉第三组数字中第一个数字为1、4、5、6或7的所有帐户。帐户号码的宽度都相同,格式为xx-xxxx-xxxx。
发布于 2021-03-02 12:08:12
尝试使用以下内容作为匹配条件:
\d{2}-\d{4}-[14-7]{3}\d
此外,虽然我看不到您的数据,但请确保您的导入结果的第一行中确实有一个标题(这是您通过QUERY末尾的1请求的)。如果您实际上没有标头,1会给您留下比您想要的多一个结果;如果是这种情况,只需从QUERY的末尾删除,1即可。
如果这不能产生您想要的结果,可能是因为原始数据中的混合数据类型被QUERY过滤掉了。在这种情况下,您可以尝试使用FILTER和REGEXMATCH:
=ArrayFormula(FILTER(IMPORTRANGE(Setup!B1,"Sheet1!A2:F"),REGEXMATCH(IMPORTRANGE(Setup!B1,"Sheet1!D2:D"),"\d{2}-\d{4}-[14-7]{3}\d")))
看不见的情况下编写复杂的公式总是很难的。如果这些解决方案(在我的本地工作表中都有效)都不能产生您期望的结果,我鼓励您共享指向这两个工作表的链接。IMPORTRANGE调用的原始数据表可以是“仅查看”;但是您需要将第二个表(具有IMPORTRANGE公式本身的数据表)上的共享权限设置为“具有链接的任何人...”。和“编辑器”,这样这里的人就可以访问它来进行测试。
https://stackoverflow.com/questions/66431767
复制相似问题