viernes, 8 de mayo de 2009

Formato Condicional en el Análisis de Sensibilidad

Descargar el Archivo

En el anterior artículo desarrollamos un análisis de sensibilidad para estudiar el impacto de dos variables sobre el beneficio bruto de un proyecto. Para enriquecer dicho análisis vamos a incorporar al resultado un mapa de colores en función de los objetivos que deseamos destacar. En concreto queremos que destaque en color naranja aquellas combinaciones que no sean rentables para la empresa; en azul las que proporcionen un beneficio bruto entre 6.000 y 12.000€; y en amarillo las que superen los 12.000€.
1. Nos situamos en la celda E26 y E27 y escribimos los rótulos de nuestros objetivos y en F26 y F27 los valores de los mismos (6.000€ y 12.000€)

2. Seleccionamos el rango F4:I24 y vamos al menú Formato/Formato condicional.
3. En el primer cuadro dejamos valor de la celda y a la derecha seleccionamos menor que y escribimos cero. Pulsamos el botón Formato y seleccionamos Trama naranja. Aceptamos y pulsamos Agregar.
4. En la segunda condición dejamos también en el primer cuadro valor de la celda y a la derecha seleccionamos entre y en los dos recuadros que se abren escribimos F26 y F27 respectivamente. Pulsamos el botón Formato y seleccionamos Trama azul. Aceptamos y pulsamos Agregar.
5. En la tercera condición dejamos en el primer cuadro valor de la celda y a la derecha seleccionamos mayor que. En el recuadro de la derecha escribimos F27. Pulsamos el botón Formato y seleccionamos Trama amarilla. Aceptamos y volvemos a pulsar Aceptar.

De esta manera habremos construido, por medio de la herramienta de Formato condicional, un "mapa de colores" con nuestros objetivos. Fíjese que si cambia cualquier dato en la entrada de datos la tabla se recalcula automáticamente y, por supuesto, también el mapa de colores:


Análisis de Sensibilidad con dos Variables


Descargar el Archivo


La empresa Educando dedica su actividad a realizar cursos de formación para directivos. El Director de Marketing necesita realizar una cuenta de resultados previsional para un nuevo tipo de cursos cortos que desean desarrollar. Los datos de partida son los que se muestran en la imagen, y que se corresponden con la entrada de datos del modelo:


Quiere desarrollar una cuenta de resultados previsional con el siguiente detalle para analizar el margen y beneficio bruto que se podrían alcanzar:


La formulación de este modelo no es ningún problema ya que se trata de fórmulas muy sencillas que detallo en la siguiente imagen:


Y el resultado de aplicar dichas fórmulas será:


Hasta aquí ningún problema. Una vez desarrollada la cuenta de resultados inicial queremos realizar un análisis de sensibilidad para ver, por ejemplo, cómo afecta al Beneficio Bruto distintos números de alumnos y distintos precios de matrícula. Evidentemente podríamos resolver el análisis por la "vía dura", a saber, introduciendo distintos valores en la entrada de datos y anotando los resultados... ¡Por el amor de Dios no haga esto! (y si lo hacía por favor no lo haga más...).

Excel nos proporciona una herramienta denominada Tabla que resolverá por nosotros esta tediosa labor. Los pasos que debemos seguir son los siguientes:
1. Construimos la tabla con los valores que queremos analizar, como se muestra en la imagen:

Fíjese que hemos dispuesto en una columna (E) distintos números de alumnos (desde 10 hasta 30) y en una fila (3) distintos precios de matrícula (800€, 1.000€, 1.200€ y 1.400€). 
2. Nos situamos en la celda del vértice superior izquierdo de la tabla, es decir, en E3 y escribimos la fórmula: =B24
Esta celda (el vértice superior izquierdo de la tabla que generemos) se denomina celda de enlace y la dedicaremos siempre a indicar qué fórmula deseamos analizar. Es decir, como vamos a ver cómo afecta al BENEFICIO BRUTO distintos números de alumnos y precios de matrículas en esta celda escribiremos =B24 porque es dónde se encuentra (en nuestro modelo) la fórmula que queremos calcular (Beneficio Bruto).
3. Seleccionamos toda la tabla incluyendo la celda de enlace, es decir, E3:I24 (los rótulos no) y vamos al menú Datos/Tabla... Se nos abrirá la siguiente ventana:
4. En Celda de entrada (fila) debemos hacer mención a los datos que hemos dispuesto en nuestra tabla en una fila, es decir, el precio de la matrícula. En la entrada de datos de nuestro modelo el precio de la matrícula lo tenemos en B3. En Celda de entrada (fila) seleccionamos B3.
5. En Celda de entrada (columna) debemos hacer mención a los datos que hemos dispuesto en nuestra tabla en una columna, esto es, el número de alumnos. Tal dato lo tenemos en B4 por lo que en Celda de entrada (columna) escribimos B4:

6. Sólo nos queda pulsar Aceptar y Excel se encargará de rellenar la tabla con todas las combinaciones requeridas:


Esta herramienta nos permite además modificar los datos que queremos analizar. Pruebe a cambiar algunos (o todos) los números de alumnos y/o los precios de matrícula en la tabla y verá que automáticamente se recalcula el beneficio bruto resultante.

En próximas "entregas" verá que a este sencillo modelo le podemos sacar todavía muchísimo más partido...

miércoles, 6 de mayo de 2009

Transponer Tablas que Contienen Fórmulas



Es muy frecuente que en nuestras hojas de cálculo tengamos tablas con información diversa. La disposición típica de dicha información en las tablas, como bien sabrá, es en columnas. Esto es, en cada columna tenemos un campo y debajo de cada campo estarán los datos o fórmulas del mismo. Pero qué ocurre si necesitamos obtener información de la tabla y presentarla con disposición horizontal, es decir, por filas en vez de por columnas (que es como se encuentra originalmente). Lamentablemente he de confesar que ante esta tarea me he encontrado, en demasiadas ocasiones, con soluciones peregrinas y siempre muy costosas en términos de tiempo. 

Veamos un ejemplo. Supongamos que tenemos una tabla con información relativa a distintas parcelas; su estado; precio base; IVA; precio con IVA; e hipoteca disponible:

Queremos obtener el siguiente detalle para presentárselo al cliente cuando solicite información de una determinada parcela:
La formulación para obtener esta información es muy sencilla utilizando BUSCARV. El problema es que la información requerida la tenemos en la tabla con disposición en columnas y la necesitamos con disposición en filas. La solución que propondré a continuación tiene sentido cuando el número de fórmulas que tenga que realizar sea elevado (en caso contrario terminará antes resolviendo directamente los BUSCARV en el rango de salida -B6:B11- simplemente modificando el argumento de indicador de columna en cada fórmula).

1.  Seleccionamos el rango E14:E33 y hacemos clic en el cuadro de nombres (a la izquierda de la barra de fórmulas). Escribimos el nombre numero_parcela (utilizamos el guión bajo porque Excel no permite introducir nombres con espacios).
2. Nos situamos en B2 y vamos a Datos/Validación. Seleccionamos Permitir/Lista y en el cuadro Origen escribimos =numero_parcela  De esta forma dejamos preparada nuestra entrada de datos en B2 con una lista desplegable con las distintas parcelas existentes.
3. Seleccionamos el rango E14:J33 y le damos el nombre tabla_general.
4. Nos situamos en E12 y escribimos un 1. En F12 escribimos un 2. Seleccionamos E12:F12 y arrastramos a la derecha hasta J12. Con esto habremos creado los números de columna de la tabla_general que luego utilizaremos:

5. Nos situamos en E35 y escribimos la siguiente fórmula:
=BUSCARV($B$2;tabla_general;E12;FALSO)
6. Copiamos E35 y pegamos en el rango F35:J35
De esta manera ya tenemos la información deseada de la parcela indicada en B2. Sólo nos queda "darle la vuelta" a esta información.
7. Seleccionamos el rango B6:B11 y, con el rango seleccionado, escribimos la siguiente fórmula:
=TRANSPONER(E35:J35)  PERO NO PULSAMOS ENTER. Vamos a realizar una entrada matricial y, por lo tanto, tenemos que pulsar Ctrl+Shift+Enter. El resultado será la fórmula matricial: 
 {=TRANSPONER(E35:J35)}
Esta función, como su propio nombre indica, nos permite transponer matrices que contengan fórmulas y/o datos. No intente realizar esta tarea utilizando el Copiar/Pegado especial/Transponer ya que esta opción sólo es válida para datos y no para fórmulas.

La función TRANSPONER, en definitiva, devuelve un rango o matriz vertical de datos o fórmulas en horizontal o viceversa. Para utilizarla correctamente recuerde que:
1. Debe contar el número de filas y columnas que tiene el rango que desea transponer (por ejemplo 4 filas y 2 columnas)
2. Debe seleccionar un rango donde vaya a transponer la matriz que se componga de tantas filas como columnas tiene la matriz de origen y tantas columnas como filas tiene la matriz de origen (2 filas y 4 columnas).
3. Con el rango seleccionado puede escribir la función TRANSPONER y, entre paréntesis, el rango donde se encuentra la matriz de origen.
4. Al terminar de escribir la función pulsaremos Ctrl+Shift+Enter.


Soy consciente de que en el caso que he utilizado como ejemplo puede haber soluciones más rápidas y/o sencillas, pero me parece importante que el usuario se familiarice con esta función para cuando la ocasión de verdad lo requiera.

martes, 5 de mayo de 2009

Mandamiento 3: Normas Básicas de Desarrollo

En este artículo, el tercero del Manual de Buenas Prácticas de Excel, voy a proporcionar varios pequeños consejos que, si los respeta, le acabarán ahorrando mucho tiempo y disgustos con la hoja de cálculo.

Tercer Mandamiento: RESPETARÉ LAS NORMAS BÁSICAS DE "CIRCULACIÓN"

Una vez dedicado el tiempo necesario para pensar el modelo que vamos a desarrollar (véase Mandamiento 2), deberíamos tener más o menos claro cuál va a ser la estructura y distribución de la Entrada y Salida de Datos de dicho modelo (véase Mandamiento 1). Así las cosas, ha llegado el momento de ponerse manos a la obra. A partir de aquí es muy importante ser tremendamente ordenado y metódico y es también muy importante seguir lo que yo denomino las Normas Básicas de Circulación. Esto es, una serie de pequeñas normas que aparentemente no tienen mayor importancia pero, créame, la tienen y mucha...

1. Diferencie con colores las Entradas de las Salidas de Datos.- La importancia de separar perfectamente la Entrada de la Salida de Datos ya ha sido comentada en el primer mandamiento de nuestra pequeña Biblia. Una vez hecho esto le recomiendo que utilice algún código de colores que le ayude a identificarlas de manera sencilla e inmediata. De esta forma, el usuario, que en muchas ocasiones será más de uno, sabrá de forma intuitiva y clara qué celdas puede tocar y cuáles no. Por ejemplo, ponga Fuente de color azul y negrita para aquellas celdas que contengan DATOS (además puede destacar los rótulos de los datos con un color de fondo granate y texto en blanco o color de fondo naranja y texto en azul, etcétera). Mantenga el color de Fuente negro y sin relleno para las celdas que contengan fórmulas (los rótulos de éstas puede destacarlos con trama gris, por ejemplo).


2. Deje la decoración para el final.- Una práctica muy habitual entre los usuarios de hoja de cálculo es comenzar un nuevo modelo dedicándole una buena dosis de tiempo a "decorar la hoja", con tareas como cambiar alineaciones de las celdas; rellenar con esta gama de colores que tanto me gusta; un poco de negrita por aquí; otro poco de cursiva por allá; unas cuantas celdas combinadas; y, como no, un buen chorro de bordes para remarcar mis tablas y celdas importantes... NO pierda más el tiempo. Dedíquese primero a formular y cuando termine ya decorará su modelo. De esta manera no perderá el tiempo cuando tenga que copiar y pegar fórmulas, o insertar filas y/o columnas, y comience a arrastrar formatos no deseados, con lo que se verá obligado a borrarlos y rehacerlos o a ingeniárselas para que al realizar dicho pegado no copie los formatos.

3. No cambie la alineación inicial de las celdas.- Como es bien sabido, y para reforzar el punto anterior, Excel nos permite diferenciar rápidamente entre una entrada de texto y una valor con tan sólo observar dónde alinea la entrada. Si al introducir un dato lo alinea a la izquierda entonces sabremos automáticamente que se trata de un texto. Si lo alinea a la derecha entonces sabremos que se trata de un número. Este pequeño detalle puede parecer baladí, pero toda ayuda es poca para detectar posibles errores en nuestros modelos y, en consecuencia, perder el mínimo tiempo posible en su corrección. Por poner un ejemplo de un error muy frecuente, pruebe a introducir 4,45 y 4.45 en dos celdas diferentes y verá como las alinea de diferente manera:

4. Formule en minúsculas.- Otra "mini ayuda" de Excel, quizás menos conocida que la anterior, es que si escribimos los nombres de las funciones y/o celdas en minúsculas correctamente, al pulsar enter, tras terminar nuestra fórmula, convierte dicho nombre y referencias en mayúsculas. En caso de no hacerlo será porque hemos introducido mal el nombre de la función y/o de las celdas. Pruebe a introducir en cualquier celda la fórmula: =suma(f3:f8) y verá que tras pulsar enter Excel la transforma en =SUMA(F3:F8) Pruebe a escribir, por ejemplo, sumar(f3:f8) y verá que le devolverá el error #¿NOMBRE? y que mantendrá la función (sumar) en minúsculas.

5. Utilice Centrar en la selección en vez de Combinar celdas.- Esta es una práctica también muy extendida (la de utilizar Combinar celdas) y que desaconsejo terminantemente ya que genera, como sabrá el usuario que las utilice, muchos problemas posteriores. En vez de esta opción seleccione las celdas en las que quiere centrar un rótulo y vaya al menú Formato/Celdas/Alineación/Horizontal y seleccione Centrar en la selección. El aspecto final será exactamente el mismo:

Pruebe a realizarlo en una hoja y verá que con celdas combinadas, al hacer clic encima, Excel selecciona B2 y C2 como una única celda, mientras que al hacerlo con celdas centradas puede hacer clic en B4 y en C4 independientemente. Esta pequeña "tontería" le evitará el insufrible mensaje de "esta operación requiere que las celdas a combinar tengan el mismo tamaño..."

Negrita

6. Utilice Nombres de rango en vez de referencias.- Como habrá podido comprobar en muchos de los artículos de este blog, siempre que puedo utilizo Nombres de Rango en las fórmulas en vez de las celdas a las que hace referencia dicho rango. Esta práctica le permitirá, entre otras cosas:

a) Localizar rápidamente la ubicación de sus tablas: Si le da nombre a sus tablas sólo tendrá que abrir el Cuadro de Nombres (es el cuadro desplegable que se encuentra a la izquierda de la barra de fórmulas) y hacerle clic encima del nombre en cuestión y automáticamente le llevará a la hoja (dentro del libro) y zona donde se encuentre.

b) Hacer fórmulas más intuitivas e inteligibles: La comprensión de las fórmulas, especialmente cuando tienen un tamaño considerable, resulta más sencilla si utilizamos nombres de rango en vez de referencias de celdas. Esto permite también localizar posibles errores con más facilidad.

c) Aprovechar los nombres para optimizar la formulación: Puede ver numerosos ejemplos de este apartado consultando las funciones BUSCARV, COINCIDIR ó INDIRECTO (entre otras) en las etiquetas de este blog.

7. Compruebe cada fórmula que desarrolle nada más terminarla.- Esta es una norma en la que insisto constantemente a mis alumnos (que paciencia tienen conmigo...). Cada vez que realicemos una fórmula es importante que "perdamos el tiempo" en comprobar que funciona correctamente. Si esperamos al final para ver si las, por ejemplo, 60 fórmulas que componen mi modelo funcionan correctamente, ya le digo yo que va a ser que no... y entonces sí que puede suponernos un quebradero de cabeza muy considerable el detectar en dónde nos hemos equivocado (y si algo demuestra la experiencia es que, por mucho que se sepa de esto, equivocarnos nos equivocamos todos)

8. Minimice el uso el teclado.- Cuanto más teclee más probabilidad existirá de que se equivoque al formular. Un ejemplo muy tonto para que se entienda: la fórmula =A1+A2 le recomiendo que no la haga escribiendo A1 y A2 con el teclado. Mejor haga clic en A1 y en A2. Lo mismo al trabajar con rangos. Seleccione el rango en vez de escribir a mano, por ejemplo, A1:A20.

9. Mantenga estructuras uniformes en sus salidas de datos.- Esto le permitirá ahorrarse muchas fórmulas ya que las podrá copiar y pegar en vez de tener que desarrollarlas nuevamente. Un ejemplo típico es una cuenta de resultados:

Fíjese que en esta cuenta de resultados los subtotales: Margen Bruto, BAIT, BAT y Beneficio Neto, siguen la misma disposición: una cifra menos otra igual a un subtotal. Esto nos permitirá copiar la fórmula de B5, que es =B3-B4, y pegarla directamente en B7, B9 y B11. Con una fórmula resolvemos cuatro.

Si por el contrario se dedica a montar modelos aparentemente más vistosos (aunque el de la siguiente imagen no se puede decir que lo sea especialmente) y a dejar espacios por aquí y por allá para que, como he oído en ocasiones, "se vea todo más claro y más limpio" pues se verá obligado a formular más de lo necesario, ya que no podrá copiar y pegar como acabamos de hacer en el ejemplo anterior.


Finalmente me gustaría citar otra "Norma de Circulación" que desarrollaré en un artículo exclusivo, dada la elevada importancia que en mi opinión tiene. A saber: Utilice siempre que pueda Listas/Tablas (listas en versiones anteriores a Excel 2007 y Tablas en Excel 2007) para introducir datos y fórmulas en sus modelos. Esto le permitirá aplicar posteriormente todo el potencial de, por ejemplo, Tablas Dinámicas, funciones de Bases de Datos, etcétera. Pero esto, como hemos dicho, será objeto de otro artículo.

lunes, 4 de mayo de 2009

Comprobando Vencimientos con Funciones Lógicas


Descargar el Archivo

Hoy vamos a resolver un pequeño caso que me habéis mandado a mi mail y que me parece una muy buena oportunidad para practicar las funciones lógicas anidadas SI, Y, O, (además de otras herramientas como la Validación de Datos y el Formato Condicional).
Se trata de un modelo donde el usuario realiza entrada de pedidos en una tabla cubriendo los campos: Nº de Factura; Concepto del Pedido; Importe del Pedido; Fecha del Pedido; Fecha de Vencimiento; y Estado de Cobro. Lo que queremos conseguir es que el modelo nos avise, en base a unas reglas que comentaremos a continuación, de qué actuación debemos seguir. Para no complicar innecesariamente la visualización del modelo trabajaremos sólo con la parte de la tabla que hace referencia a las fechas y al estado de cobro. En las siguientes imágenes puede ver la tabla original y la parte de la tabla en la que nos centraremos:


Como se puede ver en la imagen, lo que vamos a hacer es: por un lado, en la columna G, establecer la acción a seguir en base a las reglas que enseguida comentaré. Por otro lado destacaremos en distintos colores cada operación en función de la actuación a seguir. También añadiremos alguna validación de datos para asegurarnos que la entrada de datos es correcta.

Las reglas que debe contemplar el modelo son las siguientes:
a) El Estado de Cobro debe presentar dos opciones: Pagado o Pendiente. Si la operación está Pagada entonces en la correspondiente celda de la columna Actuación debe aparecer el concepto Terminado. Además toda la fila de la operación se mantendrá sin ningún color de relleno.
b) Si la Fecha de Vencimiento de la operación no supera la fecha de Hoy (fecha del día corriente en el que nos encontremos) entonces debe aparecer en Actuación el concepto No Vencido, y rellenar de color verde toda la fila.
c) Si la Fecha de Vencimiento supera la fecha de Hoy entonces tendremos que comprobar si además la Fecha de Vencimiento respecto a la Fecha de Pedido supera o no el Límite días establecido (en nuestro ejemplo este límite serán 10 días, como se puede ver en la celda B2). En caso de que se superen ambas restricciones, en el apartado Actuaciones deberá aparecer el concepto Reclamar, y la fila deberá rellenarse en rojo. Si no supera el Límite días entonces deberá aparecer el concepto Informar y colorearse la fila en naranja.

Este tipo de planteamiento es muy habitual y, aunque parezca un poco lioso, enseguida veremos que la solución es, como casi siempre, razonablemente sencilla. Veamos cómo resolverlo:

Una aclaración antes de comenzar. En las imágenes mostradas más arriba aparecen ya los datos de varias operaciones introducidos. Sin embargo, los pasos que vamos a describir a continuación parten de la base de que todavía no han sido introducidos dichos datos. 
1. Nos situamos en la celda G3 e introducimos la siguiente fórmula:
=HOY()
Esta función nos devuelve la fecha de hoy y, lógicamente, irá cambiando cada día. Fíjese que no tiene argumentos dentro de los paréntesis.
2. Seleccionamos el rango E6:E18 y vamos al menú Datos/Validación. SeleccionamosPermitir/Fecha. En el cuadro Datos seleccionamos mayor o igual que. En el cuadro Fecha Inicialescribimos =D6. Como teníamos seleccionado el rango E6:E18 cuando aceptemos, excel entenderá que debe validar E6 contra D6; E7 contra D7; etcétera. Con esta operación nos aseguramos de no introducir una fecha de vencimiento inferior a la fecha de pedido.
3. Nos situamos en I7 y escribimos Pagado. Nos situamos en I8 y escribimos Pendiente.
4. Seleccionamos el rango F6:F18 y vamos al menú Datos/Validación. SeleccionamosPermitir/Lista y, en el cuadro origen, seleccionamos el rango I7:I8. De esta manera tendremos una lista desplegable en cada celda del rango F6:F18 para elegir entre pagado o pendiente. 
5. A continuación debemos proceder con la fórmula. Utilizaremos los términos indicados en las reglas (Pagado, Pendiente, Terminado, No Vencido, Reclamar, Informar) para realizar las comprobaciones. Personalmente prefiero escribir estos conceptos en celdas y en las fórmulas hacer referencia a dichas celdas. Para que la comprensión de la fórmula sea más sencilla lo haremos con los conceptos directamente. No situamos en G6 y escribimos:

(Evidentemente la fórmula podemos escribirla en una única linea pero la muestro en este formato para facilitar su lectura)

6. Copiamos la fórmula de G6 en el rango G7:G18.

Vamos a desmenuzar esta fórmula:
=SI(O(D6="";E6="";F6="");""
Lo que estamos haciendo en esta parte es comprobar si se han introducido datos. Si cualquiera de las tres celdas (D6, E6, ó F6) está en blanco (sin datos) entonces le pedimos que deje G6 en blanco también (hasta que se introduzcan los datos correspondientes de la operación). En caso de que las tres celdas estén cubiertas lo siguiente que comprobamos es si F6 contiene el concepto Pagado. En tal caso directamente le indicamos que escriba Terminado:
SI(F6="Pagado";"Terminado";
Si las celdas no están en blanco y F6 no contiene el concepto Pagado, entonces es que la operación está Pendiente. En tal caso debemos realizar una nueva comprobación:





Con esta parte de la fórmula comprobamos si la fecha de HOY ($G$3) es menor que la Fecha de Vencimiento (E6). Si lo es entonces que escriba No Vencido. Si no lo es debemos seguir realizando comprobaciones:
SI(Y($G$3>E6;E6-D6>$E$2);"Reclamar";"Informar"))))
Aquí comprobamos dos condiciones a la vez, a saber: si la Fecha de Vencimiento supera la fecha de Hoy y, además, si la Fecha de Vencimiento menos la Fecha de Pedido supera el Límite días establecido. En tal caso que escriba la palabra Reclamar. Una vez analizadas todas las posibilidades la única opción que queda es la de Informar (que ocurrirá cuando se ha superado la fecha de vencimiento pero no el límite de días). Fíjese que hemos abierto 4 condicionales y por eso cerramos 4 paréntesis al final de la fórmula. 

Ya sólo nos queda solucionar el problema de los colores:
6. Seleccionamos el rango A6:G18 y abrimos el menú Formato/Formato condicional.
7. En el cuadro que presenta valor de la celda lo  cambiamos por Fórmula y en el cuadro de la derecha escribimos la siguiente: =SI($G6="Informar";1;0)    Una vez escrita la fórmula pulsamos el botón Formato y seleccionamos Trama de color naranja. Pulsamos AGREGAR.
8. En la nueva condición volvemos a seleccionar Fórmula y escribimos:  =SI($G6="reclamar";1;0)  y pulsamos el botón Formato y seleccionamos Trama de color rojo. Pulsamos AGREGAR.
9. En la nueva y última condición escribimos como fórmula=SI($G6="no vencido";1;0)  y pulsamos el botón Formato y seleccionamos Trama de color verde. Pulsamos ACEPTAR.

Nota: La parte de la fórmula: =SI(O(D6="";E6="";F6="");"" puede reducirla con la siguiente expresión =SI(O(D6:F6="");""  como entrada matricial, pero recuerde que entonces al acabar la fórmula NO DEBE PULSAR ENTER sino Ctrl+Shift+Enter. La fórmula quedará como: