Modelo relacional

Relaciones entre tablas de una base de datos con Excel

octubre 31, 2026 Tuto Excel 13 min read
Relaciones entre tablas de una base de datos con Excel

Las relaciones entre tablas conectan información que antes se repetía en varios sitios. En el libro de ejemplo de una tienda, los datos de cada cliente aparecen una sola vez en una tabla y los pedidos guardan únicamente su identificador. Al terminar, sabrás crear esos vínculos, exportarlos a Excel, buscar cada cliente con BUSCARV y detectar referencias que no encajan.

El modelo se explica aquí con Access, disponible en Windows desde Access 2007 hasta Access 2024 y Microsoft 365. Excel 2007 y posteriores sirve para consultar y analizar los datos exportados.

Qué son las relaciones entre tablas de una base de datos

Una base de datos relacional distribuye la información en tablas conectadas. En el libro Tienda, la hoja Clientes guarda los datos de cada persona y la hoja Pedidos registra sus compras. El nombre y la dirección aparecen una vez; cada pedido contiene el Id cliente que señala a quién pertenece.

Este diseño evita duplicados y reduce errores. Si una cliente cambia su teléfono, se modifica en un único lugar y sus pedidos siguen coherentes. La conexión se realiza mediante claves: la clave primaria identifica cada registro y la clave externa apunta al registro de otra tabla.

B2fx101
A B C D
1 Id pedido Id cliente Fecha Total
2 1 101 05/01/2026 45,00
3 2 102 05/01/2026 80,00
4 3 101 06/01/2026 25,00
5 4 103 06/01/2026 60,00
Pedidos

Las relaciones 1:1, 1:n y n:m describen cuántas filas pueden participar. El modelo relacional fue creado por Edgar F. Codd en 1970 y sigue siendo la base de productos como SQL Server, MySQL y PostgreSQL. La documentación de Microsoft sobre Access y Excel explica cuándo usar cada aplicación.

Claves primarias y claves externas: el vínculo entre los datos

Una clave primaria identifica de forma única una fila. En Clientes, esa clave es Id; en Pedidos, cada fila contiene una clave externa llamada Id cliente. Los valores de esa columna deben existir en la tabla de clientes.

Esa condición se denomina integridad referencial. Evita pedidos huérfanos y permite que Access propague cambios o impida operaciones incoherentes. La cardinalidad de la relación indica cuántas filas se vinculan:

Tipo Significado Ejemplo en Tienda
1:1 Un registro con uno relacionado Un cliente con una ficha de perfil
1:n Un registro con varios relacionados Un cliente con muchos pedidos
n:m Varios con varios Pedidos y productos

Las dos primeras se construyen vinculando una clave primaria con una clave externa. La relación n:m necesita una tabla intermedia que contenga ambas claves.

Una clave primaria identifica cada registro

La tabla Clientes utiliza la columna Id como clave primaria. Su valor debe ser único y no vacío: dos personas distintas no pueden compartir el mismo identificador.

A2fx101
A B C
1 Id Nombre Ciudad
2 101 Ana Ruiz Madrid
3 102 Luis Gómez Valencia
4 103 Sara León Sevilla
Clientes

Si el Id 102 apareciera dos veces, Access no sabría a qué Luis Gómez pertenece un pedido. Por eso un identificador repetido es un error de diseño, no un detalle menor.

Una clave externa conecta dos tablas

La columna Id cliente de Pedidos es una clave externa: su valor apunta al Id de Clientes. Cada pedido de la tienda debe pertenecer a un cliente registrado.

B4fx101
A B C D
1 Id pedido Id cliente Fecha Total
2 1 101 05/01/2026 45,00
3 2 102 05/01/2026 80,00
4 3 101 06/01/2026 25,00
5 4 103 06/01/2026 60,00
Pedidos

El 101 aparece dos veces porque Ana tiene dos pedidos. La repetición está en la clave externa, no en la primaria: eso es correcto en una relación 1:n.

Una tabla intermedia resuelve la relación varios a varios

Un pedido puede contener varios productos y un producto puede figurar en muchos pedidos. Para representar esa relación n:m, el libro añade una hoja Detalles.

Id pedido Id producto Cantidad
1 10 2
1 11 1
2 10 3
3 12 1

Detalles contiene una clave externa hacia Pedidos y otra hacia Productos. Las cantidades se guardan una sola vez por combinación de pedido y producto.

Crear una relación entre tablas desde Access

En Access, las relaciones se construyen en la vista Relaciones, disponible en Access 2007, 2010, 2013, 2016, 2019, 2021, 2024 y Microsoft 365. La vista coloca las tablas como diagramas y muestra sus vínculos.

Para preparar el ejercicio, crea en Access las tablas Clientes e Id, y Pedidos con Id pedido, Id cliente, Fecha y Total. Después:

  1. Abre la base de datos de la tienda.
  2. Entra en la pestaña Herramientas de base de datos.
  3. Selecciona Relaciones.
  4. Añade las tablas Clientes y Pedidos a la vista.
  5. Arrastra Id de Clientes hasta Id cliente de Pedidos.
  6. Confirma el vínculo en el cuadro Editar relaciones.
Herramientas de base de datosRelaciones
Comprueba: aparece una línea entre ambas tablas con un 1 junto a Clientes y ∞ junto a Pedidos.

Elegir la tabla principal y la relacionada

En el diálogo Editar relaciones, Tabla/Consulta corresponde a la tabla principal, situada a la izquierda, y Tabla/Consulta relacionada a la secundaria, a la derecha.

Los campos que se conectan deben contener el mismo tipo de dato: aquí, ambos son números enteros. La tabla principal contiene la clave primaria; la relacionada, la clave externa.

Exigir integridad referencial y actualizar en cascada

Exigir integridad referencial impide guardar un pedido cuyo Id cliente no exista en Clientes. Actualizar en cascada los campos relacionados hace que, si cambias el Id 101 por 104, los pedidos de Ana adopten el 104.

Acción Con integridad referencial Sin integridad referencial
Guardar pedido con Id cliente inexistente Access lo rechaza Puede guardarse
Cambiar Id cliente Se actualizan los pedidos Los pedidos conservan el valor antiguo
Eliminar cliente con pedidos Bloquea o aplica la cascada elegida Puede dejar pedidos huérfanos

La cascada evita desajustes, pero modifica varias filas de una vez. Conviene revisar los datos antes de confirmar.

Cambiar o eliminar una relación existente

Para modificar un vínculo:

  1. Cierra las tablas, formularios y consultas que utilicen Clientes o Pedidos.
  2. Ve a Herramientas de base de datos > Relaciones.
  3. Selecciona la línea que une las tablas.
  4. En la pestaña Diseño, elige Modificar relaciones.
  5. Activa o desactiva las opciones de cascada y pulsa Aceptar.

Para eliminarla, selecciona la línea, pulsa Suprimir y confirma. Al borrar el vínculo también desaparece la integridad referencial asociada. La ayuda oficial explica el procedimiento en create, edit, or delete a relationship.

Llevar datos de Access a una hoja de Excel

Access conserva la base de datos y sus relaciones; Excel recibe una copia para calcular y presentar los datos. La exportación se hace desde Access con Datos externos > Exportar > Excel y, en Excel, con Datos > Obtener datos > Desde base de datos > Desde Microsoft Access.

DatosObtener datosDesde base de datosDesde Microsoft Access
A1fx**Id**
A B C
1 Id Nombre Ciudad
2 101 Ana Ruiz Madrid
3 102 Luis Gómez Valencia
4 103 Sara León Sevilla
Clientes

Excel organiza cálculos y análisis; Access almacena muchos registros relacionados y ofrece formularios e informes. La ayuda oficial de Microsoft explica este reparto.

Exportar dos tablas relacionadas a Excel

  1. En Access, abre Datos externos.
  2. Selecciona Exportar > Excel.
  3. Elige la carpeta de destino y el nombre del archivo.
  4. Repite la exportación con la tabla Pedidos.
  5. En Excel, abre cada archivo y revisa que la primera fila contenga los encabezados.
A1fx**Id pedido**
A B C D
1 Id pedido Id cliente Fecha Total
2 1 101 05/01/2026 45,00
3 2 102 05/01/2026 80,00
4 3 101 06/01/2026 25,00
5 4 103 06/01/2026 60,00
Pedidos
Comprueba: los valores 101, 102 y 103 de Pedidos aparecen también en la columna Id de Clientes.

Consultar Access desde Excel sin duplicar la base

En Excel, entra en Datos > Obtener datos > Desde base de datos > Desde Microsoft Access, selecciona el archivo y la tabla Clientes. Elige una ubicación para la importación y confirma.

La conexión mantiene Excel vinculado al archivo: al actualizar la consulta, Excel recupera los cambios guardados en Access. No debes escribir directamente sobre los datos importados, porque la siguiente actualización puede sobrescribir lo añadido.

Cuidado: Excel para la web y Excel para Mac ofrecen menos conectores; la conexión con Access está pensada para Windows.

Traer datos de Access con BUSCARV

Una vez exportadas las tablas, BUSCARV (VLOOKUP) permite unir la información en la hoja. En el libro, la hoja Resumen combina el Id cliente con su nombre.

Nota: los argumentos se separan con punto y coma. En un Excel configurado con punto decimal, usa la coma como separador.
  1. Crea una hoja llamada Resumen.
  2. Escribe Id cliente en A1 y Cliente en B1.
  3. Copia los Id de la hoja Clientes en A2:A4.
  4. En B2, escribe la fórmula de búsqueda.
  5. Arrastra el controlador de relleno hasta B4.

=BUSCARV(A2;$A$2:$B$4;2;FALSO)
B2fx=BUSCARV(A2;$A$2:$B$4;2;FALSO)
A B
1 Id cliente Cliente
2 101 Ana Ruiz
3 102 Luis Gómez
4 103 Sara León
Resumen
Comprueba: B2 muestra Ana Ruiz, B2:B4 muestra los tres nombres y no aparecen errores.

Buscar el nombre correspondiente a cada Id cliente

BUSCARV busca en la primera columna de la matriz y devuelve una columna situada a su derecha. En $A$2:$B$4, busca el Id en A y devuelve el nombre de B.

La matriz se fija con $ porque la fórmula se copia hacia abajo: así, los signos $ evitan que Excel desplace el rango. Si pulsas F4 al seleccionar el rango, Excel añade esas referencias absolutas. En Mac, ese atajo es Cmd+T.

La hoja Pedidos puede usar la misma técnica para mostrar el nombre de cada comprador:

E2fx=BUSCARV(B2;$A$2:$B$4;2;FALSO)
A B C D E
1 Id pedido Id cliente Fecha Total Cliente
2 1 101 05/01/2026 45,00 Ana Ruiz
3 2 102 05/01/2026 80,00 Luis Gómez
4 3 101 06/01/2026 25,00 Ana Ruiz
5 4 103 06/01/2026 60,00 Sara León
Pedidos

Evitar que la búsqueda encuentre un dato incorrecto

El cuarto argumento FALSO obliga a encontrar una coincidencia exacta. Sin él, BUSCARV hace una búsqueda aproximada: exige que la tabla esté ordenada y puede devolver el valor de otro registro sin avisar.

=BUSCARV(B2;$A$2:$B$4;2;FALSO)
Cuarto argumento Comportamiento
FALSO o 0 Solo devuelve el dato que coincide exactamente
VERDADO o 1 Busca el valor más próximo en una tabla ordenada

Como Access ya impide referencias inválidas mediante integridad referencial, BUSCARV con FALSO reproduce en Excel la correspondencia exacta que existe en la base.

Comprobar y reparar datos que no encajan

Las relaciones solo funcionan si los identificadores son consistentes. Antes de actualizar Access o volver a exportar, el libro revisa tres fallos: referencias inexistentes, espacios ocultos y claves primarias repetidas.

Para detectar un Id cliente sin correspondencia:

  1. Copia los Id de Clientes en una columna auxiliar de la hoja Control.
  2. Copia los Id de Pedidos en otra columna.
  3. Compara ambas listas antes de modificar nada.

Un Id cliente que no existe en la tabla principal

Tabla Id Observación
Clientes 101 Ana Ruiz
Clientes 102 Luis Gómez
Pedidos 101 Correcto
Pedidos 104 No existe en Clientes

El pedido con Id 104 viola la integridad referencial. En Access con la integridad activa, no podrá guardarse. La corrección consiste en asignar el Id existente que corresponda o registrar al cliente que falta antes de crear el pedido.

B4fx104
A B
1 Id Clientes Id Pedidos
2 101 101
3 102 102
4 103 104
B4 El Id 104 no aparece en la tabla Clientes
Control

Un valor escrito con espacios adicionales

Una celda con « 101 » no coincide con el número 101 en una búsqueda exacta. El espacio forma parte del texto y BUSCARV no lo ignora.

A4fx3
A B C D E
1 Id pedido Id cliente Fecha Total Cliente
2 1 101 05/01/2026 45,00 Ana Ruiz
3 2 102 05/01/2026 80,00 Luis Gómez
4 3 " 101" 06/01/2026 25,00 #N/A
Pedidos

Para corregirlo, selecciona la celda, pulsa Ctrl+H, busca un espacio en «Buscar» y déjalo vacío en «Reemplazar con», y pulsa Reemplazar todo. Después, vuelve a escribir la fórmula.

Cuidado: si el Id es un número, la celda debe estar alineada a la derecha. Si queda a la izquierda, Excel lo ha guardado como texto.

Una clave primaria repetida en dos registros

Id Nombre Ciudad
101 Ana Ruiz Madrid
102 Luis Gómez Valencia
102 Marta Gil Bilbao

El 102 aparece dos veces y Access no puede usarlo como clave primaria. Debes decidir cuál de los dos clientes conserva el 102, asignar un identificador distinto al otro y corregir sus pedidos mediante la actualización en cascada.

Actualizar una relación sin romper los datos vinculados

Una actualización puede alterar varios pedidos en segundos. La integridad referencial y las opciones de cascada controlan esa propagación; revisarlos antes de guardar evita cambios irreversibles.

Actualizar una clave que aparece en otra tabla

Supón que el Id 101 pasa a 104:

Paso Clientes Pedidos
Antes Id 101 Id cliente 101
Después Id 104 Id cliente 104
  1. Abre la tabla Clientes en Access.
  2. Cambia el valor 101 de Id por 104.
  3. Guarda el registro.
  4. Comprueba la tabla Pedidos.

Con Actualizar en cascada los campos relacionados activada, los pedidos con Id cliente 101 pasarán a 104. Sin ella, Access puede rechazar el cambio porque existirían referencias al identificador antiguo.

Nota: la cascada actualiza valores, no decide qué negocio es correcto. Comprueba primero que el nuevo Id no esté ocupado.

Eliminar un registro que tiene registros relacionados

  1. Selecciona el cliente con Id 101 en Clientes.
  2. Pulsa Suprimir.
  3. Revisa el mensaje de Access sobre los pedidos relacionados.
  4. Elige si permites la cascada o cancelas la eliminación.

Si Eliminar en cascada los registros relacionados está marcada, los pedidos de ese cliente también se borran. Si no, Access bloquea la eliminación porque dejaría pedidos huérfanos. Eliminar un cliente no borra sus pedidos por omisión: depende de la configuración de la relación.

Comprueba: después de guardar, el Id 104 aparece en Clientes y en los pedidos que antes pertenecían al 101, o Access impidió el cambio si la cascada estaba desactivada.

Qué puede y qué no puede hacer Excel con Access

Necesidad Herramienta adecuada
Calcular, analizar y presentar datos Excel
Guardar muchas tablas relacionadas Access
Crear formularios e informes Access
Impedir referencias inválidas Access
Exportar tablas a una hoja Access o Excel
Consultar Access sin copiar la base Excel en Windows

Access no tiene versión para Mac ni para la web. Excel sí funciona en Windows, Mac, web y móviles, pero su integración con Access se ejecuta como aplicación de escritorio en Windows. Una vez exportados los datos, las hojas de Excel son archivos independientes: perder el vínculo con Access no afecta a sus valores.

Cuidado: guardar cambios en Access no actualiza automáticamente un archivo Excel ya exportado. Vuelve a exportar o actualiza la conexión.

Lo que ya sabes hacer con las relaciones entre tablas

  • Distingues una clave primaria de una clave externa.
  • Identificas relaciones 1:1, 1:n y n:m.
  • Compruebas que cada clave externa tenga una correspondencia.
  • Exiges integridad referencial en Access.
  • Exportas tablas relacionadas a Excel.
  • Consultas Access desde Excel sin duplicar la base.
  • Encuentras nombres con BUSCARV y el cuarto argumento FALSO.
  • Detectas identificadores inexistentes, espacios y duplicados.
  • Decides si un cambio se propaga en cascada.
  • Limpias datos antes de actualizar una base.

El siguiente paso es abrir tu propia base de datos y dibujar en papel qué tabla identifica a cuál; ese esquema será la ruta para configurar los vínculos sin errores.

Los datos y las funciones de este tutorial están comprobados en octubre de 2026.

Dudas al relacionar tablas en Excel y Access

1. ¿Qué es una base de datos relacional y qué ejemplos hay?

Es una base de datos organizada en tablas conectadas mediante claves. Un ejemplo típico tiene una tabla Clientes y otra Pedidos: cada pedido guarda el Id del cliente que lo realizó. Esa relación evita repetir los datos del cliente en cada pedido.

2. ¿En qué se diferencia una base de datos relacional de una no relacional?

La base relacional organiza la información en tablas con filas y columnas y obliga a respetar las relaciones entre claves. La no relacional guarda documentos o pares clave-valor con estructuras flexibles. Excel prepara cálculos y análisis; Access administra tablas, formularios e informes conectados.

3. ¿Cómo se relacionan dos tablas en Access?

Abre la base de datos, entra en Herramientas de base de datos > Relaciones y arrastra el campo Id de la tabla Clientes hasta Id cliente de Pedidos. En el cuadro de diálogo activa «Exigir integridad referencial» y, si corresponde, «Actualizar en cascada los campos relacionados».

4. ¿Por qué BUSCARV devuelve #N/A al buscar un cliente?

Suele ocurrir porque el identificador no existe, está escrito con espacios adicionales o porque uno de los dos valores es texto y el otro es número. Revisa el dato en la tabla de origen y usa FALSO como cuarto argumento para exigir una coincidencia exacta.

5. ¿Puede eliminarse un cliente que tiene pedidos asociados?

Si la relación exige integridad referencial y tiene activada la eliminación en cascada, Access elimina también sus pedidos. Si esa opción está desactivada, Access bloquea la operación para proteger los datos. En ambos casos conviene revisar la configuración antes de confirmar.

6. ¿Excel puede ser la base de datos de una empresa?

Excel organiza cálculos, análisis y Geographical presentation, but Access stores and relates many records with forms, reports, and referential integrity. If Access is not installed, you can export tables to Excel or connect from Excel, but you lose the Access relationship management.

7. ¿En qué se diferencia Excel de Access?

Excel organiza cálculos, análisis y Geographical presentation, but Access stores and relates many records with forms, reports, and referential integrity. If Access is not installed, you can export tables to Excel or connect from Excel, but you lose the Access relationship management.

Fuentes

  1. MicrosoftBASE — documentación oficialconsultado el 23/10/2026
  2. MicrosoftExcel y Access — documentación oficialconsultado el 23/10/2026
  3. MicrosoftTabla dinámica — documentación oficialconsultado el 23/10/2026
  4. Microsoft#¡DIV/0! — documentación oficialconsultado el 23/10/2026
  5. MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 23/10/2026