Google表格-Arrayformula查询拆分调试

时间:2020-10-02 10:03:45

标签: google-sheets google-sheets-formula

我有一个电子表格,可以在其中手动复制和粘贴pdf表中的某些数据。 我一直在使用数组查询拆分将信息拆分为不同的列,并且它在2列(日期和金额)中都可以正常工作,而在另一列中,大部分时间(参考)都可以正常工作。

有效的示例:

  • PDF数据:4500063794 21.07.2020 187.50
  • 电子表格中的列(拆分后的最终结果):参考:4500063794,日期:21.07.2020,金额:187.50
  • 检索参考列的公式:=ArrayFormula(QUERY(SPLIT(C3:C7 ;" ");"select Col1";0))
  • 这适用于电子表格,没有任何问题

另一个有效的示例:

  • PDF数据:447 / 20.6TBOS 04.07.2020 804.00
  • 电子表格中的列(拆分后的最终结果):参考:447 / 20.6TBOS,日期:04.07.2020,金额:804.00
  • 检索参考列的公式:=ArrayFormula(QUERY(SPLIT(C3:C7 ;" ");"select Col1";0))
  • 这适用于电子表格,没有任何问题

不起作用的示例:

  • 如果我像第一个示例一样粘贴几行,然后在第二个示例中添加几行,那么当我之后粘贴更多的数据(如第一个示例中的一个)时,split将停止检索类似于“ 447 / 20.6TBOS”的pdf数据的“参考”列04.07.2020 804.00“(第二个示例)。为此,它会检索空白单元格。

有人能对此发出光芒吗? 预先感谢

Example Spreadsheet

1 个答案:

答案 0 :(得分:2)

将查询更改为:

=ArrayFormula(INDEX(SPLIT(REGEXREPLACE(C3:C7; "\s"; "♥");"♥");ROW(C3:C7)-ROW(C3);1))

该公式将用空格(稀有字符)替换空格,然后填充其余部分。

要更改行的值,只需将最后一个字符1更改为2或3: )-ROW(C3); ==> 1 ))

enter image description here

您可以在G列中使用相同的公式(不要忘记更新范围),因为4500063794 21.07.2020 187.50447/20.6TBOS 04.07.2020 804.00的分隔符都相同(空格)。