filtro avanzado

Manejo avanzado de Excel: fórmulas, datos y automatización

noviembre 1, 2026 Tuto Excel 12 min read
Manejo avanzado de Excel: fórmulas, datos y automatización

Un manejo avanzado de Excel combina fórmulas, análisis, limpieza de datos y automatización. En este tutorialwachstum sobre un libro real de ventas, aprenderás a consultar precios con BUSCARX (XLOOKUP), resumir importes con tablas dinámicas, preparar los datos con Power Query y ordenar fechas mediante una macro.

La parte de fórmulas funciona en Excel 2021, 2024 y Microsoft 365. Power Query está integrado desde Excel 2016; las tablas dinámicas y las macros existen desde versiones anteriores. Los datos están comprobados en octubre de 2026.

Qué puedes resolver con un manejo avanzado de Excel

El libro del tutorial se llama Ventas2026. Su hoja Ventas registra seis operaciones con estas columnas: Fecha, Producto, Cantidad, Precio e Importe.

A B C D E
1 Fecha Producto Cantidad Precio Importe
2 05/01/2026 Monitor 3 220,00 660,00
3 07/01/2026 Teclado 5 45,00 225,00
4 10/01/2026 Monitor 2 215,00 430,00
5 12/01/2026 Mouse 8 18,50 148,00
6 15/01/2026 Teclado 4 43,00 172,00
7 18/01/2026 Monitor 1 210,00 210,00
Ventas

Una hoja así parece sencilla, pero cada tarea de gestión tiene una solución distinta: localizar un dato, resumir las ventas, corregir un importe o repetir una ordenación. Con estas herramientas el libro deja de ser una lista y se convierte en un informe reutilizable.

Las herramientas avanzadas y dónde están

Herramienta Para qué sirve Desde qué versión
BUSCARX (XLOOKUP) Buscar y devolver un dato sin fijar el sentido de búsqueda Excel 2021, 2024 y Microsoft 365
BUSCARV (VLOOKUP) Buscar un dato en la primera columna de una tabla Excel 2007 y posteriores
Tabla dinámica Resumir y filtrar información por campos Excel 2007 y posteriores
Segmentación de datos Filtrar una tabla dinámica con botones Excel 2013 y posteriores
Power Query Importar, limpiar y combinar datos Excel 2016 y posteriores
Grabador de macros y VBA Grabar y editar tareas automatizadas Excel 2007 y posteriores
InsertarTablasTabla dinámica
DatosObtener datosFrom Table/Range
ArchivoOpcionesPersonalizar cinta de opciones

BUSCARX admite búsqueda vertical u horizontal, coincidencia exacta o aproximada y un valor para cuando no encuentra el resultado. Power Query se abre desde la pestaña Datos. Para macros, activa primero la pestaña Programador.

Consultar y devolver datos con BUSCARX

BUSCARX (XLOOKUP) recibe el valor buscado, el rango donde se busca, el rango que se devuelve y argumentos opcionales. Su ventaja frente a BUSCARV es que el rango de resultados puede estar a la izquierda.

Para consultar el precio de un Monitor:

=BUSCARX("Monitor";B2:B7;D2:D7;"No encontrado";0)

El último argumento, 0, exige una coincidencia exacta. Si el producto no existe, devuelve el texto indicado en lugar de mostrar un error.

Resumir ventas con una tabla dinámica

InsertarTablasTabla dinámica

Al confirmar el rango, Excel propone una hoja nueva para el resumen. Colocas Producto en Filas, Fecha en Columnas e Importe en Valores. El resultado muestra el total de cada producto y fecha sin escribir una suma manual.

Limpiar y combinar datos con Power Query

DatosObtener datosFrom Table/Range

Power Query abre el editor de consultas. Desde ahí puedes quitar espacios sobrantes, borrar filas vacías y cambiar el tipo de datos de las columnas. Si otro libro aporta datos adicionales, puedes combinarlos mediante las opciones de combinación del editor.

Automatizar una tarea con el grabador de macros

ArchivoOpcionesPersonalizar cinta de opciones

En la lista de la derecha, marca Programador y pulsa Aceptar. Después, desde Programador > Grabar macro, das un nombre a la macro, ejecutas la tarea y terminas con Detener grabación. El código queda en el módulo correspondiente.

Buscar datos y resolver consultas con BUSCARX

Primero crea una hoja nueva llamada Consultas. En A2 escribe “Monitor”. En B2 calcula su precio actual y en B3 el total de unidades vendidas.

B2fx=BUSCARX(A2;Ventas!B2:B7;Ventas!D2:D7;"No encontrado";0)
A B
1 Producto Resultado
2 Monitor 220,00
3 Unidades 6
Consultas
  1. En la hoja Ventas, selecciona A1:E7.
  2. Copia esos datos en la hoja Consultas, desde A5.
  3. En A2, escribe “Monitor”.
  4. En B2, pega la fórmula de BUSCARX.
  5. En B3, usa SUMAR.SI (SUMIF) para sumar las cantidades del producto escrito en A2.

=SUMAR.SI(Ventas!B2:B7;A2;Ventas!C2:C7)
Comprueba: B2 muestra 220,00 y B3 muestra 6, que corresponde a 3 + 2 + 1 monitores.
Nota: los ejemplos usan punto y coma porque es el separador con decimal coma. En un Excel configurado con punto decimal, usa comas entre argumentos y puntos en los decimales.

Buscar hacia la izquierda sin cambiar la fórmula

Añade Código antes de Producto en la hoja Ventas. Cada fila tendrá M-01, T-01, M-02, R-01, T-02 y M-03.

B2fx=BUSCARX("M-01";A2:A7;B2:B7;"No encontrado";0)
A B C D E
1 Código Producto Cantidad Precio Importe
2 M-01 Monitor 3 220,00 660,00
3 T-01 Teclado 5 45,00 225,00
4 M-02 Monitor 2 215,00 430,00
5 R-01 Mouse 8 18,50 148,00
6 T-02 Teclado 4 43,00 172,00
7 M-03 Monitor 1 210,00 210,00
Ventas

La búsqueda está en A2:A7 y el resultado en B2:B7. BUSCARX no obliga a que el rango devuelto quede a la derecha.

Con BUSCARX y coincidencia exacta

Para devolver “Monitor” desde el código M-01:

=BUSCARX("M-01";A2:A7;B2:B7;"Código no encontrado";0)

La coincidencia exacta exige que el código exista. Si introduces M-99, el resultado será el texto alternativo, no un error.

Con BUSCARX y coincidencia aproximada

Crea una hoja Precios con fecha y precio, ordenada de fecha más antigua a más reciente: 01/01/2026, 210,00; 08/01/2026, 215,00; 15/01/2026, 220,00.

C2fx=BUSCARX(DATE(2026;1;12);A2:A4;B2:B4;"Sin precio";1)
A B C
1 Fecha Precio Consulta
2 01/01/2026 210,00 215,00
3 08/01/2026 215,00
4 15/01/2026 220,00
Precios

El argumento 1 activa la coincidencia aproximada. La búsqueda devuelve el último precio válido que no supera la fecha consultada.

Reemplazar BUSCARX por BUSCARV

En Excel 2019 o 2016, la misma consulta de precio se resuelve con BUSCARV (VLOOKUP):

=BUSCARV(A2;Ventas!B2:E7;3;FALSO)

El tercer argumento indica qué columna devuelve el resultado. BUSCARV sí exige que el valor buscado esté en la primera columna del rango y que la columna de resultados esté a su derecha.

Obtener resultados exactos con BUSCARV y BUSCARX

Situación BUSCARX BUSCARV
Resultado a la izquierda Directo No directo
Coincidencia exacta 0 FALSO
Dato ausente Texto alternativo o error #N/A
Coincidencia aproximada 1 1 o VERDADERO
Referencia de búsqueda copiada Rango argumento Rango que puede desplazarse

En la hoja Consultas, estas dos fórmulas deben devolver lo mismo para “Monitor”:

=BUSCARX(A2;Ventas!B2:B7;Ventas!D2:D7;"No encontrado";0)
=BUSCARV(A2;Ventas!B2:E7;3;FALSO)

Cuándo aparece el error #N/A

Si en A2 escribes M-99 y la fórmula usa BUSCARV, aparecerá #N/A. La causa es que no existe ese código en la columna de búsqueda. Corrige el código por M-01 o amplía el rango hasta la última fila.

B2fx=BUSCARV(A2;Ventas!A2:E7;5;FALSO)
A B
1 Código Resultado
2 M-99 #N/A
3
B2 #N/A
Consultas

Cómo evitar referencias desplazadas al copiar

Si copias =BUSCARV(A2;Ventas!A2:E7;5;FALSO) una fila hacia abajo, el rango pasa a A3:E8 y la última fila de datos queda fuera.

Bloquea el rango con referencias absolutas:

=BUSCARV(A2;Ventas!$A$2:$E$7;5;FALSO)
Cuidado: tampoco uses referencias absolutas en la clave de búsqueda si cada fila debe consultar un código distinto.

Convertir una lista de ventas en tabla dinámica

La hoja Ventas ya contiene datos y una columna de códigos. Ahora añade Responsable con Ana, Luis y Marta para que el resumen permita comparar grupos.

  1. Selecciona A1:F7 en la hoja Ventas.
  2. Pulsa Insertar > Tablas > Tabla dinámica.
  3. Elige una hoja nueva y acepta la ubicación propuesta.
  4. Arrastra Producto al área Filas.
  5. Arrastra Fecha al área Columnas.
  6. Arrastra Importe al área Valores.
InsertarTablasTabla dinámica
Comprueba: aparece una tabla dinámica en una hoja nueva, con los productos en filas, las fechas en columnas y la suma de importes en la intersección.

Resumir totales por producto y fecha

La suma de cada producto debe coincidir con sus operaciones:

Producto Importe total
Monitor 1.300,00
Teclado 397,00
Mouse 148,00

Para añadir totales por responsable, mueve Responsable al área Filas, debajo de Producto. Excel anidará ambos niveles.

Analizar tabla dinámicaDiseñoSubtotales
Cuidado: una tabla dinámica no se actualiza escribiendo sobre sus celdas. Para cambiar el cálculo, abre Analizar tabla dinámica > Values y elige, por ejemplo, Promedio.

Filtrar y comparar grupos con segmentación de datos

  1. Selecciona una celda de la tabla dinámica.
  2. Pulsa Insertar > Segmentación de datos.
  3. En Columnas, elige Producto.
  4. Acepta el tamaño y la ubicación.
InsertarSegmentación de datos

Al pulsar “Monitor”, la tabla muestra 1.300,00 y oculta los totales de Teclado y Mouse. La segmentación modifica la vista, no los datos de origen.

Limpiar datos antes de analizarlos con Power Query

Antes de confiar en los totales, hay que corregir el origen. En la hoja Ventas, la celda D6 contiene deliberadamente el texto “43,00” con formato de texto. Power Query permite localizarlo, convertirlo y devolver una tabla limpia.

  1. Selecciona A1:F7 en Ventas.
  2. Pulsa Datos > Obtener datos > From Table/Range.
  3. En el editor, activa Transformar datos.
  4. Selecciona la columna Precio.
  5. Pulsa Transformar > Tipo de datos > Número decimal.
  6. Cierra el editor y conserva la carga en la hoja.
DatosObtener datosFrom Table/Range
Comprueba: la columna Precio aparece con números y los totales se calculan sin tratar el valor como texto.

Detectar valores que no son números

Abre otra vez la consulta y usa el filtro de encabezados de la columna Precio. Desmarca la opción de valores numéricos: el filtro mostrará qué registro está fuera del tipo.

Después crea una columna nueva con Agregar columna > Columna personalizada y usa:

Cuidado: convertir con Number.From noCorrige un número escrito con letras u otros caracteres. En ese caso, corrige el valor en la hoja de origen y vuelve a actualizar la consulta.

Actualizar los resultados sin repetir la importación

Cambia el importe de la fila del Mouse de 148,00 a 156,00 en la tabla cargada y, en el origen, modifica el precio de 18,50 a 19,50.

  1. En la pestaña Datos, selecciona la consulta.
  2. Pulsa Actualizar todo.
  3. Actualiza también la tabla dinámica.
DatosConsultas y conexionesActualizar todo
Comprueba: el Mouse muestra 156,00 y el total de todas las ventas cambia a 2.001,00.

Automatizar una tarea repetitiva con una macro

La macro ordenará las ventas por la columna Fecha. Con las fechas en orden creciente, las dos filas del Monitor quedan consecutivas.

  1. En Ventas, selecciona A1:F7.
  2. En Programador, pulsa Grabar macro.
  3. Escribe OrdenarVentasPorFecha y pulsa Aceptar.
  4. En Datos > Ordenar, elige Fecha de más antigua a más reciente.
  5. Pulsa Detener grabación en Programador.
ProgramadorGrabar macro

El código generado empieza así:

Sub OrdenarVentasPorFecha()
    Range("A1:F7").Select
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A7"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A1:F7")
        .Header = xlYes
        .Apply
    End With
End Sub
Comprueba: la hoja Ventas muestra las fechas 05/01, 07/01, 10/01, 12/01, 15/01 y 18/01 de 2026, en ese orden.

Guardar el libro para conservar la macro

Guarda el libro con una extensión que admita VBA.

Cuidado: si guardas como .xlsx, Excel eliminará el proyecto VBA. Debes usar .xlsm.

Al volver a abrir un archivo .xlsm, Excel puede mostrar la barra Habilitar contenido. Las macros están guardadas, pero permanecen desactivadas hasta que decidas habilitarlas.

Editar la macro con el Editor de Visual Basic

  1. En Programador, pulsa Visual Basic o usa Alt+F11.
  2. En el panel Proyectos, abre VBAProject (Ventas2026) y la carpeta Módulos.
  3. Haz doble clic en el módulo con la macro grabada.
  4. Cambia Range("A1:F7") por el rango real que quieras ordenar.

ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A1000"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

Al cambiar el código, vuelve a Excel con Alt+F11 y ejecuta la macro desde Programador > Macros.

Controlar los errores antes de que lleguen a la hoja

Situación Qué ocurre Respuesta recomendada
Código inexistente #N/A en BUSCARV Devolver “Código no encontrado” o corregir el origen
Resultado no numérico #VALOR! Validar el tipo antes de operar
Dato ausente Resultado vacío o cero Distinguirlo con SI y CONTARA
Macro sobre toda la hoja Puede reordenar cabeceras o totales Limitar el rango

=SI(CONTARA(A2:A7)=0;"Sin datos";BUSCARV(A2;Ventas!$A$2:$E$7;5;FALSO))

Identificar el error antes de envolver la fórmula

SI.ERROR (IFERROR) oculta el motivo del fallo. Conviene aplicarlo cuando la ausencia de un dato ya está prevista; no cuando necesitas saber qué dato falla.

Para separar una celda vacía de un código inexistente:

=SI(A2="";"Falta código";BUSCARV(A2;Ventas!$A$2:$E$7;5;FALSO))

El texto solo aparece cuando A2 está vacío. Si contiene un código incorrecto, la fórmula conserva el error para que puedas corregir el origen.

Evitar que una macro sobrescriba datos importantes

Una macro grabada con WholeSheet.Sort puede mover cabeceras, totales y notas. La alternativa es ordenar solo los datos:

Sub OrdenarSoloVentas()
    Range("A2:F7").Sort Key:=Range("A2"), _
        Order:=xlAscending, Header:=xlNo
End Sub

Si el libro tuviera 100.000 filas y un total en la fila 100.002, ordenar A2:F100.000 dejaría intactos el total y la fila posterior. Por eso conviene calcular el último dato antes de definir el rango.

Qué exige cada función según tu versión de Excel

Recurso Excel 2021, 2024 y Microsoft 365 Excel 2019 y 2016 Excel para la web Excel para Mac
BUSCARX Sí No Disponible según la actualización Disponible en versiones recientes
BUSCARV Sí Sí Sí Sí
Tablas dinámicas Sí Sí Sí Sí
Segmentaciones Sí Sí Sí Sí
Power Query Sí Sí Sí Sí
Grabador de macros y VBA Sí Sí No ejecuta VBA Sí
Nota: las funciones nuevas y Copilot dependen de la licencia y del canal de actualización de Microsoft 365. En Excel 2019 o 2016, comprueba la versión instalada antes de buscar BUSCARX en la cinta.

Alternativas cuando BUSCARX no está disponible

Para devolver un dato situado a la derecha, utiliza BUSCARV:

=BUSCARV(A2;Ventas!$A$2:$E$7;5;FALSO)

Para buscar hacia la izquierda, combina INDICE (INDEX) y COINCIDIR (MATCH):

=INDICE(Ventas!$B$2:$B$7;COINCIDIR(A2;Ventas!$A$2:$A$7;0))

COINCIDIR localiza la posición exacta del código y INDICE devuelve el producto en esa posición.

Qué cambia al trabajar en Excel para la web

La versión web ofrece menos funciones y herramientas de automatización. No ejecuta macros VBA. Para automatizar tareas allí se utilizan Scripts de Office, que trabajan conEssyn con el modelo de objetos disponible en el servicio.

Acción Escritorio Web
Ejecutar una macro VBA Sí No
Grabar una macro Sí No
Usar Scripts de Office No Sí
Actualizar Power Query Sí Sí
Cuidado: una solución dependiente de VBA no será portable a Excel para la web. Para compartir el flujo entre versiones, conviene construir el informe con fórmulas, tablas dinámicas y Power Query.

Lo que ya sabes hacer con un manejo avanzado de Excel

  • Consultar precios y códigos con BUSCARX, y usar BUSCARV o INDICE y COINCIDIR en versiones anteriores.
  • Construir resúmenes por producto, fecha y responsable con tablas dinámicas y segmentaciones.
  • Limpiar precios y fechas con Power Query, y actualizar resultados sin repetir la importación.
  • Grabar una macro de ordenación, guardarla en .xlsm y ajustar su rango en el Editor de Visual Basic.
  • Detectar #N/A y #VALOR! antes de envolver las fórmulas con SI.ERROR.
Nota: los datos del tutorial están comprobados en octubre de 2026.

El siguiente paso es diseñar una macro para el informe mensual: crea una hoja Resumen, calcula los totales del mes y automatiza su actualización.