Concatenar -> Unircadenas: formula matricial

Versión: 6.0.7.3 - Configuración regional: es-AR (es_AR.UTF-8); Calc: group

Hola!! Intento generar en calc una formula que indique el contenido de tablas que tienen encabezados de columna homogéneos pero varia la cantidad de modalidades. Me funciona si tabla tiene hasta 4 modalidades pero no con 5 o más, como la siguiente:

Para generar el texto en la columna G inserté lo que adjunto al final en PD.

Si la tabla tuviera 4 modalidades, el resultado sería:

En respuesta a la pregunta “TB 1- En este empleo ¿cuántos DÍAS trabaja normalmente por semana?” el 0% indicó "1. menos de 2 días. ", el 2,3% "2. entre 3 y 4 días. ", el 2,3% "3. 5 días. " y el 95,5% "4. 6 días. ".

CONSULTA: ¿Cómo se puede simplificar esta formula para que sea más simple encontrar el error? ¿Existe una interfaz que me simplifique hacer estas formulas (a modo de IDE en programación)? ¿hay una herramienta mejor para hacer esto?
Luego lo tengo que pasar a un documento de texto las aproximadamente 160 tablas.
Saludos!!

PD: adjunto un .ods, tal como me propuso @gilberto
concatenar.ods

PD2: m.a.riosv subió una solución La adjunto unicadenas2.ods

Hola @Pea, casos en los que la fórmula es muy compleja (como la tuya) que desarrollo, cada cálculo en una columna, al final cuando corriges el resultado, haces lo contrario, agrupando las fórmulas.

Publique su archivo, si es posible, facilite el análisis de la situación.


ATENCIÓN: Si desea dar más detalles a su pregunta, utilice edit en la pregunta o add a comment abajo. Agradecido.

Gilberto, gracias por tu tiempo! Si hay una manera más simple de generar descripciones de las tablas, son muy bienvenidas las “dicas”. Saludos

Hay diferentes cuestiones que hacen la formula muy compleja por ejemplo la función CONCATENAR(“a”;“b”) se puede sustituir por “a”&“b”, y no es necesario hacer calculos dentro de la misma, en su lugar convertimos los números a texto con su formato, además con UNIRCADENAS traemos el resultado de varias filas a una sola celda.

Te paso una formula matricial que he probado con tu fichero y parece funcionar:

G4: {=SI(B4="Opción";"En respuesta a la pregunta "&""""&B3&""" "&UNIRCADENAS(", ";1;SI(C5:C12<>"";SI(C6:C13="";"y ";"")&"el "&TEXTO(E5:E12;"0,##%")&" indicó "&""""&C5:C12&"""";""));"")}

da como resultado:

En respuesta a la pregunta "1.1 ¿Cuántas HORAS efectivamente trabaja por semana en este empleo?" el 4,55% indicó "1. entre 1 y 9 hs. ", el 0% indicó "2. entre 10 y 34 hs. ", el 13,64% indicó "3. entre 35 y 44 hs. ", y el 81,82% indicó "4. 45 o más horas. "

Tienes que introducirla sin las llaves al inicio y al final, utilizando [Mays+Ctrl+Intro] en lugar de solo [Intro],
para copiar no la arrastres (ampliaría la matriz y no funcionaria), utiliza copiar y pegar.

m.a.riosv, tu formula se ve mucho más adecuada. No conocía “unircadenas”, ni “texto”.
Me ocurre que no pude hacer que funcione, aunque la pegué en la celda G4. La dejo cargada en el comentario inicial en el PD2 y en caso que yo la pueda solucionar más tarde, la subiré. Muchas gracias por tu tiempo!!

¿Has leído el último párrafo?

Lo había leído pero solo lo entendí luego de leer esto: Ideas de Excel: Introducir fórmula matricial con el teclado. Ahora sí funciono.
Muchas gracias por tu tiempo!!

Hola @pea, sugerencia con fórmula llamada UNIRCADENAS.

SE(E4<>"Porcentaje";"";"Em resporta a la pregunta "&""""&C3&""""&ARRED(E5*100;1)&"% indicó “"&""""&C5&""""&SE(C7="";"y el "; " el ")&SE(E6="";"";SE(E(C6<>"";C7<>"");" el ";"y el ")&ARRED(E6*100;1)&"% indicó “"&""""&C6&"""")&SE(E7="";"";SE(E(C7<>"";C8<>"");" el ";"y el ")&ARRED(E7*100;1)&"% indicó “"&""""&C7&"""")&SE(E8="";"";SE(E(C8<>"";C9<>"");" el ";"y el ")&ARRED(E8*100;1)&"% indicó “"&""""&C8&"""")&SE(E9="";"";SE(E(C9<>"";C10<>"");" el ";"y el ")&ARRED(E9*100;1)&"% indicó “"&""""&C9&"""")&SE(E10="";"";SE(E(C10<>"";C11<>"");" el ";"y el ")&ARRED(E10*100;1)&"% indicó “"&""""&C10&"""")&SE(E11="";"";SE(E(C11<>"";C12<>"");" el ";"y el ")&ARRED(E11*100;1)&"% indicó “"&""""&C11&""""))

Sigue el archivo.


ATENCIÓN: Si desea dar más detalles a su pregunta, utilice edit en la pregunta o add a comment abajo. Agradecido.

Si la respuesta atendió su necesidad, por favor, haga clic en la bolita Descrição da imagem a la izquierda de la respuesta, para finalizar la pregunta.

Gracias Gilberto, entiendo que si la traduzco al español debería funcionar pero tomé la respuesta de m.a.riosv. Muchas gracias por tu tiempo!!

En el archivo adjunto, la traducción de la fórmula es automática.