Base de datos

Bases de datos jerárquicas en Excel: ejemplos y práctica

noviembre 7, 2026 Tuto Excel 12 min read
Bases de datos jerárquicas en Excel: ejemplos y práctica

Una base de datos jerárquica organiza los datos como un árbol: cada elemento puede tener un superior y varios subordinados. En Excel no necesitas un motor de base de datos para representarla; basta con una tabla con un identificador único y el identificador de su padre. Con este ejemplo de empleados, sucursales y departamentos aprenderás a crear esa estructura, consultarla, recorrer sus niveles y resumirla. El método funciona en Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024 y Microsoft 365, y también en Excel para la web, Mac y móviles. Los datos de este tutorial están comprobados en octubre de 2026.

Qué es una base de datos jerárquica

Una base de datos jerárquica guarda los registros como un árbol invertido: cada nodo tiene un único lugar dentro de la estructura. Un nodo padre puede tener varios nodos hijo; un nodo que no depende de ningún otro es la raíz.

En nuestro libro de ejemplo organizamos el personal de una empresa con dos sucursales. La raíz es la dirección general. De ella dependen las direcciones de sucursal, y de cada una, los responsables de departamento. Así, cada empleado tiene un solo camino hacia la raíz: su jefe, el jefe de su jefe y, al final, la dirección.

La ventaja del modelo es que representa bien estructuras reales como organigramas, inventarios por ubicación, categorías de productos o cuentas de una empresa. Su limitación principal aparece cuando una misma persona depende de dos responsables o cuando un dato depende de muchos elementos a la vez: el árbol obliga a elegir un solo camino.

Nota: En este tutorial usamos el nombre de la función BUSCARV (VLOOKUP) con sus argumentos separados por punto y coma. En Excel configurado con punto decimal se separan con coma.

Cómo se relaciona un padre con sus hijos

La relación que usaremos es 1:N: un padre puede tener muchos hijos, pero cada hijo tiene un solo padre. En una hoja, cada fila es un nodo y la columna ID de jefe apunta a la fila del padre mediante su ID.

Elemento Papel Dato que lo identifica
Dirección general Raíz ID 1
Dirección de sucursal Padre ID 2 y 3
Responsable de departamento Hijo y a la vez padre ID 4, 5 y 6
Empleado Hoja ID 7, 8 y 9

La hoja inicial solo necesita cuatro columnas: ID, Empleado, ID de jefe y Departamento. El departamento se escribe una vez por registro en este primer modelo; más adelante veremos por qué conviene mantenerlo en una tabla aparte.

A1fx**ID**
A B C D
1 ID Empleado ID de jefe Departamento
2 1 Dirección general Dirección
3 2 Laura Soto 1 Sucursal Norte
4 3 Marcos Ruiz 1 Sucursal Sur
5 4 Elena Gil 2 Ventas
6 5 Iván Pérez 2 Logística
7 6 Sara Nieto 3 Ventas
8 7 Tomás Lara 4 Ventas
9 8 Julia Campos 5 Logística
Personal

Fíjate en que el ID de jefe contiene un número, no un nombre. Esa es la clave: los nombres pueden repetirse o cambiarse; el ID identifica el nodo sin ambigüedad.

Construye un árbol de empleados en una hoja

Creamos la hoja Personal con los datos anteriores. El paso siguiente es convertir ese rango en una tabla de Excel, para que los formatos y las referencias se ajusten al añadir filas.

  1. Crea un libro en blanco y cambia el nombre de la pestaña a Personal.
  2. Escribe los encabezados ID, Empleado, ID de jefe y Departamento en A1:D1.
  3. Copia las ocho filas de datos de A2:D9.
  4. Selecciona A1:D9 y abre Insertar > Tablas > Tabla.
  5. En el cuadro Crear tabla, confirma que hay encabezados y pulsa Aceptar.
  6. Comprueba que en la esquina superior izquierda de la tabla aparezca el botón de filtro y que las filas se pinten con un formato de tabla.
InsertarTablasTabla

La tabla convierte el rango en un objeto que se amplía y mantiene los formatos. También permite que las fórmulas que escribas más abajo usen referencias estructuradas, como Personal[Empleado].

Comprueba: al hacer clic en cualquier celda de la tabla, el cuadro de nombres muestra Tabla1 y las referencias de las fórmulas cambian a nombres de tabla.

Encuentra los hijos de cada elemento padre

Ahora añadimos dos columnas auxiliares: Nombre del jefe y Departamento del jefe. Cada una consultará la tabla con BUSCARV (VLOOKUP) usando el ID de jefe como clave de búsqueda.

  1. Escribe Nombre del jefe en E1 y Departamento del jefe en F1.
  2. En E2 escribe la fórmula que busca el nombre del superior.
  3. En F2 escribe la fórmula que busca el departamento del superior.
  4. Selecciona E2:F2 y arrastra el controlador de relleno hasta E9:F9.

=SI(C2="";"Sin jefe";BUSCARV(C2;$A$2:$B$9;2;FALSO))

=SI(C2="";"Sin jefe";BUSCARV(C2;$A$2:$D$9;4;FALSO))
E2fx=SI(C2="";"Sin jefe";BUSCARV(C2;$A$2:$B$9;2;FALSO))
A B C D E F
1 ID Empleado ID de jefe Departamento Nombre del jefe Departamento del jefe
2 1 Dirección general Dirección Sin jefe Sin jefe
3 2 Laura Soto 1 Sucursal Norte Dirección general Dirección
4 3 Marcos Ruiz 1 Sucursal Sur Dirección general Dirección
5 4 Elena Gil 2 Ventas Laura Soto Sucursal Norte
6 5 Iván Pérez 2 Logística Laura Soto Sucursal Norte
7 6 Sara Nieto 3 Ventas Marcos Ruiz Sucursal Sur
8 7 Tomás Lara 4 Ventas Elena Gil Sucursal Norte
9 8 Julia Campos 5 Logística Iván Pérez Sucursal Norte
Personal

El cuarto argumento FALSO obliga a BUSCARV a buscar una coincidencia exacta. Si pones VERDADERO, Excel aceptará el valor aproximado y devolverá el primer ID que no supere el buscado, con resultados engañosos.

Comprueba: E5 muestra Laura Soto y F5 muestra Sucursal Norte; la fila 2, que es la raíz, muestra Sin jefe en ambas columnas.

Recorre los niveles de la jerarquía

Cada nodo tiene un nivel: la raíz está en el nivel 1, sus hijos en el 2 y así sucesivamente. Para calcularlo, cada fila necesita saber el nivel de su jefe, y ese dato está en la columna Nivel de la fila del jefe. Por eso añadimos la columna y buscamos allí.

  1. Escribe Nivel en G1.
  2. En G2 escribe 1, porque la dirección general es la raíz.
  3. En G3 escribe la fórmula que consulta el nivel del jefe y le suma uno.
  4. Arrastra el controlador de relleno desde G3 hasta G9.

=SI(C3="";1;BUSCARV(C3;$A$2:$G$9;7;FALSO)+1)
G3fx=SI(C3="";1;BUSCARV(C3;$A$2:$G$9;7;FALSO)+1)
A B C D E F G
1 ID Empleado ID de jefe Departamento Nombre del jefe Departamento del jefe Nivel
2 1 Dirección general Dirección Sin jefe Sin jefe 1
3 2 Laura Soto 1 Sucursal Norte Dirección general Dirección 2
4 3 Marcos Ruiz 1 Sucursal Sur Dirección general Dirección 2
5 4 Elena Gil 2 Ventas Laura Soto Sucursal Norte 3
6 5 Iván Pérez 2 Logística Laura Soto Sucursal Norte 3
7 6 Sara Nieto 3 Ventas Marcos Ruiz Sucursal Sur 3
8 7 Tomás Lara 4 Ventas Elena Gil Sucursal Norte 4
9 8 Julia Campos 5 Logística Iván Pérez Sucursal Norte 4
Personal

Observa el recorrido: Julia Campos (nivel 4) depende de Iván Pérez (3), que depende de Laura Soto (2), que depende de la dirección general (1). La fórmula no necesita recursividad porque el superior siempre está antes que su subordinado en la tabla; si cambias el orden, deja de funcionar.

Comprueba: G2 vale 1, G5 y G7 valen 3 y G8 y G9 valen 4.

Calcula totales por departamento y sucursal

Con la jerarquía definida, resumimos la distribución. La columna Sucursal se obtiene a partir del departamento del jefe, porque los responsables de departamento ya tienen asignada su sucursal en la columna F.

  1. Añade el encabezado Sucursal en H1.
  2. En H2 escribe la fórmula que extrae la sucursal del jefe del empleado.
  3. Arrastra el controlador de relleno hasta H9.
  4. En J1 escribe Departamento y en J2 escribe Empleados.
  5. En K1 escribe Sucursal y en K2 escribe Empleados.
  6. En L1 escribe Total y en L2 escribe Empleados.

=BUSCARV(C2;$A$2:$H$9;6;FALSO)

=SUMAR.SI.CONJUNTO($A$2:$A$9;$D$2:$D$9;J2)

=SUMAR.SI.CONJUNTO($A$2:$A$9;$H$2:$H$9;K2)

=SUMAR.SI.CONJUNTO($A$2:$A$9;$D$2:$D$9;"<>Dirección")
J2fx=SUMAR.SI.CONJUNTO($A$2:$A$9;$D$2:$D$9;J2)
A B C D E F G H J K L
1 ID Empleado ID de jefe Departamento Nombre del jefe Departamento del jefe Nivel Sucursal Departamento Sucursal Total
2 1 Dirección general Dirección Sin jefe Sin jefe 1 Sin jefe Ventas Sucursal Norte 3
3 2 Laura Soto 1 Sucursal Norte Dirección general Dirección 2 Sucursal Norte Logística Sucursal Sur 3
4 3 Marcos Ruiz 1 Sucursal Sur Dirección general Dirección 2 Sucursal Sur
5 4 Elena Gil 2 Ventas Laura Soto Sucursal Norte 3 Sucursal Norte
6 5 Iván Pérez 2 Logística Laura Soto Sucursal Norte 3 Sucursal Norte
7 6 Sara Nieto 3 Ventas Marcos Ruiz Sucursal Sur 3 Sucursal Sur
8 7 Tomás Lara 4 Ventas Elena Gil Sucursal Norte 4 Sucursal Norte
9 8 Julia Campos 5 Logística Iván Pérez Sucursal Norte 4 Sucursal Norte
Personal

En este resumen, el criterio «<>Dirección» excluye la fila de la dirección general, de modo que el total de empleados por sucursal suma las personas asignadas a las dos sucursales, sin contar la raíz.

Comprueba: Ventas suma 3, Logística suma 3, Sucursal Norte suma 5 y el total general es 8.

Qué diferencia hay entre una jerarquía y una red

En una jerarquía, cada nodo tiene un solo padre: el camino hacia la raíz es único. En una base de datos de red, un mismo nodo puede tener varios padres, y las relaciones se expresan mediante conjuntos que conectan registros.

Característica Jerárquica De red
Padres por nodo Uno Varios
Camino hacia la raíz Único Múltiples
Navegación De hijo a padre Entre registros enlazados
Duplicación de datos Riesgo alto Se controla mejor
Ejemplo Empleado con un jefe Empleado que responde a dosUtf-8 responsables

Para ver la diferencia, imaginemos que Sara Nieto, del ejemplo, cumple también funciones de coordinadora de Logística. En una jerarquía solo puede colgar de Marcos Ruiz o de Iván Pérez. En una red podría tener los dos enlaces, sin necesidad de inventar un jefe intermedio.

La consecuencia práctica es clara: si tu caso admite dos superiors, forzar la jerarquía produce duplicados o reglas especiales. En ese escenario conviene revisar el modelo o plantear una base de datos relacional.

Consejo: antes de construir el árbol, escribe en una frase qué nodos dependen de qué. Si una misma fila aparece con dos dependencias incompatibles, el modelo jerárquico no es el adecuado.

Por qué una jerarquía puede duplicar o redundantar datos

Un árbol bien diseñado evita la duplicación: cada dato se escribe una vez y los hijos lo heredan. Los problemas aparecen cuando el mismo dato se repite en varias filas o cuando una clave apunta a un identificador inexistente.

Vamos a introducir tres fallos en una copia de la hoja: un empleado repetido, un ID de jefe equivocado y el departamento escrito de dos maneras.

  1. Añade en la fila 10 una copia de Sara Nieto con ID 9 y el mismo ID de jefe (3).
  2. Cambia en E8 el ID de jefe de Tomás Lara de 4 a 99, un ID que no existe.
  3. En D5 escribe Ventas con espacio final y en D7 escribe ventas en minúscula.
E8fx=SI(C8="";"Sin jefe";BUSCARV(C8;$A$2:$B$9;2;FALSO))
A B C D
1 ID Empleado ID de jefe Departamento
2 1 Dirección general Dirección
3 2 Laura Soto 1 Sucursal Norte
4 3 Marcos Ruiz 1 Sucursal Sur
5 4 Elena Gil 2 Ventas
6 5 Iván Pérez 2 Logística
7 6 Sara Nieto 3 Ventas
8 7 Tomás Lara 99 Ventas
9 8 Julia Campos 5 Logística
10 9 Sara Nieto 3 Ventas
E8 La fila 8 apunta al ID 99, que no existe
Personal

BUSCARV devuelve #N/A aunque el dato está. La causa es que BUSCARV busca en el rango $A$2:$B$9 y el ID 99 no está en la columna A. El arreglo es corregir el dato de origen: escribe 4 en C8. Si el error debe detectarse en lugar de corregirse a mano, envuelve la búsqueda con SI.ERROR (IFERROR).

El total por departamento no coincide con lo esperado. La causa son las variantes de texto: Ventas y ventas no son el mismo criterio para SUMAR.SI.CONJUNTO (SUMIFS), porque esa función compara cadenas de texto de forma exacta. El arreglo es corregir ambas celdas a Ventas y, mejor aún, tomar el departamento desde una lista de referencia.

La fila duplicada infla el recuento. La causa es que Sara Nieto aparece con dos ID, de modo que cada fila cuenta como un empleado distinto. El arreglo es eliminar la fila 10 o asignar un ID y un cargo diferentes si realmente hay dos personas.

El ID de jefe repite a un mismo superior en varias filas. La causa es que el dato de la columna C no es único por empleado, o que se han copiado filas completas. El arreglo es revisar la columna C y comprobar que cada ID aparece una sola vez.

Comprueba: después de corregir, E8 muestra Elena Gil, el resumen de Ventas marca 3 y la hoja tiene ocho empleados, sin filas repetidas.

Cuándo conviene usar Access en lugar de una hoja de Excel

Excel es una hoja de cálculo: calcula, analiza y presenta datos. Access es una base de datos relacional: guarda muchos registros relacionados mediante tablas, con formularios e informes para varios usuarios. Si tu jerarquía tiene miles de empleados, varias sucursales que actualizan el mismo archivo o necesitas consultas compleja que crucen muchas tablas, Access es la herramienta adecuada.

Puedes pasar datos de Access a Excel con Datos > Obtener datos > Desde base de datos > Desde Microsoft Access, y desde Excel hacia Access con Datos externos > Exportar > Excel.

DatosObtener datosDesde base de datosDesde Microsoft Access
DatosObtener datosDesde base de datosDesde Microsoft Access

La documentación oficial de Microsoft explica esta relación con el detalle de cada paso: usar Access o Excel para administrar tus datos.

Cuidado: Access solo existe para Windows y no tiene versión para Mac ni para la web.

Mientras la estructura sea jerárquica y el volumen sea manejable en un archivo, Excel con tablas, BUSCARV y SUMAR.SI.CONJUNTO resuelve el caso. Si la base necesita reglas de integridad, permisos por usuario o relaciones no jerárquicas, conviene diseñar las tablas en Access.

Nota: si lo que necesitas es limpiar y combinar datos de distintas fuentes antes de analizarlos, Power Query (integrado desde Excel 2016) puede Simplificar la preparación del rango.

Lo que ya sabes hacer con una jerarquía en Excel

Ya puedes construir el árbol, consultarlo y resumirlo. Estas son las operaciones que acabas de practicar:

  • Crear una tabla con ID, empleado, ID de jefe y departamento.
  • Consultar el nombre y el departamento del superior con BUSCARV (VLOOKUP).
  • Calcular el nivel de cada nodo a partir del nivel de su jefe.
  • Sumar empleados por departamento y por sucursal con SUMAR.SI.CONJUNTO (SUMIFS).
  • Detectar duplicados, claves inexistentes y variantes de texto antes de confiar en los totales.
A1fx**ID**
A B C D E F G H
1 ID Empleado ID de jefe Departamento Nombre del jefe Departamento del jefe Nivel Sucursal
2 1 Dirección general Dirección Sin jefe Sin jefe 1 Sin jefe
3 2 Laura Soto 1 Sucursal Norte Dirección general Dirección 2 Sucursal Norte
4 3 Marcos Ruiz 1 Sucursal Sur Dirección general Dirección 2 Sucursal Sur
5 4 Elena Gil 2 Ventas Laura Soto Sucursal Norte 3 Sucursal Norte
6 5 Iván Pérez 2 Logística Laura Soto Sucursal Norte 3 Sucursal Norte
7 6 Sara Nieto 3 Ventas Marcos Ruiz Sucursal Sur 3 Sucursal Sur
8 7 Tomás Lara 4 Ventas Elena Gil Sucursal Norte 4 Sucursal Norte
9 8 Julia Campos 5 Logística Iván Pérez Sucursal Norte 4 Sucursal Norte
Personal

El siguiente paso es convertir el rango en una tabla de Excel y comprobar que las fórmulas se mantienen al añadir un empleado nuevo.

Fuentes

  1. MicrosoftExcel y Access — documentación oficialconsultado el 28/10/2026
  2. MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 28/10/2026
  3. MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 28/10/2026
  4. MicrosoftBASE — documentación oficialconsultado el 28/10/2026
  5. MicrosoftSUBTOTALES — documentación oficialconsultado el 28/10/2026