ARRAYFORMULA - 不适用于 CONCATENATE
ARRAYFORMULA - Not Working on CONCATENATE
我在 Google 表格文档中有以下公式:
=TRIM(CONCATENATE(LOOKUP($D3, MetaData_Classes!$B:$B, MetaData_Classes!$D:$D), " ", $E3, " ", LOOKUP($D3, MetaData_Classes!$B:$B, MetaData_Classes!$E:$E)))
(Spreadsheet available here,代码在'Formatted Subclasses'table中的'MetaData_Subclasses'选项卡中。
虽然很长,但基本上分解为以下通俗易懂的语言命令:
获取与 D3 关联的两个值,并将它们连接到 E3 的任一侧(修剪空格)。
这个公式运行良好,可以向下拖动它所在的整个列以获得所需的结果。
但是,我想自动执行此过程,这样您就不需要在添加新元素时手动将公式复制到列中,而且 ARRAYFORMULA
似乎是为此任务构建的。
问题似乎是 ARRAYFORMULA
无法很好地尝试将其转换为它可以理解的公式。即使只是尝试以下测试命令也会失败:
=ARRAYFORMULA(CONCATENATE(D3:D))
因为 CONCATENATE
在 ARRAYFORMULA
之前获取数组值(因此输出一个包含 D3:D 中每个元素的字符串)。
如何在使用 CONCATENATE
、LOOKUP
等功能的同时仍然能够使用 ARRAYFORMULA
?
或者是否有另一种方法可以将此公式放在整列中?
=ARRAYFORMULA(TRIM(
IFERROR(VLOOKUP(C2:C, MetaData_Classes!A2:D, 3, 0))&" "&D2:D&" "&
IFERROR(VLOOKUP(C2:C, MetaData_Classes!A2:D, 4, 0))))
我在 Google 表格文档中有以下公式:
=TRIM(CONCATENATE(LOOKUP($D3, MetaData_Classes!$B:$B, MetaData_Classes!$D:$D), " ", $E3, " ", LOOKUP($D3, MetaData_Classes!$B:$B, MetaData_Classes!$E:$E)))
(Spreadsheet available here,代码在'Formatted Subclasses'table中的'MetaData_Subclasses'选项卡中。
虽然很长,但基本上分解为以下通俗易懂的语言命令:
获取与 D3 关联的两个值,并将它们连接到 E3 的任一侧(修剪空格)。
这个公式运行良好,可以向下拖动它所在的整个列以获得所需的结果。
但是,我想自动执行此过程,这样您就不需要在添加新元素时手动将公式复制到列中,而且 ARRAYFORMULA
似乎是为此任务构建的。
问题似乎是 ARRAYFORMULA
无法很好地尝试将其转换为它可以理解的公式。即使只是尝试以下测试命令也会失败:
=ARRAYFORMULA(CONCATENATE(D3:D))
因为 CONCATENATE
在 ARRAYFORMULA
之前获取数组值(因此输出一个包含 D3:D 中每个元素的字符串)。
如何在使用 CONCATENATE
、LOOKUP
等功能的同时仍然能够使用 ARRAYFORMULA
?
或者是否有另一种方法可以将此公式放在整列中?
=ARRAYFORMULA(TRIM(
IFERROR(VLOOKUP(C2:C, MetaData_Classes!A2:D, 3, 0))&" "&D2:D&" "&
IFERROR(VLOOKUP(C2:C, MetaData_Classes!A2:D, 4, 0))))