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.
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.
| 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 |
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.
- Crea un libro en blanco y cambia el nombre de la pestaña a
Personal. - Escribe los encabezados
ID,Empleado,ID de jefeyDepartamentoen A1:D1. - Copia las ocho filas de datos de A2:D9.
- Selecciona A1:D9 y abre
Insertar > Tablas > Tabla. - En el cuadro Crear tabla, confirma que hay encabezados y pulsa Aceptar.
- 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.
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].
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.
- Escribe
Nombre del jefeen E1 yDepartamento del jefeen F1. - En E2 escribe la fórmula que busca el nombre del superior.
- En F2 escribe la fórmula que busca el departamento del superior.
- 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))
| 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 |
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.
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í.
- Escribe
Nivelen G1. - En G2 escribe
1, porque la dirección general es la raíz. - En G3 escribe la fórmula que consulta el nivel del jefe y le suma uno.
- Arrastra el controlador de relleno desde G3 hasta G9.
=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 |
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.
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.
- Añade el encabezado
Sucursalen H1. - En H2 escribe la fórmula que extrae la sucursal del jefe del empleado.
- Arrastra el controlador de relleno hasta H9.
- En J1 escribe
Departamentoy en J2 escribeEmpleados. - En K1 escribe
Sucursaly en K2 escribeEmpleados. - En L1 escribe
Totaly en L2 escribeEmpleados.
=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")
| 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 |
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.
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.
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.
- Añade en la fila 10 una copia de Sara Nieto con ID 9 y el mismo ID de jefe (3).
- Cambia en E8 el ID de jefe de Tomás Lara de 4 a 99, un ID que no existe.
- En D5 escribe
Ventascon espacio final y en D7 escribeventasen minúscula.
| 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 |
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.
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.
La documentación oficial de Microsoft explica esta relación con el detalle de cada paso: usar Access o Excel para administrar tus datos.
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.
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.
| 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 |
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
- MicrosoftExcel y Access — documentación oficialconsultado el 28/10/2026
- MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 28/10/2026
- MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 28/10/2026
- MicrosoftBASE — documentación oficialconsultado el 28/10/2026
- MicrosoftSUBTOTALES — documentación oficialconsultado el 28/10/2026