用ArrayFormula连接字符串


9

我在H和I栏中有以下字符串。

H2="http://"
I2="aaa"
H3="http://"
I3="bbb"

我想要一个自动生成的J列,其结果如下:

J2="http://aaa"
J3="http://bbb"

因此,我在J1中输入了以下公式:

= ARRAYFORMULA (IF(ROW(J:J)=1;"formulaTest";CONCATENATE(H:H1, I:I1 ) ))

但是我得到的结果是:

J2="http://http://aaabbb"
J3="http://http://aaabbb"

我的公式出了什么问题?

Answers:


14

这是您要寻找的:

=ARRAYFORMULA((IF(ROW(J:J)=1,"formulaTest",H1:H & I1:I)))

3
大!现在终于可以使用了!尽管我仍然不知道为什么不能使用“ CONCATENATE”,但我需要在此公式中使用“&”。

3
@srjohnhuang使用时CONCATNATE,会将完整的列范围输入到ARRAYFORMULA。使用“&”号,仅输入单个条目,即可获得所需的结果。
Jacob Jan Tuinstra

3
您可以使用&但不能使用concatenate()的原因是,串联可以采用一个范围,而&只能加入特定的离散值。

8

在Google表格中,最简单的解决方案是仅使用CONCAT而不是CONCATENATE。

=ARRAYFORMULA(CONCAT(H1:H,I1:I))

CONCAT将仅返回两个值,并且可以以这种方式用于数组公式。您不能使用CONCATENATE,因为(正如其他人所提到的)它将返回整个数组。


2
或更短的时间=arrayformula(H1:H & I1:I)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.