CONCATENAR una cadena con una fórmula Array

9

Tengo la siguiente cadena en la columna H e I.

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

Quiero tener una columna J autogenerada, que da como resultado:

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

Así que puse la siguiente fórmula en J1:

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

Pero el resultado que obtuve es:

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

¿Qué está mal con mi fórmula?

srjohnhuang
fuente

Respuestas:

14

Esto es lo que estás buscando:

=ARRAYFORMULA((IF(ROW(J:J)=1,"formulaTest",H1:H & I1:I)))
Jacob Jan Tuinstra
fuente
3
¡Excelente! ¡Finalmente funciona ahora! Aunque todavía no sé por qué no puedo usar "CONCATENAR", en su lugar necesito usar "&" en esta fórmula.
3
@srjohnhuang Con el CONCATNATE, el rango completo de columnas se alimenta al ARRAYFORMULA. Usando el ampersand, solo se alimentan las entradas individuales, dándole el resultado deseado.
Jacob Jan Tuinstra
3
La razón por la que puede usar & pero no concatenate () es que concatenate puede tomar un rango, mientras que & solo puede unir valores discretos específicos.
8

En Google Sheets, la solución más simple es usar CONCAT en lugar de CONCATENATE.

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

CONCAT devolverá solo dos valores y puede usarse de esta manera para una fórmula de matriz. No puede usar CONCATENATE porque (como lo han mencionado otros) devolverá toda la matriz.

craig_in_jp
fuente
2
O incluso más corto,=arrayformula(H1:H & I1:I)