Google sheets 在arrayformula中使用查询、索引和拆分无效
我有一个工作表,它有一列(D),其中的值用“-”分隔,我尝试拆分该值并获取后半部分,然后在查询中使用它来查找和获取另一个值 例如,第1页Google sheets 在arrayformula中使用查询、索引和拆分无效,google-sheets,sql,Google Sheets,Sql,我有一个工作表,它有一列(D),其中的值用“-”分隔,我尝试拆分该值并获取后半部分,然后在查询中使用它来查找和获取另一个值 例如,第1页 Col D | --------------| 67009-XYZ0001 | 第2页 Col C | Col D | Col E | ------------|-------|----------| XYZ0001.jpg | | test.com | 公式应导致“test.com” 当它在细胞中被自己使用时
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显示了所需的结果,但仅在单元格中有效
=过滤器(VLOOKUP(查询(拆分(D2:D,“-”),“选择列2”),
{REGEXEXTRACT(Sheet2!C:C,“[^.]*”),Sheet2!E:E},2,),D2:D“”)
:获取第2列的索引,函数查询
不适用于索引
数组公式
:获得精确匹配vlookup
:获取点(.)前面的文本部分regexExtract
text“contains”不适用于多个条目,它不等同于语句“in”query
“([^.-]*)\。”
而不是“[^.]*”
谢谢,这似乎有效,但我如何使第一行成为列的标题,现在第一行显示结果。因为行是通过导入添加的,这就是为什么我使用arrayformula在第1行中添加列标题并获得结果,而不管导入是什么。={“Custom header”;formula}