Bases de datos

Base de datos jerárquica en Excel: cómo montarla con esquemas

octubre 16, 2026 Tuto Excel 14 min read
Base de datos jerárquica en Excel: cómo montarla con esquemas

Imagina el organigrama de una empresa pintado en una sola hoja de cálculo: arriba el presidente, debajo dos direcciones, luego cuatro departamentos y, al final, ocho empleados. Eso es una base de datos jerárquica: una lista plana en la que cada fila apunta a su fila padre. En este tutorial montarás ese organigrama en Excel, lo recorrerás con BUSCARX (XLOOKUP) y lo plegarás y desplegarás con la cinta. Las funciones que usamos están en Excel 2021, 2024 y Microsoft 365; en versiones anteriores se hace igual con BUSCARV (VLOOKUP) e INDICE/COINCIDIR (INDEX/MATCH), aunque la sintaxis cambia.

Qué es una base de datos jerárquica y para qué te sirve en Excel

Una base de datos jerárquica guarda la información en forma de árbol: cada elemento tiene un único padre y, desde él, se llega a los hijos. Piénsalo como un árbol de carpetas invertido: la raíz (el presidente) cuelga del tronco, las ramas (las direcciones) salen del tronco, y las hojas (los empleados) salen de las ramas. Frente a una tabla plana, donde cada fila solo se describe a sí misma, la jerárquica añade una columna con el identificador del padre, que es la que conecta las filas. Frente a un modelo relacional, donde una persona se cruza con otra mediante tablas intermedias, aquí basta con una sola tabla y una columna IdPadre. Para qué te sirve en Excel: para pintar organigramas, listas de piezas con subconjuntos, categorías de productos con subcategorías, capítulos de un manual con sus secciones, o cualquier información que se organice "uno contiene a varios".

El modelo padre-hijo en una hoja de Excel

La tabla que sostiene el árbol tiene, como mínimo, cuatro columnas: Id (un número único para cada persona), Nombre, IdPadre (el Id de su jefe directo, en blanco para la raíz) y Nivel (1 para la raíz, 2 para sus hijos, y así). Para saber quién es el jefe del jefe, recorres la columna IdPadre hacia arriba hasta llegar al Id sin padre. Por ejemplo, si Ana tiene IdPadre = 3 y el Id = 3 es Luis, y Luis tiene IdPadre = 1 y el Id = 1 es Marta, entonces Marta es la jefa de Luis y la "jefa de la jefa" de Ana. El libro que vas a montar contiene exactamente este caso: una empresa ficticia con un presidente, dos direcciones, cuatro departamentos y ocho empleados, 15 filas en total.

Columna Qué guarda Ejemplo
Id Identificador único de la fila 1
Nombre La persona Marta Ruiz
IdPadre Id de su jefe directo (en blanco en la raíz) (en blanco)
Nivel Distancia a la raíz 1

Construir el árbol con INDICE, COINCIDIR y BUSCARX

La forma clásica de subir al padre es con INDICE y COINCIDIR (INDEX y MATCH): =INDICE(nombres;COINCIDIR(celda_id_padre;ids;0)). La versión moderna, que existe desde Excel 2021 y Microsoft 365, es BUSCARX (XLOOKUP) y se lee igual de clara: le das el valor que buscas, dónde buscarlo y qué columna quieres de vuelta. Para subir dos niveles (al "jefe del jefe"), anidas dos BUSCARX: el primero sube al padre, el segundo toma el resultado y vuelve a subir.

Nota: En Excel configurado con punto decimal (México, Estados Unidos) el separador de argumentos es la coma en lugar del punto y coma.

SUBIR.BUSCARX no existe: cómo se hace con BUSCARX

No hay una función que se llame SUBIR.BUSCARX para saltar al padre de golpe. Lo que haces es un BUSCARX normal que, en vez de buscar un valor introducido a mano, busca el contenido de la celda IdPadre de la fila actual. La fórmula para sacar el nombre del jefe directo, escrita en E2 con la tabla de ejemplo, es:

=BUSCARX(B2;A2:A16;B2:B16)

El primer argumento es el valor a buscar (el IdPadre de la fila), el segundo es el rango donde buscarlo (la columna Id), y el tercero es el rango del que extraer el resultado (la columna Nombre). BUSCARX está disponible desde Excel 2021, Excel 2024 y Microsoft 365.

Crear la hoja del organigrama con cinco niveles

Empieza abriendo un libro nuevo y renombrando la primera hoja como Organigrama. Copia los datos tal cual en las columnas A, B y C. La raíz, la fila 2, lleva IdPadre en blanco a propósito: indica que no tiene jefe.

A1fx**Id**
A B C D
1 Id Nombre IdPadre Nivel
2 1 Marta Ruiz 1
3 2 Luis Pérez 1 2
4 3 Ana Gómez 1 2
5 4 Pedro Soto 2 3
6 5 Sofía León 2 3
7 6 Diego Marín 3 3
8 7 Clara Vidal 3 3
9 8 Hugo Reyes 4 4
10 9 Laura Nieto 4 4
11 10 Iván Cano 5 4
12 11 Nora Palau 5 4
13 12 Pablo Rubio 6 4
14 13 Eva Cases 6 4
15 14 Raúl Orts 7 4
16 15 Inés Marco 7 4
Organigrama
  1. En A1 escribe Id, en B1 Nombre, en C1 IdPadre y en D1 Nivel.
  2. Rellena las filas 2 a 16 con los datos del cuadro.
  3. Deja la celda C2 vacía: es la raíz y no tiene padre.
  4. Guarda el libro como organigrama.xlsx.
Comprueba: La celda C2 está vacía y la columna D muestra los niveles 1 a 4 según el árbol.

El rango en una tabla para que crezca solo

Convertir los datos en tabla de Excel hace que las fórmulas que apunten a la columna se ajusten solas al añadir filas, y que la columna IdPadre pueda escribirse con referencias estructuradas (Tabla1[IdPadre]).

  1. Selecciona A1:D16.
  2. Ve a Insertar > Tablas > Tabla y acepta el rango.
  3. Marca la casilla "La tabla tiene encabezados" y pulsa Aceptar.
InsertarTablasTabla
Comprueba: La pestaña de la cinta muestra nuevas herramientas de tabla y al añadir una fila en la fila 17 las fórmulas de las columnas E y F siguen calculando sin tocarlas.

Sacar el nombre del jefe directo de cada empleado

En E1 escribe Jefe directo. La fórmula en E2 busca el IdPadre de cada fila en la columna Id y devuelve el nombre correspondiente:

=BUSCARX(C2;$A$2:$A$16;$B$2:$B$16)
Cuidado: En E2 la celda C2 está vacía, así que BUSCARX devuelve #N/A. Más adelante lo arreglamos con el último argumento en blanco.
Comprueba: Al arrastrar el controlador de relleno de E2 hasta E16, las filas 3 a 16 muestran el nombre del superior; E2 muestra #N/A.

Sacar el nombre del jefe del jefe con dos BUSCARX anidados

En F1 escribe Jefe del jefe. La fórmula en F2 sube primero al padre con un BUSCARX y, con el resultado, vuelve a subir:

=BUSCARX(BUSCARX(C2;$A$2:$A$16;$B$2:$B$16);$A$2:$A$16;$B$2:$B$16)

Para que el anidado funcione fila a fila, el BUSCARX exterior busca el nombre del padre en la columna Id y devuelve otra vez su nombre; por eso usa las mismas columnas. El resultado, fila a fila, es: E2 y F2 muestran #N/A (raíz); E3 muestra Marta Ruiz, F3 también Marta Ruiz (porque Luis depende directamente de la raíz); E4 muestra Marta Ruiz, F4 también; E8 muestra Ana Gómez, F8 muestra Marta Ruiz.

Comprueba: Arrastra F2 hasta F16. Solo las filas con Nivel 3 o 4 muestran un nombre distinto en F que en E.

Calcular el nivel, el camino y los hijos de cada nodo

Tres columnas nuevas convierten la tabla en una jerarquía navegable: Nivel, Ruta y Hijos directos. El Nivel ya está escrito a mano en la columna D, pero también se puede calcular con la longitud de la ruta. La Ruta imita el hierarchyid de SQL Server: una cadena de Ids separados por barras, de la raíz al nodo actual. Los Hijos directos cuentan cuántas filas apuntan a este Id con CONTAR.SI (COUNTIF).

G2fx=CONTAR.SI($A$2:$A$16;A2)
A B C D E F G H
1 Id Nombre IdPadre Nivel Jefe directo Jefe del jefe Hijos directos Ruta
2 1 Marta Ruiz 1 #N/A #N/A 2 /1/
3 2 Luis Pérez 1 2 Marta Ruiz Marta Ruiz 2 /1/2/
4 3 Ana Gómez 1 2 Marta Ruiz Marta Ruiz 2 /1/3/
5 4 Pedro Soto 2 3 Luis Pérez Marta Ruiz 2 /1/2/4/
Organigrama
Comprueba: La columna G muestra 0 para los nodos hoja (Hugo, Laura, Iván, Nora, Pablo, Eva, Raúl e Inés) y 2 para el resto.

La ruta jerárquica con concatenar Id e IdPadre

La fórmula en H2 une el IdPadre consigo mismo repetidamente y luego añade el Id propio, separados por barras:

=CONCATENAR("/";BUSCARX(C2;$A$2:$A$16;$H$2:$H$16);A2;"/")

Como H2 se llama a sí misma, en la fila 2 (la raíz) BUSCARX no encuentra nada y devuelve #N/A; la solución es tratarla aparte:

=SI(C2="";"/"&A2&"/";CONCATENAR("/";BUSCARX(C2;$A$2:$A$16;$H$2:$H$16);A2;"/"))
Comprueba: En H2 aparece /1/, en H3 aparece /1/2/, en H5 aparece /1/2/4/.

El número de hijos directos con CONTAR.SI

CONTAR.SI cuenta cuántas veces aparece un valor en un rango. Aquí, en la columna G, cuenta cuántas filas de la columna A usan este Id como IdPadre:

=CONTAR.SI($A$2:$A$16;A2)
Cuidado: El rango a contar es la columna Id ($A$2:$A$16), no la columna IdPadre. Si cuentas sobre IdPadre siempre te saldrá 1 para los que tienen padre y 0 para la raíz.
Comprueba: Los empleados del nivel 4 muestran 0 en la columna G; los departamentos del nivel 3 muestran 2.

Ver el árbol agrupando filas con la cinta

La herramienta Agrupar de la cinta pliega y despliega filas por niveles, ideal para examinar un organigrama largo sin perder el detalle.

  1. Selecciona las celdas D2:D16 (la columna Nivel).
  2. Ve a Datos > Esquema > Agrupar > Agrupar.
  3. Repite para crear un grupo por cada nivel.
DatosEsquemaAgrupar

A la izquierda de la fila 1 aparecen unos botones con números del 1 al 4: el 1 muestra solo la raíz (una fila), el 2 añade las dos direcciones, el 3 añade los cuatro departamentos y el 4 muestra los 15 empleados. Para desplegar un solo nivel, pulsa el + que aparece a la izquierda de cada fila agrupada.

Comprueba: Al pulsar el botón 1 solo se ve la fila 2; al pulsar 4 se vuelven a ver las 15 filas.

Por qué BUSCARX devuelve #N/A y la fórmula se rompe al copiar

Tres fallos típicos al trabajar con esta hoja: el IdPadre vacío de la raíz, un IdPadre que apunta a un Id que no existe y referencias que se desplazan al insertar filas.

El IdPadre está vacío y BUSCARX no encuentra al padre

La raíz tiene C2 en blanco, y BUSCARX interpreta un valor vacío como algo que no está en la columna A, así que devuelve #N/A. Para que la raíz se muestre a sí misma, añade el cuarto argumento opcional "si no se encuentra" en blanco:

=BUSCARX(C2;$A$2:$A$16;$B$2:$B$16;"")
Comprueba: E2 y F2 pasan de #N/A a Marta Ruiz.

La cadena de BUSCARX anidados llega a un nodo huérfano

Si un día escribes en C9 el valor 99 (que no existe en la columna A), la fórmula de E9 y F9 devuelve #N/A. La causa es que el IdPadre apunta a un Id inexistente. Para impedirlo, crea una lista desplegable en C3:C16 que solo permita valores de la columna A:

  1. Selecciona C3:C16.
  2. Ve a Datos > Herramientas de datos > Validación de datos.
  3. En Permitir, elige Lista y en Origen escribe =$A$2:$A$16.
DatosHerramientas de datosValidación de datos
Comprueba: Al hacer clic en C9 aparece una flecha de lista desplegable; intentar escribir 99 muestra un aviso de error.

La fórmula deja de funcionar al insertar filas en medio

Si insertas una fila entre la 2 y la 3 con datos nuevos, las referencias $A$2:$A$16 se desplazan: la fila 17 queda fuera del rango. El arreglo es usar referencias estructuradas de la tabla creada antes. Cambia las fórmulas de las columnas E, F y H para que apunten a la tabla:

=BUSCARX(C2;Tabla1[Id];Tabla1[Nombre];"")
Comprueba: Inserta una fila nueva en la fila 5 con Id = 16, Nombre = Sara Vidal e IdPadre = 2. Las columnas E, F y H calculan solas el resultado de la nueva fila.

Lo que Excel no hace y cómo lo resuelve Power Query

Excel no tiene un tipo hierarchyid como SQL Server ni una función que, con una sola fórmula, devuelva todos los subordinados de un nodo (el subárbol entero). Para árboles de más de unos cientos de filas, la mejor herramienta es Power Query (Obtener y transformar datos), integrado desde Excel 2016. Power Query trabaja con tablas: con Agrupar por sobre la columna IdPadre obtienes cuántos subordinados tiene cada persona, y con un paso personalizado en lenguaje M puedes concatenar la ruta jerárquica fila a fila. La ruta para llegar es:

DatosObtener y transformar datosDesde tabla o rango

Una vez en Power Query, en la pestaña Transformar usa Agrupar por con la columna IdPadre y la operación Recuento de filas para sacar los hijos directos de cada nodo sin escribir fórmulas.

Lo que ya sabes hacer con una base de datos jerárquica

  • Montar el árbol con las columnas Id, Nombre, IdPadre y Nivel.
  • Subir al jefe directo con un BUSCARX y al jefe del jefe con dos BUSCARX anidados.
  • Contar hijos directos con CONTAR.SI y distinguir los nodos hoja.
  • Construir la ruta jerárquica con CONCATENAR y BUSCARX.
  • Plegar y desplegar el organigrama con Datos > Esquema > Agrupar y proteger la entrada de datos con Validación de datos.

El siguiente paso, si tu organigrama crece por encima de unos cientos de filas, es pasar la tabla a Power Query y dejar que la herramienta agrupe y recorra el árbol por ti.

Dudas al usar una base de datos jerárquica en Excel

  • ¿Cuántos niveles admite Excel? La hoja admite 1.048.576 filas y 16.384 columnas; la profundidad del árbol la decides tú, aunque más de 6 o 7 niveles anidados hacen la fórmula difícil de leer.
  • ¿Qué pasa si tengo varios presidentes? El modelo padre-hijo asume un único nodo raíz. Si tu caso tiene varias raíces independientes (varias empresas, por ejemplo), añade una raíz ficticia con Id = 0 cuyo IdPadre también esté en blanco, y cuelga de ella a los presidentes.
  • ¿Y si la jerarquía cambia a menudo? Convierte el rango en tabla, como se vio, y usa referencias estructuradas para que las fórmulas se ajusten solas al insertar o borrar filas.

Dudas al usar una base de datos jerárquica en Excel

1. ¿Cómo se ve una base de datos jerárquica con un ejemplo en Excel?

Imagina una empresa con una sede central en A1 y, debajo, varios departamentos en A2, A3 y A4. Cada departamento tiene empleados en B1 y B2, y cada empleado sus proyectos en C1 y C2. Esa estructura de padre-hijo, donde cada nivel depende del anterior, es la esencia de una base de datos jerárquica y se reproduce en Excel con filas agrupadas o con un esquema como el que montamos en este artículo.

2. ¿Qué tipo de base de datos es la jerárquica?

La jerárquica es un modelo de datos anterior al relacional, en el que la información se guarda en forma de árbol: cada nodo padre puede tener varios hijos, pero cada hijo tiene un único padre. Hoy se usa sobre todo en sistemas legacy y en escenarios concretos como LDAP o los registros de Windows, aunque en una hoja de cálculo puedes imitar su prototipo con unas pocas columnas bien ordenadas.

3. ¿En qué se diferencian las bases de datos jerárquicas y las de red?

La jerárquica organiza la información en árbol, de forma que cada hijo tiene un solo padre. La de red, en cambio, permite que un mismo registro tenga varios padres, formando un grafo con relaciones muchos-buro. La de red es más flexible, pero también más compleja de mantener, y por eso terminó desplazada por el modelo relacional que usa tablas con claves externas.

4. ¿Qué ventajas y desventajas tiene el modelo de base de datos jerárquico?

Entre sus ventajas están la rapidez de lectura, porque la navegación siempre va hacia abajo por el árbol, y la simplicidad para representar jerarquías naturales, como organigramas o piezas de un producto. Como contrapunto, obligar a duplicar datos cuando un mismo elemento aparece en varias ramas, y resulta rígido cuando la estructura cambia, porque mover nodos implica reorganizar el árbol entero.

5. ¿Qué es una base de datos orientada a objetos?

Es un modelo que guarda la información en forma de objetos, parecidos a los de la programación orientada a objetos, con sus atributos y sus métodos. Permite tipos de datos ricos como imágenes, geometrías o listas, algo que las columnas tradicionales de una hoja no manejan de forma nativa, por lo que en Excel se recurre a Power Query o a tablas auxiliares para algo parecido.

6. ¿Cuáles son las características principales de una base de datos jerárquica?

Se organiza como un árbol invertido con un nodo raíz del que cuelgan hijos, cada hijo con un único padre y los datos almacenados en registros conectados por relaciones padre-hijo. El acceso se hace recorriendo el árbol de arriba hacia abajo, sin consultas flexibles como las de SQL, y por eso en Excel se imita con columnas que indican el nivel y el identificador del padre de cada fila.

7. ¿Cómo se crea una base de datos en SQL Server?

En SQL Server Management Studio, conectado al servidor, se usa clic derecho sobre Bases de datos > Nueva base de datos, se le asigna un nombre y se aceptan los archivos .mdf y .ldf por defecto. Después se crean las tablas con CREATE TABLE, se definen las claves primarias y, si se quiere reproducir una jerarquía, se añade una columna que apunte al id del registro padre.

8. ¿Qué son las bases de datos SQL y qué tipos existen?

SQL es el lenguaje estándar para consultar y modificar bases de datos relacionales, y las bases de datos SQL más usadas son MySQL, PostgreSQL, SQL Server, Oracle y SQLite. Además del modelo relacional, existen modelos no relacionales o NoSQL como el documental (MongoDB), el de clave-valor (Redis) y el de grafos (Neo4j), cada uno pensado para un tipo de problema distinto.

Fuentes

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