KONKATENIEREN Sie einen String mit einer ArrayFormula

9

Ich habe die folgende Zeichenfolge in Spalte H und I.

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

Ich möchte eine automatisch generierte J-Spalte haben, die sich wie folgt ergibt:

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

Also habe ich die folgende Formel in J1 eingefügt:

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

Aber das Ergebnis, das ich bekam, ist:

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

Was läuft mit meiner Formel falsch?

Srjohnhuang
quelle

Antworten:

14

Das suchen Sie:

=ARRAYFORMULA((IF(ROW(J:J)=1,"formulaTest",H1:H & I1:I)))
Jacob Jan Tuinstra
quelle
3
Großartig! Es funktioniert jetzt endlich!. Obwohl ich immer noch nicht weiß, warum ich "CONCATENATE" nicht verwenden kann, muss ich stattdessen "&" in dieser Formel verwenden.
3
@srjohnhuang Mit dem CONCATNATEwird der gesamte Spaltenbereich dem zugeführt ARRAYFORMULA. Mit dem kaufmännischen Und werden nur die einzelnen Einträge eingegeben, sodass Sie das gewünschte Ergebnis erhalten.
Jacob Jan Tuinstra
3
Der Grund, warum Sie & verwenden können, aber nicht verketten (), ist, dass verketten einen Bereich annehmen kann, während & nur bestimmte diskrete Werte verbinden kann.
8

In Google Sheets besteht die einfachste Lösung darin, nur CONCAT anstelle von CONCATENATE zu verwenden.

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

CONCAT gibt nur zwei Werte zurück und kann auf diese Weise für eine Array-Formel verwendet werden. Sie können CONCATENATE nicht verwenden, da (wie von anderen erwähnt) das gesamte Array zurückgegeben wird.

craig_in_jp
quelle
2
Oder noch kürzer,=arrayformula(H1:H & I1:I)