google-sheets - 如何在 Google 表格的过滤器中使用 REGEXMATCH 和 SPLIT?
问题描述
我有两个数据集:
- 数据集 1 是我们销售团队的数据
- 数据集 2 是我们财务团队的数据
这两组之间的共同元素是发票 ID列(数据集 1 中的列 A 和数据集 2 中的列 E)。但是,在数据集 1 中,此数据存储为数组,而在数据集 2 中,数组的每个值都显示在自己的行中。
目标
我希望能够使用来自数据集 1 的数据来丰富数据集 2(cols F 和 G),但是,我无法完成这项工作。我试过使用=FILTER(A3:A7, REGEXMATCH(TEXT(E3, "0"), TEXT(ARRAYFORMULA(SPLIT(A3:A7, ",")), "0")))
,但这给了我以下错误:“过滤器范围必须是单行或单列。”。我知道这是由于该SPLIT
功能而发生的,但我不知道该怎么做。
该表可以在这里找到。
任何帮助都非常感谢。
解决方案
我在您的示例电子表格中添加了一个新工作表(“Erik 帮助”)。以下单个公式将产生 F3:G 的所有结果 ...
=ArrayFormula(IF(E3:E="",,VLOOKUP("*"&"%"&E3:E&"%"&"*",{REGEXREPLACE("%"&A3:A&"%","[,\s]","%"),B3:C},{2,3},FALSE)))
该%
符号仅用于将 Col A 和 Col E 中的每个元素“填充”为独特的东西,以区分搜索词1
,例如14
(即,VLOOKUP
将搜索%1%
而不是 just 1
,不会在 中找到%14%
,等等。 ) 该%
符号无特殊含义;它可能是我们确信通常不会出现在 Col A 或 Col E 中的任何独特角色。
REGEXREPLACE
%
除了前面和后面的位置,用这个特殊字符替换所有逗号和空格。1, 14
因此,此时工作表会看到类似的 Col-A 列表为%1%%14%
.
The*
是一个通配符,附加在搜索词的前后,这将允许在包含列表的 Col A 的元素中找到它。
{2,3}
返回来自虚拟数组的第二列和第三列(例如)的结果。
推荐阅读
- java - 在石英作业中使用@Autowired 服务
- python - 需要从 JSON 文件中截取一些不必要的信息并保留 JSON 结构
- python - VGG-16 和 ResNet 的最小输入大小是多少,我可以更改它们吗?
- css - 如何根据表格大小定位下拉或下拉
- android - 颤振 webview net::ERR_NAME_NOT_RESOLVED
- powerbi - 如何使用切片器 Power BI 显示分层数据?
- html - 如何在父元素中容纳许多 HTML 子元素?
- python - 如何使用 Beautiful Soup 4 获取链接和标题
- javascript - 使用谷歌表格中的值创建谷歌脚本以自动提交谷歌表单
- javascript - 在 nodeJs 中,什么是更快的处理,else if 语句或通过 return 避免它们?