Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 在arrayformula中使用查询、索引和拆分无效_Google Sheets_Sql - Fatal编程技术网

Google sheets 在arrayformula中使用查询、索引和拆分无效

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” 当它在细胞中被自己使用时

我有一个工作表,它有一列(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显示了所需的结果,但仅在单元格中有效

=过滤器(VLOOKUP(查询(拆分(D2:D,“-”),“选择列2”),
{REGEXEXTRACT(Sheet2!C:C,“[^.]*”),Sheet2!E:E},2,),D2:D“”)

  • 查询
    :获取第2列的索引,函数
    索引
    不适用于
    数组公式
  • vlookup
    :获得精确匹配
  • regexExtract
    :获取点(.)前面的文本部分
注:

  • query
    text“contains”不适用于多个条目,它不等同于语句“in”

您可以共享一份电子表格吗?供将来参考:数组公式不适用于查询(以及两个不同的基于数组的公式)共享了一份电子表格。谢谢,但它在我想要的上下文中不起作用,我共享了显示错误结果和我想要的结果的工作表。您需要使用另一个正则表达式,使用
“([^.-]*)\。”
而不是
“[^.]*”
谢谢,这似乎有效,但我如何使第一行成为列的标题,现在第一行显示结果。因为行是通过导入添加的,这就是为什么我使用arrayformula在第1行中添加列标题并获得结果,而不管导入是什么。
={“Custom header”;formula}