我有一个工作表,该工作表的列(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) &"'")
在数组公式中使用它而无需查询split和index即可正常工作。
=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) &"'")))
还有其他方法可以实现这一目标。
感谢您的帮助。谢谢
我已经分享了link to the spreadsheet
第1张结果显示错误
第3页显示了所需的结果,但仅在单元格中有效。
答案 0 :(得分:1)
=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”