首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入+查询+匹配+正则表达式

导入+查询+匹配+正则表达式
EN

Stack Overflow用户
提问于 2021-03-02 08:53:29
回答 1查看 89关注 0票数 0

我正在尝试从具有特定帐号的不同工作表中筛选出数据。但是,下面的代码没有给出任何结果

代码语言:javascript
复制
=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。

EN

回答 1

Stack Overflow用户

发布于 2021-03-02 12:08:12

尝试使用以下内容作为匹配条件:

\d{2}-\d{4}-[14-7]{3}\d

此外,虽然我看不到您的数据,但请确保您的导入结果的第一行中确实有一个标题(这是您通过QUERY末尾的1请求的)。如果您实际上没有标头,1会给您留下比您想要的多一个结果;如果是这种情况,只需从QUERY的末尾删除,1即可。

如果这不能产生您想要的结果,可能是因为原始数据中的混合数据类型被QUERY过滤掉了。在这种情况下,您可以尝试使用FILTERREGEXMATCH

=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公式本身的数据表)上的共享权限设置为“具有链接的任何人...”。和“编辑器”,这样这里的人就可以访问它来进行测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66431767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档