Cálculos avanzados

Efectuar cálculos con datos de tipo fecha

En este apartado, una vez abordados los principios de cálculo de fechas usados por Excel, procederemos a describir algunas funciones específicas al tratamiento de fechas a través de una serie de ejemplos:

Principios para calcular los días

 En los cálculos realizados sobre días, siga el mismo procedimiento que con los demás cálculos. Excel registra las fechas en forma de números secuenciales llamados números de serie. Por ese motivo pueden agregarse, sustraerse e incluirse en otros cálculos.

 De forma predeterminada, Excel para Windows inicia el calendario a partir de 1900 (para Macintosh el calendario se inicia en 1904). El 1 de enero de 1900 corresponde por tanto (en Excel para Windows) al número de serie 1, y el 1 de enero de 2005 es el 38 353, ya que desde el 1 de enero de 1900 han transcurrido 38 353 días.

 Para utilizar una función específica de gestión de fechas y horas, puede activar la pestaña Fórmulas, hacer clic en el botón Fecha y hora del grupo Biblioteca de funciones y luego en la función que corresponda para utilizar el asistente.

AHORA()

Devuelve la fecha y la hora actuales con formato de fecha y hora, como por ejemplo: 09/08/2025 11:14.

AÑO(número_de_serie)

Devuelve el año, un número entero entre 1999 y 9999.

Esta función permite aislar el año de una fecha; ejemplo: la celda A1 contiene el valor 12/12/2024, la función =AÑO(A1) devuelve 2024.

DIA(número_de_serie)

Da el día del mes (un número entero entre 0 y 31).

Sigue el mismo principio que la función AÑO, aísla el día de una fecha cualquiera.

DIA.LAB(fecha_inicial;días;[vacaciones])

Devuelve el número de serie de la fecha antes o después del número de días laborables especificado (ver sección Calcular la fecha situada después de una cantidad de días laborables dada).

DIA.LAB.INTL(fecha_inicial;días;[fin_de_semana];[días_no_laborables])

Devuelve el número de serie de la fecha antes y después de un número especificado de días laborables con parámetros que identifican y cuentan los días de fin de semana.

DIAS(fecha_final;fecha inicial)

Calcula el número de días entre...

Efectuar cálculos con datos de tipo hora

En este apartado, una vez abordados los principios de cálculo de horas usados por Excel, procederemos a describir métodos y fórmulas específicos del tratamiento de las horas a través de una serie de ejemplos.

Principios de cálculo de las horas

 Al introducir una hora en una celda, Excel la guarda en forma de número decimal de 0 a 1 (1 no incluido) por cada periodo de 24 horas.

 Para que Excel pueda reconocer la información como una hora y guardarla en forma de número decimal, deberá separar las diferentes partes de la hora con el signo dos puntos (:). Por ejemplo, 18 h 30 min y 43 segundos se escribe de acuerdo con la sintaxis 18:30:43. Si no desea incluir los segundos, introduzca 18:30

Ejemplo de hora

Valor registrado por Excel

00:00 (medianoche)

0

11:59

0,499305555555556

12:00 (mediodía)

0,5

15:00 (15 h)

0,625

18:00 (18 h)

0,75

Este concepto de hora propio de Excel permite aplicar cálculos aritméticos a las horas.

Ejemplo: para calcular la diferencia entre 18:00 (18 h) y 15:00 (15 h), Excel efectúa este cálculo:

= 0,75 - 0,625 = 0,125

Excel pone a su disposición numerosos formatos de hora predeterminados.

Calcular la diferencia entre dos horas

 Para efectuar ese cálculo y representar el resultado en formato horario estándar, es decir, horas:minutos:segundos, puede usar la función...

Usar las funciones de búsqueda

Funciones BUSCARV

La función BUSCARV permite buscar un valor en la primera columna de una tabla (V = Vertical) y devuelve el valor contenido en la celda situada en la misma fila y en la columna especificadas.

 Elabore una tabla que agrupe los datos que se recuperarán después, al efectuar la búsqueda, y ordénela por orden creciente a partir de los datos de la primera columna. Dé un nombre a este rango de celdas si no desea seleccionarlo en el momento de crear la fórmula de cálculo.

 Haga clic en la celda en la que aparecerá el dato buscado de la tabla.

 Elabore la fórmula de cálculo respetando la sintaxis siguiente:

=BUSCARV(valor_buscado;matriz_tabla;indicador_columnas;[rango])

valor_buscado

Es el valor que la función buscará en la primera columna de la matriz tabla.

matriz_tabla

Es la tabla a partir de la cual se recuperarán los datos. Puede ser las referencias o el nombre de un rango de celdas.

indicador_columnas

Es el número de orden de la columna de la matriz_tabla que contiene el valor recuperado. La primera columna de la tabla es la columna 1.

rango

Es un valor lógico que permite efectuar una búsqueda exacta o aproximada a aquella buscada. Si el rango es VERDADERO o nulo, se muestra un dato igual o inmediatamente inferior al valor buscado. Si el rango es FALSO, solo se tiene en cuenta el valor buscado. Si no se encuentra el valor buscado, la función devuelve un mensaje de error #N/D.

images/OP11-10.png

En este ejemplo, la función BUSCARV busca la referencia exacta del producto (contenida en celda A4) en la tabla con los códigos de los productos (G2 a I7) y encuentra en ella la descripción, que sitúa en la segunda columna, y el precio del artículo, en la tercera.

 Confirme la fórmula pulsando la tecla Intro.

El rango de celdas G2:I7 se ha tomado como referencia absoluta en la fórmula (símbolos...

Usar funciones de texto

En 2024 se han añadido tres nuevas funciones a las ya existentes: TEXTOANTES, TEXTODESPUES y DIVIDIRTEXTO.

images/logoNovedad.png

Función TEXTOANTES

La función TEXTOANTES (novedad de la versión 2024) permite extraer el texto de una cadena que se encuentra antes de un determinado carácter.

 Su sintaxis es:

=TEXTOANTES(Texto;Delimitador;[Número_instancia];[Modo_búsqueda];[Coincidencia_final];[Si_no_encuentra])

Texto

Texto (normalmente una referencia de celda) en el que se realiza la búsqueda. Argumento obligatorio.

Delimitador

Texto que indica el punto antes del cual se debe extraer el texto. Argumento obligatorio.

Número_instancia

Número de ocurrencia del delimitador tras el cual se quiere extraer el texto. Por defecto, 1.

Modo_búsqueda

Determina si se distingue entre mayúsculas y minúsculas. Por defecto, 0 (sensible a mayúsculas); usar 1 para no distinguir.

Coincidencia_final

Si es 1 y no se encuentra el delimitador, se toma el final del texto como delimitador. Por defecto, 0 (no se considera el final). 

Si_no_encuentra

Valor que se devuelve si no hay coincidencia. Por defecto, #N/A.

En este ejemplo, la columna B contiene la descripción de una serie de productos y se desea extraer en la columna C el tipo de producto, que corresponde a la información anterior al primer guion:

images/OP11-13.png
images/logoNovedad.png

Función TEXTODESPUES

La función TEXTODESPUES (novedad de la versión 2024) es complementaria a TEXTOANTES y permite extraer el texto que aparece tras un determinado carácter.

 Tiene la misma sintaxis que TEXTOANTES:

=TEXTODESPUES(Texto;Delimitador;[Número_instancia];[Modo_búsqueda];[Coincidencia_final];[Si_no_encuentra])

La combinación de TEXTOANTES y TEXTODESPUES permite seleccionar fácilmente fragmentos de texto intercalados dentro de una cadena: images/OP11-14.png En este ejemplo, la función TEXTODESPUES extrae...

Crear funciones personalizadas

images/logoNovedad.png

En 2024, se introdujo la función LAMBDA, que permite crear funciones personalizadas y reutilizables asignándoles un nombre fácil de recordar, sin necesidad de usar VBA, macros o JavaScript. Una vez creada, la función personalizada está disponible en todo el libro y se utiliza igual que las funciones nativas de Excel.

 Su sintaxis es la siguiente:

=LAMBDA([parámetro1;parámetro2;…;]cálculo)

Parámetros

Valores que se pasan a la función (pueden ser referencias de celda, texto o números). Son opcionales y puede haber hasta 253 parámetros.

Cálculo

Fórmula que ejecuta la función y devuelve su resultado. Debe ir al final y devolver un valor.

Los parámetros de la función LAMBDA siguen las mismas reglas de nomenclatura que otros nombres en Excel, salvo que no se debe usar el punto (.) en el nombre del parámetro.

Conviene seguir una serie de pasos para asegurarse de que la función LAMBDA devuelve el resultado deseado.

 Pruebe primero la fórmula que desea automatizar con LAMBDA para comprobar que funciona.

En este ejemplo se realiza un cálculo sencillo del precio con IVA a partir del precio sin impuestos y del tipo de IVA:

images/OP11-21.png

El segundo paso consiste en definir la función LAMBDA.

 En la pestaña Fórmulas, grupo Nombres definidos, haga clic en la herramienta...

Asignar un nombre a un cálculo intermedio

La función LET, incorporada en 2021, se utiliza para asignar un nombre al resultado de un cálculo con el objetivo de almacenar cálculos intermedios o definir nombres dentro de una fórmula.

Para usar la función LET, tiene que definir elementos compuestos de un binomio: nombre y valor_asociado (hasta 126 binomios posibles) y de un cálculo que usa todos los elementos.

 Su sintaxis es como sigue:

=LET(nombre1;nombre_valor1;cálculo_o_nombre2;[nombre_valor2];…; cálculo

nombre1

Primer nombre que se define, debe empezar obligatoriamente por una letra.

nombre_valor1

Valor asociado a nombre1, este valor puede ser un valor introducido o un valor resultante de un cálculo.

nombre2; nombre_valor2

Nombre y valor del segundo elemento (opcional). La función puede incluir un único elemento o alcanzar los 126.

Cálculo

El cálculo usa todos los nombres y debe ser el último argumento de la función.

Ejemplos de uso:

images/OP11-24.png

En este ejemplo, la facturación de 2024 se multiplica por el coeficiente para obtener el objetivo de 2025. Evidentemente, lo más fácil habría sido escribir = C2*1,5, pero este ejemplo es práctico para comprender bien la lógica de esta función. Aquí, coef es el nombre del elemento y 1,5 es el valor dado a este elemento, después el nombre se usa en la fórmula...

Consolidar datos

Esta función permite combinar valores de varios rangos de datos ubicados en diferentes hojas de cálculo (para reunirlos, por ejemplo).

 Antes de iniciar la consolidación, compruebe los siguientes puntos:

  • Cada rango de datos de origen debe estar ubicado en una hoja de cálculo distinta; ningún rango de origen debe estar ubicado en la hoja de cálculo sobre la cual se va a situar la consolidación.

  • Asegúrese de que las tablas que se van a consolidar tienen la misma estructura (el mismo número de filas y de columnas, el mismo tipo de datos en las celdas) y que están colocadas en las mismas celdas de las distintas hojas.

  • Si lo desea, asigne un nombre a los rangos de datos de origen (véase Rangos con nombre - Poner nombre a los rangos de celdas).

 Active la primera celda de destino de la consolidación.

 Active la pestaña Datos y haga clic en la herramienta Consolidarimages/ic091v24.png del grupo Herramientas de datos.

 Seleccione la Función de síntesis que debe usarse para consolidar los datos; para sumar los datos de las distintas tablas, escoja Suma.

 Si los datos que desea consolidar se hallan en otro libro, haga clic en el botón Examinar, localice el libro correspondiente, selecciónelo y haga clic en Aceptar.

 Si los datos que desea consolidar se encuentran en el libro activo, efectúe estas operaciones en todos los rangos de datos:...

Generar una tabla de doble entrada

Con el fin de ilustrar el uso de una tabla de doble entrada, queremos conocer el valor de los pagos para un capital prestado fijo de 15 000 €, un número variable de mensualidades y tipos de interés también variables.

 Introduzca los elementos iniciales del cálculo que se debe realizar (el tipo de interés, la duración del préstamo y el importe del préstamo, en nuestro ejemplo).

 Introduzca los encabezados y las filas de la tabla que corresponden a los parámetros variables.

Atención, la tabla preparada no debe estar unida a los elementos iniciales y el primer dato variable de fila debe estar situado una fila más arriba y una columna más a la derecha que el primer dato variable de columna.

 Introduzca la fórmula de cálculo en la intersección de la fila y la columna y confirme.

images/OP11-28.png

En este ejemplo, en la celda A11 hemos usado la función PAGO para calcular el importe de las cuotas mensuales correspondiente a la devolución de un préstamo basándonos en el número de pagos mensuales y en un tipo de interés constante. Asimismo, hemos usado la función ABS para efectuar este cálculo en valor absoluto.

 Seleccione el rango de celdas que comprende la fórmula de cálculo hasta la última celda de la tabla.

 Active la pestaña Datos, haga clic...

Usar las nuevas funciones de tablas dinámicas

Tradicionalmente, las funciones de Excel muestran su resultado en una sola celda. En este ejemplo, la fórmula ubicada en la celda B9 devuelve su resultado en esa misma celda:

images/OP11-31.png

En 2019, Microsoft introdujo un nuevo tipo de fórmula: las tablas propagadas o tablas dinámicas (dynamic arrays en inglés, que no deben confundirse con las tablas dinámicas de resumen o tablas cruzadas dinámicas). La particularidad de estas funciones es que, a diferencia de las fórmulas clásicas, el resultado de las tablas dinámicas puede llenar automáticamente varias celdas. En este ejemplo, la función DIVIDIRTEXTO se encuentra en la celda A5, toma el texto de la celda A2 y muestra su resultado en el rango A5:C8, el cual aparece delimitado por un borde azul:

images/OP11-32.png

El mecanismo por el cual el resultado ocupa varias celdas se denomina propagación y es automático. La celda que contiene la fórmula es la celda principal, mientras que las celdas adyacentes son las celdas de desbordamiento.

Si alguna celda en el rango de desbordamiento ya está ocupada por otro valor o fórmula, Excel devuelve el error #DESBORDAMIENTO! en la celda principal. Las celdas ocupadas deben liberarse para que la fórmula pueda propagarse correctamente.

 Si la celda principal está activa, la fórmula aparece normalmente en la barra de fórmulas. Si la celda activa es una celda de desbordamiento, la fórmula en la barra aparece atenuada:

images/OP11-33.png

Las celdas de desbordamiento tienen características particulares:

  • Se actualizan automáticamente cuando cambian los datos de origen o los parámetros de la fórmula, lo que garantiza que los resultados siempre estén actualizados. Por ello, estas tablas se denominan dinámicas.

  • No pueden modificarse ni eliminarse de forma individual, ya que están controladas por la fórmula principal.

  • No pueden copiarse de manera individual tampoco.

 Los resultados de las tablas dinámicas pueden usarse con otras funciones de Excel, como SUMA, PROMEDIO o INDICE, para realizar cálculos adicionales sobre los datos propagados.

  • Para hacer referencia a una celda individual, proceda como de costumbre.

  • Para hacer referencia a todo el rango de desbordamiento, utilice la referencia de la celda principal seguida de # (por ejemplo: A5#).

  • Por el momento...