我有一个查询栏。我试图获取该单元格的返回值,查看它是否包含字符串,并从查询与 A 列匹配的 B 列中提取值,但前提是另一列为空。一切都是字符串。
例如:
表 1:静态报告
A 栏 |
---|
查询 |
表 2:滚动日志
数据 | 其他数据 |
---|---|
精简数据 | 其他数据 |
表 3:静态数据库
代码列表 | 扩展信息 |
---|---|
代码 | 代码说明 |
我是如何尝试这样做的:
=QUERY({RollingLog!$A2:B;StaticDB!A2:B},"SELECT Col4 WHERE Col1 LIKE Col3"&if(Col2=""))
尝试将 RollingLog 上的数据与 StaticDB 上的 CodeList 进行比较,并从 StaticDB 返回 Expanded,其中代码包含在数据中,但仅限于其他数据为空的行。
我的做法可能是错误的,有什么想法吗?
在“StaticReport”的单元格 B2 中尝试此公式,其中单元格 A2 包含 RollingLog!A1 的值。
=query(
let(frag ,A2,
map(
query({StaticDB!A1:B},"select Col1 where Col1 is not null",),
query({StaticDB!A1:B},"select Col2 where Col1 is not null",),
lambda(s,i,if(regexmatch(frag,s),i,)))
),"select Col1 where Col1 is not null",)
逻辑
h/t @ninjagecko Google 表格公式中的多个正则表达式匹配
示例 - 静态报告
示例 - StaticDB