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"

私の処方で何が問題になっていますか?

回答:


14

これはあなたが探しているものです:

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

3
すごい!いよいよ動作します。"CONCATENATE"を使用できない理由はまだわかりませんが、この式では "&"を使用する必要があります。

3
@srjohnhuangを使用するCONCATNATEと、列範囲全体がに供給されますARRAYFORMULA。アンパサンドを使用すると、単一のエントリのみが供給され、目的の結果が得られます。
Jacob Jan Tuinstra 2014年

3
&を使用できるが、concatenate()は使用できない理由は、concatenateは範囲を取ることができるのに対し、&は特定の個別の値しか結合できないためです。

8

Googleスプレッドシートでは、CONCATENATEではなくCONCATを使用するのが最も簡単な解決策です。

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

CONCATは2つの値のみを返し、この方法で配列数式に使用できます。CONCATENATEは使用できません(他の人が述べたように)配列全体が返されるためです。


2
またはさらに短い=arrayformula(H1:H & I1:I)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.