Base de datos

MER en Excel: qué es y cómo crear tu propia base de datos

octubre 20, 2026 Tuto Excel 13 min read
MER en Excel: qué es y cómo crear tu propia base de datos

Una base de datos bien hecha empieza antes de abrir Excel: se dibuja en papel como un modelo entidad–relación (MER), un plano que decide qué datos van juntos y qué datos se relacionan entre sí. Cuando ese plano está claro, pasarlo a hojas de Excel es casi mecánico: una hoja por cada entidad, una columna con un identificador único y BUSCARV (VLOOKUP) para cruzar la información.

En este tutorial se usa un caso real: una tienda que anota pedidos en una hoja plana donde se repiten nombres de clientes y de productos, y donde cualquier cambio de precio hay que tocarlo fila a fila. Al terminar, esa hoja plana se convierte en tres hojas relacionadas (Clientes, Productos y Pedidos) y los pedidos muestran, solos, el nombre del cliente, el precio del producto y el importe total.

Las funciones y herramientas que se usan —BUSCARV, formato de Tabla, Validación de datos— están en Excel 2007 y posteriores. Power Query se menciona al final como siguiente paso; viene integrado desde Excel 2016, y en 2010/2013 como complemento.

Qué es el modelo entidad–relación y para qué sirve antes de tocar Excel

El modelo entidad–relación (MER) es el plano que se dibuja antes de crear una base de datos. Una entidad es una cosa de la que guardas datos (un cliente, un producto, un pedido); un atributo es un dato concreto de esa cosa (el nombre, el precio, la fecha); una relación es cómo se conectan unas entidades con otras (un cliente hace pedidos, un pedido incluye productos). El MER obliga a decidir esto en papel para que después las hojas de Excel no se conviertan en un cajón desastre.

Imagina la hoja de la tienda: en una sola tabla se repite «Marta Ruiz» en cinco filas, aparece «Camiseta» con precios distintos según el día y, cuando un cliente cambia de ciudad, hay que buscar y cambiar todas sus filas a mano. Eso pasa porque la hoja mezcla entidades (clientes y productos) dentro de los pedidos. El MER obliga a separarlas: los datos de cada cliente viven una sola vez, los de cada producto también, y los pedidos solo guardan referencias (identificadores) a esos datos. A partir de ahí, BUSCARV se encarga de juntar la información cuando hace falta.

Las piezas del MER: entidades, atributos, relaciones y cardinalidad

Una entidad se convierte en una hoja de Excel: Clientes, Productos y Pedidos. Cada atributo es una columna de esa hoja: Nombre, Ciudad, PrecioUnitario, Fecha, Cantidad. La relación es la pista que conecta dos entidades, normalmente un identificador (Id) que aparece en las dos. La cardinalidad dice cuántas veces se relacionan: un cliente tiene muchos pedidos (1 a N), un pedido pertenece a un solo cliente (N a 1), y un pedido puede incluir varios productos y un producto puede aparecer en muchos pedidos (N a M).

Cardinalidad Significado Ejemplo del tutorial
1:1 Una fila de A se relaciona con una sola fila de B Un pedido tiene un único cliente que lo firma
1:N Una fila de A se relaciona con muchas de B Un cliente tiene muchos pedidos
N:M Muchas filas de A se relacionan con muchas de B Un pedido incluye varios productos y un producto aparece en muchos pedidos

Clave primaria y clave foránea: el identificador que no se repite

La clave primaria (PK, primary key) es la columna que identifica cada fila sin confusión: el IdCliente (1, 2, 3…) o el IdProducto (P-001, P-002…). No se repite, no tiene huecos y no cambia. La clave foránea (FK, foreign key) es esa misma columna copiada en otra hoja para apuntar a la fila original: en Pedidos, IdCliente es FK hacia Clientes e IdProducto es FK hacia Productos. Sin FK, BUSCARV no tendría forma de saber qué fila cruzar con cuál, por eso toda tabla relacionada necesita, al menos, una columna con el identificador de la otra tabla.

Del MER a las tablas en Excel: una hoja por entidad

La regla de oro al pasar un MER a Excel es: una hoja por entidad y una columna por atributo. La hoja Clientes, la hoja Productos y la hoja Pedidos. La hoja Pedidos no guarda el nombre del cliente ni el precio del producto: guarda los Id, y más adelante BUSCARV se encarga de traer el resto.

  1. Abre un libro nuevo y renombra la primera hoja como Clientes, la segunda como Productos y la tercera como Pedidos (clic derecho en la pestaña > Cambiar nombre).
  2. En la hoja Clientes, escribe en la fila 1 los encabezados IdCliente, Nombre, Ciudad y FechaAlta.
  3. En la hoja Productos, escribe IdProducto, Producto y PrecioUnitario.
  4. En la hoja Pedidos, escribe IdPedido, Fecha, IdCliente, IdProducto y Cantidad.
Nota: en Excel configurado con punto decimal (México, Estados Unidos), el separador de argumentos es la coma en vez del punto y coma.

Clientes en la hoja Clientes con su Id como clave

Rellena la hoja Clientes con cinco clientes. La columna IdCliente es la clave primaria: no se repite y, si ordenas la tabla por ella, cada fila está en un sitio fijo.

A B C D
1 IdCliente Nombre Ciudad FechaAlta
2 1 Marta Ruiz Valencia 02/01/2026
3 2 Luis Perez Sevilla 15/01/2026
4 3 Ana Gomez Bilbao 20/02/2026
5 4 Pedro Soto Madrid 05/03/2026
6 5 Clara Diaz Zaragoza 18/03/2026
Clientes

Para evitar que se cuelen duplicados en IdCliente, selecciónala y abre Validación de datos.

DatosHerramientas de datosValidacion de datos
Comprueba: al escribir dos veces el mismo IdCliente, Excel muestra un aviso y no deja continuar.

Productos en la hoja Productos con su Id y el precio

La hoja Productos es la lista de precios de la tienda. IdProducto es la clave primaria; PrecioUnitario se guarda con dos decimales para que BUSCARV lo devuelva tal cual se va a cobrar.

A B C
1 IdProducto Producto PrecioUnitario
2 P-001 Camiseta 12,50
3 P-002 Pantalon 8,00
4 P-003 Chaqueta 20,00
5 P-004 Calcetines 4,50
6 P-005 Gorra 6,00
Productos

Selecciona C2:C6 y aplica formato moneda con dos decimales (Ctrl+1 > Número > Moneda). Así, cuando BUSCARV traiga el precio, la celda ya lo muestra como 12,50 € (o el símbolo que tengas).

Comprueba: la columna C muestra los precios con dos decimales y alineados a la derecha.

Pedidos en la hoja Pedidos con los Id de las otras dos tablas

La hoja Pedidos es la más importante del modelo: no guarda nombres ni precios, solo Id que apuntan a las otras dos hojas. IdPedido es la clave primaria; IdCliente e IdProducto son claves foráneas.

A B C D E
1 IdPedido Fecha IdCliente IdProducto Cantidad
2 PED-001 10/01/2026 1 P-001 20
3 PED-002 12/01/2026 2 P-003 2
4 PED-003 15/01/2026 1 P-004 3
5 PED-004 18/01/2026 4 P-002 5
6 PED-005 22/01/2026 3 P-005 10
Pedidos

Fíjate: «Marta Ruiz» no aparece en esta hoja. Solo está su IdCliente (1). Cuando haga falta el nombre, lo traerá BUSCARV desde la hoja Clientes.

Comprueba: las columnas C y D solo contienen identificadores que existen en las otras dos hojas.

Relacionar las tablas con BUSCARV para cruzar los datos

Con las tres hojas separadas, la hoja Pedidos no muestra nada útil por sí sola. BUSCARV (en inglés VLOOKUP) es la función que va a la otra hoja, busca el identificador y devuelve el dato que le pidas. Su sintaxis es: =BUSCARV(valor_buscado; rango_tabla; núm_columna; [ordenado]).

=BUSCARV(D2;Productos!A:C;3;FALSO)

valor_buscado es el Id que tienes en la celda; rango_tabla es la hoja donde está el dato (con la columna clave la primera); núm_columna es la columna del dato que quieres traer (1 = la clave, 2 = la siguiente…); ordenado se deja en FALSO para coincidencia exacta.

Traer el precio del producto con BUSCARV

En la hoja Pedidos, añade la columna PrecioUnitario en F1 y escribe la fórmula en F2. Arrastra el controlador de relleno hasta F6.

F2fx=BUSCARV(D2;Productos!A:C;3;FALSO)
A B C D E F
1 IdPedido Fecha IdCliente IdProducto Cantidad PrecioUnitario
2 PED-001 10/01/2026 1 P-001 20 12,50
3 PED-002 12/01/2026 2 P-003 2 20,00
4 PED-003 15/01/2026 1 P-004 3 4,50
5 PED-004 18/01/2026 4 P-002 5 8,00
6 PED-005 22/01/2026 3 P-005 10 6,00
Pedidos
Comprueba: la columna F muestra los precios que están en la hoja Productos. Si cambias P-001 a 12,00 en Productos, la celda F2 de Pedidos pasa a 12,00 al pulsar F9.

Traer el nombre del cliente con BUSCARV

La idea es la misma, pero el rango ahora es la hoja Clientes y la columna a traer es la 2 (Nombre).

=BUSCARV(C2;Clientes!A:D;2;FALSO)

Añade la columna Cliente en G1, escribe la fórmula en G2 y arrástrala hasta G6.

G2fx=BUSCARV(C2;Clientes!A:D;2;FALSO)
C D E F G
1 IdCliente IdProducto Cantidad PrecioUnitario Cliente
2 1 P-001 20 12,50 Marta Ruiz
3 2 P-003 2 20,00 Luis Perez
4 1 P-004 3 4,50 Marta Ruiz
5 4 P-002 5 8,00 Pedro Soto
6 3 P-005 10 6,00 Ana Gomez
Pedidos
Cuidado: FALSO (o 0) es obligatorio cuando buscas por identificador. Con VERDADERO, Excel asume que la columna está ordenada y puede devolver un precio aproximados que no es el real.
Comprueba: la columna G muestra el nombre correcto aunque la hoja Pedidos no lo tenga escrito.

Calcular el importe del pedido

Con la cantidad en E y el precio en F, el importe es una multiplicación.

=E2*F2

Añade Importe en H1, escribe la fórmula en H2 y arrástrala hasta H6. Aplica formato de número con dos decimales a H2:H6.

H2fx=E2*F2
A B C D E F G H
1 IdPedido Fecha IdCliente IdProducto Cantidad PrecioUnitario Cliente Importe
2 PED-001 10/01/2026 1 P-001 20 12,50 Marta Ruiz 250,00
3 PED-002 12/01/2026 2 P-003 2 20,00 Luis Perez 40,00
4 PED-003 15/01/2026 1 P-004 3 4,50 Marta Ruiz 13,50
5 PED-004 18/01/2026 4 P-002 5 8,00 Pedro Soto 40,00
6 PED-005 22/01/2026 3 P-005 10 6,00 Ana Gomez 60,00
Pedidos
Comprueba: la celda H2 muestra 250,00. Repite la cuenta: 20 × 12,50 = 250,00.

Los errores típicos al pasar el MER a Excel y cómo arreglarlos

Un MER mal pasado se nota enseguida: BUSCARV devuelve #N/A, los totales no cuadran o un mismo producto aparece con dos precios distintos. Casi siempre la causa es un identificador mal escrito, una columna en orden distinto al esperado o una relación N:M que se ha metido a fuerza en una sola tabla.

Por qué BUSCARV devuelve #N/A al cruzar las tablas

El error #N/A (en español «no disponible») significa que BUSCARV ha buscado el Id en la primera columna del rango y no lo ha encontrado. Las tres causas más habituales son: el Id está escrito distinto en las dos hojas (un 1 y un 1 con espacio, o P-001 y p-001); la columna clave no es la primera del rango; o el Id simplemente no existe en la otra hoja.

F4fx#N/A
C D E F
1 IdCliente IdProducto Cantidad PrecioUnitario
2 1 P-001 20 12,50
3 2 P-003 2 20,00
4 1 P-099 3 #N/A
Pedidos

El arreglo tiene dos partes. Primero, se protege la fórmula con SI.ERROR para que la hoja no muestre el error: =SI.ERROR(BUSCARV(D2;Productos!A:C;3;FALSO);"Revisar Id"). Segundo, se corrige la causa: en este caso, P-099 no existe en Productos, así que o se crea el producto o se corrige el Id en Pedidos.

=SI.ERROR(BUSCARV(D2;Productos!A:C;3;FALSO);"Revisar Id")
Cuidado: SI.ERROR tapa el error pero no lo corrige. Úsalo para que la hoja quede legible mientras arreglas los datos; no para esconder el problema.

La relación muchos a muchos: la tabla intermedia que te falta

El error más sutil al pasar un MER a Excel es meter una relación N:M en una sola hoja. En el ejemplo, un pedido puede incluir varios productos y un producto puede aparecer en muchos pedidos. Si se añade la columna Importe a la hoja Productos, ese cálculo solo vale para un producto por pedido; cuando un pedido tenga dos productos, el modelo se rompe.

La solución es una tabla intermedia entre Pedidos y Productos. Aquí se llama DetallePedido y guarda qué productos lleva cada pedido y en qué cantidad.

A B C D
1 IdPedido IdProducto Cantidad PrecioUnitario
2 PED-001 P-001 20 12,50
3 PED-001 P-002 5 8,00
4 PED-002 P-003 2 20,00
5 PED-003 P-004 3 4,50
6 PED-004 P-002 5 8,00
DetallePedido

PrecioUnitario se sigue trayendo con BUSCARV desde Productos, y el importe del pedido se calcula después con una tabla dinámica o con SUBTOTALES que sume las filas de cada IdPedido. La clave es que DetallePedido tiene una clave primaria compuesta (IdPedido + IdProducto) y dos claves foráneas, una a cada tabla.

Comprueba: un mismo IdPedido puede repetirse con distintos IdProducto sin perder información.

Lo que Excel no hace como base de datos y cuándo conviene Access

Excel aguanta bien hasta unos cientos de miles de filas en una sola tabla y relaciones simples, pero tiene límites claros. Cada hoja llega a 1.048.576 filas y 16.384 columnas, las relaciones se mantienen a mano (no hay integridad referencial automática: si borras un cliente, sus pedidos se quedan huérfanos) y las búsquedas con BUSCARV se vuelven lentas cuando el rango es enorme. Access, en cambio, es una base de datos relacional de verdad: las tablas se relacionan con claves con integridad referencial, los formularios sirven para introducir datos sin tocar la tabla y varios usuarios pueden trabajar a la vez. La regla práctica es: si los datos caben en una hoja y los mantiene una persona, Excel; si pasan de eso o los tocan varios a la vez, Access.

Dentro de Excel hay dos ayudas que acercan su comportamiento al de una base de datos. Validación de datos impide escribir Id que no existen, como se ha visto en la hoja Clientes. Power Query (Datos > Obtener y transformar datos) importa datos de Access, CSV o carpetas, los limpia con pasos grabados y los une: en este ejemplo, traería las tres hojas a una sola consulta y las relacionaría por los Id. Power Query está integrado desde Excel 2016 y en 2010/2013 como complemento.

Nota: Excel para la web y Excel para Mac no ejecutan macros VBA; en esas plataformas se automatiza con Scripts de Office o con Power Query.

Lo que ya sabes hacer con el modelo entidad–relación en Excel

  • Dibujar un MER en papel con entidades, atributos, relaciones y cardinalidad antes de tocar Excel.
  • Pasar ese MER a un libro con una hoja por entidad y una columna por atributo, y marcar la clave primaria y las foráneas.
  • Cruzar las tablas con BUSCARV usando FALSO para coincidencia exacta, y envolver la fórmula en SI.ERROR cuando un Id pueda no existir.
  • Detectar los errores típicos: #N/A por Id mal escrito o inexistente, y relaciones N:M que necesitan una tabla intermedia.

El siguiente paso es convertir cada hoja en Tabla de Excel (Insertar > Tablas > Tabla, o Ctrl+T) para que las fórmulas se expandan solas al añadir filas, y usar Validación de datos en IdCliente e IdProducto de la hoja Pedidos con listas desplegables que apunten a las otras hojas, así será imposible escribir un Id que no exista. La documentación oficial de BUSCARV, de Validación de datos y de Excel frente a Access entra en estos temas con más detalle. Datos comprobados en octubre de 2026.

Dudas al representar una base de datos con el modelo entidad-relación en Excel

1. Qué es el modelo entidad-relación

El modelo entidad-relación (MER) es una forma de dibujar, antes de tocar Excel, qué datos vas a guardar (entidades), qué describe a cada uno (atributos) y cómo se relacionan entre sí. Es el paso previo a crear tablas: primero lo piensas en el papel y luego lo llevas a una hoja de cálculo.

2. Cómo se hace un diagrama entidad-relación

Un diagrama entidad-relación se dibuja con rectángulos para las entidades, óvalos para sus atributos y rombos para las relaciones, uniendo con líneas las que se vinculan. En la práctica, antes de montarlo en Excel, lo normal es hacerlo a mano o con una herramienta gratuita como draw.io y luego pasar cada entidad a una hoja del libro.

3. Qué diferencia hay entre modelo relacional y base de datos

El modelo relacional es la teoría: organizar la información en tablas con filas y columnas relacionadas por claves. Una base de datos es la implementación real de ese modelo: el archivo de Excel, un archivo de Access o un sistema como MySQL donde ya existe esa estructura funcionando con datos dentro.

4. Qué es una entidad en una base de datos

Una entidad es cualquier cosa de la que quieras guardar información: un cliente, un producto, una venta, un alumno. En el modelo entidad-relación se representa con un rectángulo y, al pasarla a Excel, se convierte en una tabla con sus campos como columnas y cada registro como una fila.

5. Qué tipos de entidades hay en un modelo entidad-relación

En un MER se distinguen tres: entidades fuertes, que existen por sí mismas (un Cliente, un Producto); entidades débiles, cuya identidad depende de otra fuerte (las Líneas de una Factura, que no tienen sentido sin la factura); y entidades asociativas, que se usan para resolver relaciones de muchos a muchos creando una tabla intermedia.

6. Qué es la cardinalidad en una base de datos

La cardinalidad indica cuántos registros de una entidad se relacionan con cuántos de la otra: uno a uno (un empleado y su PC asignada), uno a muchos (un cliente y sus pedidos) o muchos a muchos (alumnos y cursos, que en Excel se resuelven con una tabla intermedia con las claves de ambos lados).

Fuentes

  1. MicrosoftFabCon y SQLCon 2026: Unificar bases de datos y Fabric en una …consultado el 06/10/2026
  2. MicrosoftBASE — documentación oficialconsultado el 06/10/2026
  3. MicrosoftExcel y Access — documentación oficialconsultado el 06/10/2026
  4. MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 06/10/2026
  5. MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 06/10/2026