Un modelo de datos orientado a objetos representa cada entidad como un objeto con características y relaciones. En Excel, puedes aproximarlo con hojas separadas: una para clientes, otra para pedidos y otra para productos, conectadas mediante identificadores.
En este tutorial crearás el libro Ventas, relacionarás sus registros y aprenderás a consultar y detectar referencias rotas. La práctica funciona en Excel 2007 y versiones posteriores; BUSCARV (VLOOKUP) y la validación de datos son herramientas ampliamente disponibles en esas versiones.
Qué es un modelo de datos orientado a objetos
Un modelo orientado a objetos organiza la información alrededor de entidades que representan elementos reales. Un cliente puede ser un objeto con atributos como nombre, ciudad y segmento. Un pedido puede tener identificador, fecha, importe y una referencia al cliente al que pertenece.
En un sistema Truly Orientado a Objetos, esos objetos conservan características, comportamiento y relaciones. Una base de datos relacional, en cambio, distribuye los datos entre tablas normalizadas. Por ejemplo, el nombre del cliente no necesita repetirse en cada pedido: el pedido conserva su IdCliente y la hoja Clientes guarda los atributos del cliente.
Excel no ofrece por sí solo clases, herencia ni polimorfismo. No obstante, sus hojas pueden representar de forma práctica un modelo por objetos:
- Cada hoja representa una clase o tipo de entidad.
- Cada columna representa un atributo.
- Cada fila representa una instancia u objeto.
- Cada identificador permite relacionar objetos.
- Las fórmulas consultan las relaciones entre hojas.
En el libro Ventas, por ejemplo, un pedido no necesita copiar el nombre y la ciudad del cliente. Guarda su identificador y esos datos se recuperan desde la hoja Clientes. Así se evita la repetición, se facilita la actualización y se puede detectar cuándo una relación deja de ser válida.
Cómo se organiza un modelo con clases, atributos y relaciones
La estructura debe diseñarse antes de escribir fórmulas. Para este libro, las clases serán Cliente, Pedido y Producto. Sus atributos y relaciones se organizan así:
- Clase Cliente: Id, Nombre, Ciudad y Segmento.
- Clase Pedido: IdPedido, IdCliente, Fecha e Importe.
- Clase Producto: IdProducto, Nombre, Precio y Stock.
- Relación: Pedido.IdCliente apunta a Cliente.Id.
- Consulta: BUSCARV recupera un atributo del cliente a partir de su identificador.
Las hojas permiten tratar cada clase como una tabla independiente. La columna Id actúa como clave primaria de Clientes: cada fila representa un cliente identificable. IdPedido hace lo mismo en Pedidos.
La hoja Productos puede relacionarse más adelante mediante una hoja separada de líneas de pedido. En ese diseño, cada línea tendría IdPedido e IdProducto. La combinación de ambos identifica una línea concreta y evita guardar el pedido entero dentro de cada producto.
Clases y atributos en una hoja de Excel
Una clase describe qué información共有 tiene un tipo de objeto. En Excel, esa descripción se convierte en una tabla con encabezados y registros. Los nombres de las columnas son los atributos; cada fila contiene los valores de un objeto concreto.
| Clase de Excel | Atributos representados | Identificador |
|---|---|---|
| Cliente | Nombre, Ciudad, Segmento | Id |
| Pedido | IdCliente, Fecha, Importe | IdPedido |
| Producto | Nombre, Precio, Stock | IdProducto |
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Id | Nombre | Ciudad | Segmento |
| 2 | C001 | Aurora | Madrid | Mayorista |
| 3 | C002 | 布置 Norte | Valencia | Distribuidor |
| 4 | C003 | Aurora | Madrid | Mayorista |
| 5 | C004 | Sol y Mar | Sevilla | Minorista |
Los valores repetidos son válidos. Aurora y Mayorista aparecen en dos clientes porque son valores de atributos distintos, no una señal de duplicado incorrecto. La identidad de cada objeto depende de Id.
Relaciones entre objetos y claves foráneas
La relación se crea cuando una fila de Pedidos contiene el identificador de un cliente. Esa columna actúa como clave foránea: no contiene toda la información del cliente, sino la referencia que permite encontrarlo.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe |
| 2 | P001 | C001 | 05/01/2026 | 145,00 |
| 3 | P002 | C003 | 06/01/2026 | 90,50 |
| 4 | P003 | C002 | 07/01/2026 | 230,00 |
| 5 | P004 | C004 | 09/01/2026 | 75,20 |
No necesitas una función de base de datos para relacionarlos. La hoja Pedidos almacena C001; la hoja Clientes contiene una fila con ese mismo Id. Cuando una consulta necesite el nombre, BUSCARV utilizará esa coincidencia.
Modelar una tienda con objetos en un libro de Excel
El libro se construirá en tres pasos. Primero se crean Clientes y Productos; después se añaden Pedidos; finalmente se consulta la información relacionada. Cada hoja tendrá encabezados únicos y una fila de identificación.
- Crea un libro nuevo y asígnale el nombre Ventas.
- Añade las hojas Clientes, Pedidos y Productos.
- Coloca cada conjunto de atributos en la fila 1 y sus registros desde la fila 2.
- Mantén los identificadores como texto para no modificar su formato al escribir o pegar.
- Deja una columna de separación entre datos que Vasco a consultar.
Crear la hoja de clientes con sus atributos
Empieza por Clientes. Los cuatro clientes estarán en las filas 2 a 5. Incluimos dos clientes de la misma ciudad para comprobar que la relación no depende del nombre ni de la ciudad.
- Selecciona la hoja Clientes.
- Escribe en A1:D1 los encabezados
Id,Nombre,CiudadySegmento. - Escribe los cuatro registros de la hoja siguiente.
- Selecciona A1:D5 y aplica Formato de tabla desde Insertar > Tablas > Tabla.
- Marca La tabla tiene encabezados y confirma con Aceptar.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Id | Nombre | Ciudad | Segmento |
| 2 | C001 | Aurora | Madrid | Mayorista |
| 3 | C002 | 布置 Norte | Valencia | Distribuidor |
| 4 | C003 | Aurora | Madrid | Mayorista |
| 5 | C004 | Sol y Mar | Sevilla | Minorista |
Crear pedidos y líneas con una clave de cliente
Ahora añade Pedidos. Cada IdPedido identifica un pedido y cada IdCliente lo relaciona con un objeto de la hoja Clientes.
- Selecciona la hoja Pedidos.
- Escribe en A1:D1
IdPedido,IdCliente,FechaeImporte. - Introduce los cuatro pedidos indicados abajo.
- Convierte A1:D5 en una tabla con Insertar > Tablas > Tabla.
- Revisa que los valores de
IdClientesean C001, C003, C002 y C004.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe |
| 2 | P001 | C001 | 05/01/2026 | 145,00 |
| 3 | P002 | C003 | 06/01/2026 | 90,50 |
| 4 | P003 | C002 | 07/01/2026 | 230,00 |
| 5 | P004 | C004 | 09/01/2026 | 75,20 |
Después añade Productos. Sus IdProductoASHILES podrá-linking con líneas de pedido en una etapa posterior:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | IdProducto | Nombre | Precio | Stock |
| 2 | PR01 | Cuaderno | 8,50 | 120 |
| 3 | PR02 | Bolígrafo | 2,30 | 300 |
| 4 | PR03 | Mochila | 32,00 | 45 |
| 5 | PR04 | Cuaderno | 8,50 | 85 |
Consultar los objetos relacionados con BUSCARV
BUSCARV (VLOOKUP) busca un valor en la primera columna de un rango y devuelve otro dato de la misma fila. En esta consulta, IdCliente es el valor buscado y Nombre es el resultado.
- En la hoja Pedidos, escribe
NombreClienteen F1. - En F2, escribe la fórmula siguiente.
- Copia F2 y arrástrala hasta F5 con el controlador de relleno.
=BUSCARV(B2;$A$2:$D$5;2;FALSO)
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe | NombreCliente | |
| 2 | P001 | C001 | 05/01/2026 | 145,00 | Aurora | |
| 3 | P002 | C003 | 06/01/2026 | 90,50 | Aurora | |
| 4 | P003 | C002 | 07/01/2026 | 230,00 | 布置 Norte | |
| 5 | P004 | C004 | 09/01/2026 | 75,20 | Sol y Mar |
Los signos $ mantienen fijo el rango de Clientes. El cuarto argumento, FALSO, exige una coincidencia exacta. Al copiar la fórmula, cambia B2 a B3, B4 y B5, pero la tabla de consulta permanece en las mismas filas.
Mantener la coherencia cuando el modelo cambia
Un modelo se vuelve frágil cuando una relación apunta a un objeto inexistente. En el libro Ventas, el riesgo aparece al añadir un pedido con un IdCliente nuevo antes de crear la fila correspondiente en Clientes.
Excel no ofrece claves foráneas reales en una hoja normal. Puedes reducir el error con validación de datos, BUSCARV y controles de revisión, pero la persona responsable del libro debe mantener las referencias.
Detectar referencias que no corresponden a ningún objeto
Primero provoca un error: en la hoja Pedidos, cambia temporalmente B5 de C004 a C099. La fórmula de F5 devolverá #N/A, porque no existe C099 en Clientes.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe | NombreCliente | |
| 2 | P001 | C001 | 05/01/2026 | 145,00 | Aurora | |
| 3 | P002 | C003 | 06/01/2026 | 90,50 | Aurora | |
| 4 | P003 | C002 | 07/01/2026 | 230,00 | 布置 Norte | |
| 5 | P004 | C099 | 09/01/2026 | 75,20 | #N/A |
Para evitar que el error se propague, BUSCARV permite indicar un valor propio cuando no encuentra la coincidencia. Sustituye la fórmula de F2 y vuelve a copiarla hasta F5:
=SI.ERROR(BUSCARV(B2;$A$2:$D$5;2;FALSO);"Cliente no encontrado")
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe | NombreCliente | |
| 2 | P001 | C001 | 05/01/2026 | 145,00 | Aurora | |
| 3 | P002 | C003 | 06/01/2026 | 90,50 | Aurora | |
| 4 | P003 | C002 | 07/01/2026 | 230,00 | 布置 Norte | |
| 5 | P004 | C099 | 09/01/2026 | 75,20 | Cliente no encontrado |
Cliente no encontrado en lugar de #N/A. Devuelve B5 a C004 para recuperar la relación correcta.Sostener la integridad sin convertir Excel en una base de datos
La validación de datos puede impedir que escribas un IdCliente que no esté en la lista. En Excel 2007 y posteriores, se encuentra en:
Para aplicarla a B2:B5:
- Selecciona B2:B5.
- Abre Datos > Herramientas de datos > Validación de datos.
- En Permitir, elige Lista.
- En Origen, escribe
=Clientes!$A$2:$A$5. - Activa Celda con lista desplegable.
- Pulsa Aceptar.
Para localizar valores que incumplen las reglas, usa Validación de datos > Rodear con un círculo datos no válidos. Esta ayuda está documentada por Microsoft Support.
Sostener la integridad sin convertir Excel en una base de datos
La validación de datos protege la entrada de valores, pero Excel sigue teniendo menos garantías de integridad que una base de datos. Puede impedir una referencia inválida en el momento de escribirla; no obliga a que toda clave foránea exista, ni conserva reglas complejas de forma automática.
Access o SQL Server permiten definir claves primarias y foráneas, índices, permisos y transacciones. Si varios usuarios modifican datos al mismo tiempo, una base de datos ofrece un control más robusto. La hoja de cálculo destaca por su flexibilidad para explorar información, realizar cálculos y presentar resultados.
Una comparación práctica queda así:
| Necesidad | Excel | Base de datos relacional |
|---|---|---|
| Modelo de objetos aproximado con hojas | Adecuado | Requiere diseño de esquema |
| Cálculos rápidos y análisis | Muy adecuado | Depende de consultas y herramientas |
| Claves foráneas con validación automática | No | Sí |
| Varios usuarios con reglas complejas | Limitado | Más adecuado |
| Transacciones y control concurrente | No es su función principal | Sí |
Por tanto, Excel puede representar bien un modelo pequeño y Didáctico, pero no sustituye al motor de una base de datos.
Cuándo un modelo orientado a objetos no encaja en Excel
El modelo por objetos funciona bien cuando los registros pueden organizarse en hojas y las relaciones son comprensibles. El problema aparece cuando el número de objetos, las reglas o los usuarios superan lo que una hoja puede sostener con fiabilidad.
Excel ofrece ventajas claras: permite calcular, combinar formatos, crear tablas dinámicas y compartir el libro. También resulta familiar para quien no administra bases de datos. Sin embargo, la estructura relacional normalizada, con claves e índices, sigue siendo más adecuada para relaciones complejas.
La elección debe hacerse según el sistema, no según la的技术 de moda:
| Situación | Opción más adecuada |
|---|---|
| Análisis personal odepartamento pequeño | Excel con tablas separadas |
| Importar, limpiar y combinar archivos | Excel con Power Query |
| Muchos registros y usuarios concurrentes | Access, SQL Server u otra base de datos |
| Reglas de integridad y claves foráneas obligatorias | Base de datos relacional |
| Informes interactivos sobre una fuente central | Base de datos más herramienta de análisis |
Access, SQL Server y el modelo relacional
Access representa las entidades mediante tablas normalizadas y admite consultas, formularios e informes. SQL Server ofrece mayor escala y control para aplicaciones empresariales. Ambos resuelven mejor los casos en los que la integridad debe imponerse automáticamente.
Una base de datos relacional no “crea objetos” con el mismo enfoque de un lenguaje orientado a objetos. Sus tablas contienen filas y columnas, con claves que conectan los registros. Esa diferencia conceptual es importante: una hoja puede representar clases de manera útil, pero no reproduce el comportamiento de una clase de software.
La documentación de Microsoft Support sobre Excel y Access explica cuándo usar Excel para analizar y Access para gestionar registros relacionados. Si Excel es la capa de análisis, sus datos pueden实际的 importarse desde Access mediante Datos > Obtener datos > Desde base de datos > Desde Microsoft Access.
Power Query para limpiar y combinar datos
Power Query es útil cuando los objetos procedural de varias fuentes deben limpiarse y combinarse. Está integrado desde Excel 2016; en Excel 2010 y 2013 se utilizaba como complemento. Su ubicación principal es:
Power Query aplica pasos de transformación a tablas completas: quitar columnas, cambiar tipos, dividir textos y combinar fuentes. Es adecuado para preparar Clientes, Pedidos y Productos antes de cargarlos en el libro.
Sin embargo, Power Query no sustituye el modelo de objetos ni las fórmulas de cálculo de Excel. Los pasos grabados usan lenguaje M, no fórmulas ordinarias de Excel. Además, Mac y la versión web ofrecen menos conectores. Consulta la documentación oficial de Power Query para comprobar las funciones disponibles en tu versión.
Qué puedes construir con Excel y un modelo por objetos
Un modelo orientado a objetos puede aplicarse a inventario, clientes, pedidos, cursos, empleados o proyectos. En Excel, su valor principal es organizar los datos sin repetir atributos y mantener las relaciones mediante claves.
El recorrido del libro Ventas deja cinco ideas:
- Las clases se representan con hojas.
- Los atributos se representan con columnas.
- Cada instancia es una fila con identificador.
- Las relaciones se construyen con claves foráneas.
- BUSCARV consulta los atributos relacionados y puede avisar cuando falta una referencia.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | IdPedido | IdCliente | Fecha | Importe | NombreCliente | |
| 2 | P001 | C001 | 05/01/2026 | 145,00 | Aurora | |
| 3 | P002 | C003 | 06/01/2026 | 90,50 | Aurora | |
| 4 | P003 | C002 | 07/01/2026 | 230,00 | 布置 Norte | |
| 5 | P004 | C004 | 09/01/2026 | 75,20 | Sol y Mar |
Del modelo orientado a objetos a tablas de Excel
El punto de partida fue un conjunto de entidades conectadas. El resultado es un libro formado por tablas con identificadores estables, una clave foránea en Pedidos y una consulta que obtiene el nombre del cliente.
Con esta estructura ya puedes:
- Definir clases mediante las hojas Clientes, Pedidos y Productos.
- Declarar atributos mediante columnas con nombres coherentes.
- Identificar objetos mediante
Id,IdPedidoeIdProducto. - Relacionar objetos mediante
IdClienteeIdProducto. - Consultar datos relacionados con BUSCARV.
- Detectar referencias rotas mediante SI.ERROR.
- Limitar nuevas referencias con validación de datos.
- Actualizar cada tabla sin repetir la información de los clientes.
Siguiente paso: revisa las hojas que ya usas, identifica los datos repetidos y conviértelos en tablas independientes con claves estables; después añade las consultas que relationsneed.
Errores frecuentes
BUSCARV devuelve #N/A aunque el dato exista
Qué se ve: la celda muestra #N/A.
Causa: el valor buscado no coincide exactamente con la primera columna del rango o esa columna está fuera del rango indicado.
Arreglo: comprueba espacios, ceros a la izquierda y el orden de las columnas. Usa FALSO como cuarto argumento para exigir coincidencia exacta.
El resultado cambia al copiar la fórmula
Qué se ve: cada fila consulta una columna diferente o un rango desplazado.
Causa: las referencias son relativas cuando el rango de Clientes debería permanecer fijo.
Arreglo: convierte la tabla de consulta en referencia absoluta, por ejemplo $A$2:$D$5, y deja B2 como referencia relativa.
Aparece #¿NOMBRE?
Qué se ve: Excel muestra #¿NOMBRE? al escribir la función.
Causa: el nombre no coincide con el idioma de la instalación o la función no está disponible.
Arreglo: usa BUSCARV en Excel en español. Si el archivo se creó con otro idioma y la función no se reconoce, revisa el idioma de las fórmulas en Archivo > Opciones > Formulas.
La validación no rechaza un valor incorrecto
Qué se ve: se puede escribir o pegar un identificador que no existe en Clientes.
Causa: la validación no revalida el contenido previo y algunos procesos de pegado pueden omitirla.
Arreglo: corrige los registros existentes y usa Rodear con un círculo datos no válidos para localizarlos.
Una hoja se actualiza y las consultas quedan desfasadas
Qué se ve: aparecen filas nuevas que no aparecen en los resultados o se repite un dato antiguo.
Causa: el rango de BUSCARV tenía un final fijo y no incluye las filas añadidas.
Arreglo: convierte Clientes en una tabla de Excel y usa referencias estructuradas, o amplía el rango de consulta. En BUSCARV puedes consultar una columna calculada de la tabla sin depender de una fila final fija.
Fuentes
- MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 27/10/2026
- MicrosoftValidación de datos — documentación oficialconsultado el 27/10/2026
- MicrosoftFormato condicional — documentación oficialconsultado el 27/10/2026
- MicrosoftTabla dinámica — documentación oficialconsultado el 27/10/2026
- MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 27/10/2026