Google sheets Googlesheet根据内容在下一列中合并2个单元格

Google sheets Googlesheet根据内容在下一列中合并2个单元格,google-sheets,array-formulas,Google Sheets,Array Formulas,我有一个谷歌表格,a列=ID,如B-124992或D-133739,还有几个不同的ID,B列=标题说明。我只想将类似“B-”和“D-”的ID与其各自的标题描述合并。我在C列中使用了ArrayFormula,如: = ArrayFormula(IF(ISNUMBER(FIND({"B-","D-"};'BacklogData'!A2));A2&" - "&B2;"")) 结果按预期合并,但输出分布在C列(显示所有“B-”合并结果)和D列(显示所有“D-”合并结果) 如何获得C列中

我有一个谷歌表格,a列=ID,如B-124992或D-133739,还有几个不同的ID,B列=标题说明。我只想将类似“B-”和“D-”的ID与其各自的标题描述合并。我在C列中使用了ArrayFormula,如:

= ArrayFormula(IF(ISNUMBER(FIND({"B-","D-"};'BacklogData'!A2));A2&" - "&B2;""))
结果按预期合并,但输出分布在C列(显示所有“B-”合并结果)和D列(显示所有“D-”合并结果)

如何获得C列中的所有结果?在C2中尝试:

=ArrayFormula(if(len(B2:B); if(regexmatch(A2:A; "(B-|D-)"); A2:A&"-"&B2:B;);))
如果列A以B-或D开头,这将引用colA并输出列A和列B的串联。 注意:您必须删除C列中当前的所有公式

希望有帮助


编辑:不确定您是否引用了其他工作表,但在这种情况下,您必须添加工作表名称,就像您在给出的示例中所做的那样。

我认为您不需要数组公式-您只需要标准公式中的
条件:

=IF(OR(LEFT(A2,2)="B-",LEFT(A2,2)="D-"),A2&" - "&B2,"")

并根据需要复制尽可能远的列C。因为这不是一个数组,所以每个单元格只返回一个结果,这是您想要的。

为什么需要一个数组公式-如果(或(左(A2,2)=“B-”,左(A2,2)=“D-”,A2&“-”&B2-”),不会
=IF(或(左(A2,2)=“B-”,左(A2,2)=“D-”,A2&“&B2-”)
work?非常有魅力!非常感谢!此ArrayFormula也非常有效!我决定使用上一个解决方案,因为我理解它更容易。非常感谢!虽然此解决方案也有效,但ArrayFormula无需向下拖动。这样,您只需要一个公式,而不需要n个公式。