CONCATENER une chaîne avec un ArrayFormula


9

J'ai la chaîne suivante dans les colonnes H et I.

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

Je veux avoir une colonne J générée automatiquement, qui se traduit par:

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

J'ai donc mis la formule suivante dans J1:

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

Mais le résultat que j'ai obtenu est:

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

Qu'est-ce qui ne va pas avec ma formule?

Réponses:


14

Voici ce que vous recherchez:

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

3
Génial! Cela fonctionne enfin maintenant!. Bien que je ne sache toujours pas pourquoi je ne peux pas utiliser "CONCATENATE", j'ai plutôt besoin d'utiliser "&" dans cette formule.

3
@srjohnhuang Avec le CONCATNATE, la gamme complète de colonnes est envoyée au ARRAYFORMULA. En utilisant l'esperluette, seules les entrées individuelles sont introduites, vous donnant le résultat souhaité.
Jacob Jan Tuinstra

3
La raison pour laquelle vous pouvez utiliser & mais pas concaténer () est que concaténer peut prendre une plage alors que & ne peut joindre que des valeurs discrètes spécifiques.

8

Dans Google Sheets, la solution la plus simple consiste à simplement utiliser CONCAT au lieu de CONCATENATE.

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

CONCAT ne renverra que deux valeurs et peut être utilisé de cette manière pour une formule matricielle. Vous ne pouvez pas utiliser CONCATENATE car (comme mentionné par d'autres), il renverra tout le tableau.


2
Ou encore plus court,=arrayformula(H1:H & I1:I)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.