Alias para subexpresiones en fórmulas

Hola!
En aras de mejorar la legibilidad de las fórmulas, me gustaría proponer la posibilidad de utilizar alias para trozos/subexpresiones de las fórmulas…

Por ejemplo, hoy he acabado con la siguiente fórmula en una celda:

=SI(F1>CONTAR.SI($A3:$E3;"<>");"";INDICE($A3:$E3;K.ESIMO.MAYOR(($A3:$E3<>"")*COLUMNA($A3:$E3);F1)))

Con lo que se me ha quedado un pequeño galimatías entre tantos paréntesis y funciones.

Ya sé que se pueden utilizar nombres para intervalos y así mejorar un poco la legibilidad, pero yo me refiero a ir un paso más allá y poder utilizar nombres (alias) para subexpresiones de la fórmula, y así hacerla más legible. Por ejemplo, se podría escribir la fórmula anterior algo así como:

=SI(F1>numCeldasConDatos;"";INDICE($A3:$E3;posicionKesimo))|

numCeldasConDatos = CONTAR.SI($A3:$E3:"<>")|

posicionKesimo = K.ESIMO.MAYOR(indicesColumnasNoVacias;F1)|

indicesColumnasNoVacias = ($A3:$E3<>"")*COLUMNA($A3:$E3)

(he puesto una línea extra porque el formato web por defecto me ponía todo en una línea)

Es decir, un formato multilínea (el usuario usaría el carácter |, por ejemplo, para marcar el cambio de línea) en el que la primera línea sería la fórmula y las siguientes líneas serían las definiciones de los alias usados en la fórmula. Para distinguir los nombres de los alias de los nombres de las funciones se podría usar un prefijo (el carácter de subrayado _, por ejemplo).

En definitiva, sería la misma idea que utilizar nombres para intervalos de la hoja de cálculo pero aplicado a subexpresiones de las fórmulas.

Gracias! Saludos,
Pablo Gallego

Puedes hacerlo (aunque no igual a como lo propones):

  • Elige menu Hoja - Intervalo y expresiones con nombre - Definir….
  • Bajo Nombre: pega numCeldasConDatos.
  • Bajo Intervalo o expresiones de fórmula: pega CONTAR.SI($A3:$E3;"<>").
  • Pulsa Añadir.

Luego, cuando estás escribiendo la fórmula:

  • Elige menu Hoja - Intervalo y expresiones con nombre - Insertar….
  • Selecciona el nombre de la lista.
  • Pulsa Pegar.

Más ayuda de LibreOffice sobre Definir nombres

Hecho con LibreOffice 6.4.7.2 (x86); OS: Windows 6.1


Agregar Respuesta está reservado para las soluciones. Si crees que la respuesta no es satisfactoria, agrega un comentario debajo, o pulsa en edit (bajo tu pregunta) para agregar más información. Gracias.

Marca la tilde (Answer markCorrect answer mark) que está a la izquierda de la respuesta que solucione tu inconveniente.

Si la respuesta te ayudó, puedes marcar el ángulo (Upvote mark) que está a la izquierda (para votar necesitas tener karma de por lo menos 5).