google-sheets - 在数组公式中使用查询、索引和拆分不起作用
问题描述
我有一张表,其中有一列 (D) 的值由“-”分隔,我试图拆分值并获取后半部分并在查询中使用它来查找和获取另一个值。
例如表 1
Col D |
--------------|
67009-XYZ0001 |
表 2
Col C | Col D | Col E |
------------|-------|----------|
XYZ0001.jpg | | test.com |
该公式应导致“ test.com ”
当它自己在单元格中使用时,它可以工作。
=query(Info!A:F,"Select E where C contains '"& index(SPLIT(D2,"-"),0,2) &"'")
在不查询拆分和索引的情况下在数组公式中使用它可以正常工作。
=ArrayFormula(IF(ROW(A:A)=1,"GET URL,index(SPLIT(D:D,"-"),0,2)))
但是当我尝试在数组公式中使用它以及查询时它不起作用。
=ArrayFormula(IF(ROW(A:A)=1,"GET URL",query(Info!A:F,"Select E where C contains '"& index(SPLIT(D:D,"-"),0,2) &"'")))
有没有其他方法可以实现这一点。
任何帮助表示赞赏。谢谢
我已共享电子表格的链接
表 1 显示错误的结果
表 3 显示了所需的结果,但仅适用于单元格。
解决方案
=FILTER(VLOOKUP(query(SPLIT(D2:D,"-"),"select Col2"),
{REGEXEXTRACT(Sheet2!C:C,"[^.]*"),Sheet2!E:E},2,),D2:D<>"")
query
: 获取第 2 列的索引,函数index
不适用于arrayformula
vlookup
: 得到完全匹配regexExtract
: 获取点 (.) 之前的文本部分。
笔记:
query
文本“包含”不适用于多个条目,它不等同于sql语句“in”
推荐阅读
- c# - EFcore 中的“FromSql”操作的结果中不存在所需的列“id”
- android - 插入新项目时如何防止recyclerview自动滚动到底部?
- macros - 为什么嵌套的 quasiquote 不展开 splice-unquote?
- javascript - 如何在 Angular 7 中使用 ngFor 仅在不提及数组列表中的键的情况下获取对象值
- python - Tkinter 变量观察者
- jquery - 从页面上所有表格中的特定单元格获取值
- node.js - 一旦自适应卡出现在微软聊天机器人中,如何禁用输入字段?
- vue.js - 无论数据中的值如何,都看不到带有 v-if 的 div
- angular - 如何访问拦截器内部的错误响应主体?
- android - 如何在 BottomNavigationView 上方显示 Snackbar 并移动 FAB?