Respuesta1
Si desea la cadena de texto, utilice:
="={"""&TEXTJOIN(""",""",,SUBSTITUTE($A$2:$A$5," ","""/""")) & """}"
Si desea una matriz real que se usará en otro lugar, utilice:
IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(TRANSPOSE($A$2:$A$5)," ","</b><b>")&"</b></a>","//b["&ROW($A$1:$A$4)&"]"),"")
Esto creará una matriz de 4x4 que se puede usar en otra fórmula. Dependiendo de la versión de cada uno, usar esto en otra fórmula requerirá el uso de Ctrl-Shift-Enter en lugar de Enter al salir del modo de edición para forzar la fórmula matricial.
No conozco ninguna forma de hacer lo que quiere F9
y mostrar la matriz en la barra de fórmulas.
Respuesta2
Bueno, la cadena literal, menos el error tipográfico "JONH" que simplemente no voy a replicar, se puede obtener con la fórmula de Scott Craner ajustada ligeramente (y usé SEQUENCE()
en lugar del ROWS()
truco, tengo que usar las nuevas funciones para acostumbrarme). ellos, ¿eh?), luego se usó como base para algunos trabajos con cuerdas:
="={"""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(B234:B237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(C234:C237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(D234:D237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(E234:E237),SEQUENCE(4)))&"""}"
Tenga en cuenta que si bien proporciona el resultado literal deseado, el resultado esNOuna constante de matriz desde la perspectiva de Excel y NO será utilizada precisamente como F9
sería el resultado.
Es solo una cadena de texto para todos los aspectos de Excel. Por lo tanto, usarlo dentro de una fórmula probablemente resultará en un fracaso o en un éxito por pura casualidad. Quizás también funcione bien para algunos usos. Pero de ninguna manera es lo mismo ni equivalente a Excel, ya que la constante de matriz de uso interno resalta algo y presiona F9
crea.
Dicho esto, es feo e hinchado. Supongo que no sigo el hilo de un lado a otro en los comentarios, así que no veo por qué Scott Craner usó TRANSPOSE()
lo que me obligó a hacerlo también, ya que parece que el resultado deseado es de izquierda a derecha (comenta arriba con "A234 = " Jonh",...) así que al sacarlo y luego ajustar su A2:A5 para que sea A1:A4 (o dejar caer una fila para mis experimentos), obtengo:
=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(($A$234:$A$237)," ","</b><b>")&"</b></a>","//b["&SEQUENCE(1,4)&"]"),"")
para su fórmula y reelaborando la mía, luego mezclando la suya para usar una sola fórmula, obtengo:
="={"""&TEXTJOIN("""\""",,B234:E234)&""","""&TEXTJOIN("""\""",,B235:E235)&""", """&TEXTJOIN("""\""",,B236:E236)&""","""&TEXTJOIN("""\""",,B237:E237)&"""}"
que, por cierto, como tiene un patrón y una construcción repetitiva, uno puede usar los viejos CONCATENATE()
trucos union operator
para construirlo inmensamente con filas y columnas ajustándose muy bien antes de finalmente concatenarlo, pegarlo de manera especial como valor, luego colocar un "=" antes para convertirlo en una fórmula. Aún más fácil ahora. Para datos que no están en cuatro pequeñas filas y menos de cinco elementos.
Entonces, eso da la cadena resultante deseada expresada, aunque nuevamente, no es un resultado que Excel consideraría igual a la constante de matriz que ve después de usar F9
como se mencionó.
Y la fórmula modificada de Scott Craner daría el resultado de celda individual descrito en el comentario. Que a su vez podría usarse dentro de una fórmula para permitir que Excel cree esa constante de matriz interna. Pero NO, creo, usando la fórmula de cadena (que es un callejón sin salida, desde el punto de vista del cálculo), sino más bienusando la fórmula (ajustada) de Scott Craner dentro de cualquier fórmula que necesite en so Excel will evaluate it to the desired
una matriz constantey luego, en lugar de llenar estas 16 celdas, páselo por la cadena de cálculo dentro de esa fórmula.
Me acabo de dar cuenta de que es "Scott Tenorman" (o parecido) en South Park, de quien Cartman... se venga... ¡Ya no me molesta vagamente decir "Scott Craner" una y otra vez!