Volver al Blog
IMPORTARDATOSDINAMICOS
Excel
Tablas Dinámicas
Referencias de Celda
Informes

El Informe del Consejo Imprimió Norte con un Margen del 16,24% y Dejó Oeste Fuera del Todo, Porque la Hoja de Resumen Leía Celdas de la Tabla Dinámica por Posición y una Región Nueva Empujó Todas las Filas una Hacia Abajo

22/09/2026
El Informe del Consejo Imprimió Norte con un Margen del 16,24% y Dejó Oeste Fuera del Todo, Porque la Hoja de Resumen Leía Celdas de la Tabla Dinámica por Posición y una Región Nueva Empujó Todas las Filas una Hacia Abajo

Resumen Rápido

Puntos clave de este artículo

  • 📌 Hacer clic en una celda de una dinámica escribe una de dos fórmulas: `=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";"Norte")`, que pide una región por su nombre, o `=Dinamica!B6`, que pide una posición en una cuadrícula — y cuál de las dos te toca depende de una opción de Analizar tabla dinámica que la gente apaga porque IMPORTARDATOSDINAMICOS no se rellena hacia abajo
  • 🔀 Una dinámica es una vista, no un rango: una actualización que trae una etiqueta de fila nueva reordena las filas y empuja todo lo que hay debajo una posición, en silencio, sin error y sin cambiar ni un carácter de ninguna fórmula que apunte a ella
  • 🧾 Una región nueva movió tres líneas a la etiqueta equivocada y dejó una cuarta fuera del informe: Norte salió al 16,24% frente al 33,91% real, los 289.650 de ingresos de Oeste no aparecieron por ningún lado, y el margen del grupo se imprimió al 30,79% frente al 30,43% — una mejora mensual de 0,92 puntos donde la verdad era 0,56
  • ⚠️ El `#REF!` de IMPORTARDATOSDINAMICOS es la virtud: cuando una región se filtra, se renombra o se contrae, la fórmula falla a gritos en vez de leer en silencio lo que se haya mudado a esa celda — que es exactamente por lo que nunca se envuelve en un `SI.ERROR(…;0)` pelado
  • 📅 El argumento del elemento se compara contra lo que muestra la dinámica, así que un campo de fecha agrupado quiere `"sept"` y uno sin agrupar quiere `FECHA(2026;9;30)` — y un espacio final en los datos de origen convierte `"Norte "` y `"Norte"` en dos regiones distintas
  • ✅ Dos comprobaciones cazan toda la familia de fallos: leer el total general de la propia dinámica con un `IMPORTARDATOSDINAMICOS` sin argumentos y restarle las líneas que imprimiste (debería dar 0, daba 289.650), y reconstruir el mismo número por una segunda vía con `SUMAR.SI.CONJUNTO` contra la tabla de origen
Tiempo de lectura: ~24 min

El libro tiene tres hojas. Ventas guarda la tabla de origen — una fila por pedido, con Fecha, Region, Comercial, Ingresos y Coste. Dinamica guarda una tabla dinámica de ingresos y coste por región, con las etiquetas de fila empezando en A4. Resumen es la página que va en el informe del consejo: cinco líneas de región, una línea de grupo y una columna de margen, formateada hasta el último milímetro.

Cada celda de Resumen se rellenó de la forma evidente — clic en la celda, escribir =, y clic en la celda de la dinámica de la que sale el número. Ese clic escribió =Dinamica!B6, y =Dinamica!B6 es una posición en una cuadrícula.

En septiembre se añadió una región nueva a los datos de origen: Iberia, un primer mes pequeño, operando con un margen fino mientras arranca. Se actualizó la dinámica. Iberia se ordenó en tercer lugar, entre Este y Norte, y todas las filas de debajo bajaron una.

Importe
Ingresos que informó el informe1.844.350
Ingresos que hizo realmente el grupo2.134.000
Lo que falta en el informe289.650 — 13,57%
Margen del grupo que se imprimió30,79%
Margen del grupo realmente obtenido30,43%
Mejora mensual de margen que mostraba0,92 puntos — la real era de 0,56

Ninguna celda mostró un error. Las cinco etiquetas de región seguían ahí, cada una con unos ingresos plausibles, un coste plausible y un margen dentro de un rango creíble. Lo que había pasado por debajo es que tres de las cinco líneas leían ahora la fila de debajo de la que llevaban por nombre, y la sexta región no se leía en absoluto:

  • La línea de Norte imprimió los números de Iberia: un margen del 16,24%, frente al 33,91% real de Norte.
  • La línea de Sur imprimió los números de Norte: 33,91% frente al 30,13% real de Sur.
  • La línea de Oeste imprimió los números de Sur: 30,13% frente al 28,04% real de Oeste.
  • Oeste — 289.650 de ingresos, la región grande más débil del grupo — no apareció en ninguna parte del informe.
  • Iberia tampoco apareció por su nombre; su mes se imprimió bajo el de Norte.

La línea del grupo no lo cazó, porque la línea del grupo no se leía de la dinámica. Era una SUMA de las cinco líneas de la hoja, y por eso dio 1.844.350 en vez de los 2.134.000 de la propia dinámica. Una hoja que suma su propio contenido siempre será coherente consigo misma y puede seguir dejándose una región fuera.

Lo que costó fue una semana. Que el margen de Norte se hunda aparentemente diecisiete puntos en un mes es de esos números que abren una investigación, y la abrió: tres personas se pasaron la semana siguiente repasando los precios de Norte, sus descuentos y sus imputaciones de coste, buscando un problema que no existía. Nadie se pasó la semana buscando Oeste, porque nada en el informe decía que faltara Oeste.

Qué cubre esto. IMPORTARDATOSDINAMICOS (GETPIVOTDATA en inglés) está en todas las versiones de Excel — Windows, Mac y web — y funciona tanto contra tablas dinámicas normales como contra las montadas sobre el Modelo de datos. La opción Generar GetPivotData es de escritorio; Excel para la web escribe IMPORTARDATOSDINAMICOS al hacer clic en una celda de la dinámica y no te da ningún interruptor. Todo lo demás — SUMAR.SI.CONJUNTO, CONTAR.SI.CONJUNTO, SUMAPRODUCTO, INDICE/COINCIDIR, SI.ERROR, LET — es estándar, y UNICOS y ORDENAR necesitan Excel 2021, 365 o la web. El ejemplo es un informe para el consejo porque un informe para el consejo es justo la forma de informe donde esto sobrevive: unas pocas líneas formateadas, leídas una vez al mes por gente que no tiene manera de ver lo que hay detrás.


1) El Informe Que Imprimió la Mejor Región Como la Peor

Esta es la dinámica tal y como estaba en septiembre, con lo que el informe hizo de cada fila impreso al lado.

Seis Regiones en la Dinámica, Cinco Líneas en el Informe, Tres de Ellas con la Etiqueta Equivocada

La tabla dinámica regional de septiembre a la izquierda y lo que el informe del consejo hizo con cada fila a la derecha. Las etiquetas de fila de la dinámica empiezan en la fila 4 y el Total general está en la fila 10; en agosto había cinco regiones, de la fila 4 a la 8, con el Total general en la fila 9. La hoja de resumen lee B4:C8 por posición, así que Iberia — nueva este mes y tercera por orden alfabético — se quedó con la línea de Norte, y todo lo que había debajo se deslizó una etiqueta hacia abajo. Oeste, en la fila 9, está donde estaba el Total general de agosto; la hoja de resumen no lee la fila 9 en absoluto, así que Oeste no aparece en el informe. La línea del grupo tampoco se lee de la dinámica: es una SUMA de las cinco líneas que imprime la hoja, y por eso suma 1.844.350 frente a los 2.134.000 de la propia dinámica. Todas las cifras de este artículo salen de estas siete filas.

ABCDEFG
1
Pivot row
Region as the pivot lists it
Revenue
Cost
Margin the pivot gives
Line the pack printed it on
Margin the pack printed
2
4
Central
412600
289000
29.96%
Central
29.96%
3
5
East
368450
251100
31.85%
East
31.85%
4
6
Iberia
94200
78900
16.24%
North
16.24%
5
7
North
521300
344500
33.91%
South
33.91%
6
8
South
447800
312900
30.13%
West
30.13%
7
9
West
289650
208400
28.04%
(no line)
8
10
Grand Total
2134000
1484800
30.43%
Group (=SUM of the five lines above)
30.79%

fxLas celdas con fórmulas están resaltadas en verde

Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas

Lee las dos columnas de etiquetas una contra la otra y el fallo entero se ve en tres filas. Las filas 4 y 5 están bien — Central y Este están por encima del punto de inserción, así que nada las movió. La fila 6 es Iberia, impresa con el nombre de Norte. Las filas 7 y 8 son Norte y Sur, impresas cada una una etiqueta demasiado abajo. La fila 9 es Oeste, que nadie lee, porque en agosto la fila 9 era el Total general y la hoja de resumen se montó para pararse en la fila 8.

El informe no estaba mal de una forma que nadie pudiera ver. Cinco regiones, cinco números, cinco márgenes entre el 16% y el 34%, y un margen de grupo ligeramente al alza en el mes. Todas y cada una de esas propiedades son el aspecto que tiene un informe correcto.

🎯 Escenario: Abre cualquier libro donde una hoja resuma una tabla dinámica de otra. Haz clic en una celda del resumen y mira la barra de fórmulas. Si dice =Dinamica!B6 o ='Dinamica regional'!C12, esa celda guarda una posición, no el número de una cosa con nombre — y una actualización tiene todo el derecho a mover lo que vive en esa posición.


2) Por Qué Se Movieron las Filas, y Por Qué Nadie Recibió Ningún Aviso

Un rango es un sitio. Una tabla dinámica es una vista, recalculada desde una caché cada vez que se actualiza, y lo único que promete sobre su disposición es el orden en el que se le dijo que ordenara. Las etiquetas de fila salen en ese orden, una fila por cada elemento que exista en los datos ahora mismo.

Así que todo esto cambia en qué fila cae una región dada, y nada de esto cambia un solo carácter de ninguna fórmula que apunte a ella:

  • Aparece un elemento nuevo en el origen — una región nueva, un producto nuevo, un centro de coste nuevo — y se ordena por el medio.
  • Un elemento deja de operar y desaparece, subiendo una posición todo lo que hay debajo.
  • Se cambia la ordenación de alfabética a descendente por ingresos, que es un cambio de dos clics que alguien hace para leer el informe más cómodo.
  • Se mueve un filtro o una segmentación, ocultando filas con las que la hoja de resumen sigue contando.
  • Se contrae un campo, o se mueve entre las áreas de Filas y Columnas, lo que reestructura el bloque entero.
  • Se activa o desactiva un subtotal o el total general, lo que desplaza todo lo que va después.
  • Se mueve la dinámica, u otra dinámica que esté encima en la misma hoja crece una fila.

Excel no tiene forma de avisarte de nada de esto, porque desde el punto de vista de Excel no ha pasado nada. =Dinamica!B6 pedía el valor de B6. Hay un valor en B6. Lo ha devuelto. La fórmula ha hecho exactamente lo que dice.

Esta es la asimetría que merece la pena retener: una referencia rota hacia una dinámica normalmente devuelve un número, no un error. El #REF! aparece cuando una referencia se destruye, y actualizar una dinámica no destruye celdas — las vuelve a rellenar.

🎯 Escenario: Coge una copia de un libro, añade una fila a los datos de origen con una etiqueta que se ordene alfabéticamente por el medio — "Iberia", "Mmm", lo que sea — actualiza la dinámica y mira tu hoja de resumen. Si los números se mueven pero nada se pone rojo, tu resumen está leyendo posiciones.


3) Las Dos Fórmulas Que Puede Escribir un Clic en una Celda de la Dinámica

Clic en una celda, escribir =, clic en una celda de la dinámica, Intro. Excel escribe una de dos cosas, y no podrían ser más distintas.

Con Generar GetPivotData activado (lo predeterminado):

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";"Norte")

Con la opción apagada:

=Dinamica!B7

La primera nombra lo que quiere: el campo Ingresos, de la dinámica anclada en Dinamica!$A$3, para la Region llamada Norte. Donde acabe la fila de Norte después de la siguiente actualización, ahí la encuentra la fórmula. Si Norte deja de existir, la fórmula lo dice.

La segunda nombra dónde miró la última vez.

La opción está en la pestaña Analizar tabla dinámica (llamada Opciones en algunas versiones), en el desplegable Opciones de la izquierda: Generar GetPivotData. En Mac está en el mismo sitio; en Excel para la web no hay interruptor alguno, y siempre obtienes IMPORTARDATOSDINAMICOS.

Merece la pena ser justo sobre por qué la gente la apaga, porque el motivo es real. IMPORTARDATOSDINAMICOS escribe sus argumentos como literales de texto, así que la fórmula no se rellena. Copia =IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";"Norte") cinco filas hacia abajo y obtienes cinco veces los ingresos de Norte. Alguien se topa con eso una vez, decide que la función está rota, apaga la opción, y todas las hojas de resumen que se monten en ese libro a partir de entonces están hechas de posiciones. La sección 7 arregla el problema del relleno con una sola edición, que es la parte que normalmente no se llega a descubrir.

🎯 Escenario: Busca la opción en tu propio Excel y comprueba cómo está, y luego haz clic en una celda de la dinámica dentro de una celda vacía y lee lo que aparece. Esa única pulsación te dice qué clase de hoja de resumen has estado montando durante años.


4) IMPORTARDATOSDINAMICOS, Argumento a Argumento

=IMPORTARDATOSDINAMICOS(campo_datos; tabla_dinamica; [campo1; elemento1]; [campo2; elemento2]; …)

campo_datos — el campo de valores que quieres, entre comillas: "Ingresos". Es el nombre del campo que se está resumiendo, no el rótulo que la dinámica imprime sobre la columna, así que "Ingresos" es correcto incluso cuando la cabecera dice Suma de Ingresos. Si el mismo campo está dos veces en la dinámica con resúmenes distintos, los rótulos son la forma de distinguirlos — "Suma de Ingresos" y "Cuenta de Ingresos" — y la manera más segura de acertar es dejar que Excel escriba una fórmula por ti y leer lo que eligió.

tabla_dinamica — una referencia a cualquier celda de dentro de la tabla dinámica. Excel escribe la celda superior izquierda, Dinamica!$A$3, y los signos del dólar importan: una referencia relativa aquí se desplaza al copiar la fórmula, y una referencia que se desplaza fuera de la dinámica devuelve #REF!. Cualquier celda de la dinámica sirve, así que anclar a la esquina es una convención, no un requisito. Lo que no puede ser es una celda que la dinámica pueda dejar de cubrir — y la esquina superior izquierda nunca lo es.

Pares campo/elemento — hasta 126, cada uno estrechando la petición: "Region";"Norte" y luego "Mes";"sept". No pongas ningún par y obtienes el total general de ese campo de datos, que es la fórmula más útil de todo este artículo:

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3)   →  2.134.000

Ese número es el total general de la propia dinámica. Le da igual cuántas regiones haya, en qué orden estén o cuántas líneas imprima tu hoja de resumen — que es lo que lo convierte en la comprobación de la sección 11.

Tres detalles sobre la coincidencia que causan casi todos los problemas del día a día:

  • Los elementos se comparan con lo que muestra la dinámica, como texto y sin distinguir mayúsculas. "norte" encuentra Norte.
  • Los espacios no se perdonan. Si los datos de origen llevan "Norte " con un espacio final, la dinámica lista Norte y "Norte" no lo encuentra. Este es el #REF! más común de todos y es invisible en pantalla.
  • Un campo tiene que estar en la disposición de la dinámica para poder preguntar por él. No puedes filtrar por un campo que esté sin usar en la lista de campos; tiene que estar en Filas, Columnas o Filtros.

🎯 Escenario: Pon =IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3) en una celda al lado del total general de tu dinámica y comprueba que coinciden. Luego quita la fila de total general de la disposición de la dinámica y mira cómo la fórmula sigue funcionando: el total general es un cálculo de la caché, no la celda que estabas mirando.


5) El #REF! Es la Virtud, No el Defecto

Cuando un IMPORTARDATOSDINAMICOS no encuentra lo que ha pedido, devuelve #REF!. Eso pasa cuando el elemento está filtrado, renombrado, contraído o ha dejado de existir en el origen; cuando el campo ya no está en la disposición; o cuando el ancla ya no apunta dentro de una dinámica.

Es tentador leer eso como que IMPORTARDATOSDINAMICOS es frágil. Es justo lo contrario. Compara qué hacen los dos tipos de fórmula cuando los datos de septiembre ya no tienen una región llamada Norte:

=Dinamica!B7=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";"Norte")
Norte renombrado a Nordestedevuelve lo que haya ahora en B7#REF!
Una región nueva se ordena encima de Nortedevuelve los ingresos de la región nuevalos ingresos de Norte
Norte filtrado por una segmentacióndevuelve los ingresos de la región siguiente#REF!
Ordenación cambiada a descendente por ingresosdevuelve los ingresos de otra regiónlos ingresos de Norte
La dinámica se mueve dos filas hacia abajodevuelve una etiqueta o un vacíolos ingresos de Norte

Cada celda de la columna izquierda es un número equivocado que se imprime. Cada celda de la derecha es o correcta o ruidosa.

De donde sale la única regla sobre gestión de errores que hace falta aquí: nunca envuelvas un IMPORTARDATOSDINAMICOS en un SI.ERROR(…;0) pelado. Eso convierte el fallo ruidoso otra vez en un número silenciosamente equivocado, y un cero en una columna de margen es peor que un #REF!, porque un cero promedia, suma, se grafica y se imprime. Si una línea vacía es legítima — una región de verdad no tiene datos este mes — dilo en la cara de la hoja:

=SI.ERROR(IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";$A9);"no está en la dinámica")

El texto en una columna de números es feo a propósito. Corta un total, se ve en una vista previa de impresión, y nadie lo aprueba por descuido.

🎯 Escenario: Repasa un libro buscando SI.ERROR envolviendo cualquier cosa que lea una dinámica — Ctrl+B, Fórmulas, buscar SI.ERROR(IMPORTARDATOSDINAMICOS. Cada resultado es un sitio donde se tomó la decisión de diseño de preferir un informe de aspecto limpio a uno correcto. Algunos estarán bien. Comprueba que todos son deliberados.


6) Fechas, Campos Agrupados y el Argumento Que Nunca Coincide

El argumento de elemento que derrota a la gente es siempre una fecha, y el motivo es que la dinámica decide qué aspecto tiene una fecha antes de que IMPORTARDATOSDINAMICOS la vea.

Un campo de fecha sin agrupar guarda fechas de verdad, así que el elemento tiene que ser una fecha de verdad — un número de serie, no una cadena que lo parezca:

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Fecha";FECHA(2026;9;30))     ✓
=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Fecha";"30/09/2026")         ✗  #REF!
=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Fecha";$B$1)                 ✓  si B1 es una fecha de verdad

La versión de texto falla en una máquina europea y puede funcionar por accidente en una estadounidense, que es peor que fallar en todas partes.

Un campo de fecha agrupado no guarda fechas en absoluto. Agrupar por mes y año parte un único campo Fecha en Años y Meses, cuyos elementos son las etiquetas que imprime la dinámica — y esas son texto:

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Años";2026;"Meses";"sept")

Dos trampas en una sola fórmula. "Meses" es un campo distinto de "Fecha", así que una fórmula escrita antes de que alguien agrupara el campo deja de funcionar en el momento en que lo agrupa. Y "sept" es la etiqueta en un idioma de Excel y una configuración regional; en una máquina inglesa la misma dinámica imprime Sep, y la fórmula que funcionaba en Madrid devuelve #REF! en Londres.

La agrupación automática de fechas es lo que convierte esto en un problema vivo y no en una rareza. El Excel moderno agrupa los campos de fecha por año, trimestre y mes por su cuenta en el momento en que sueltas uno en Filas. Nadie lo eligió; la lista de campos simplemente crece dos entradas, y todas las fórmulas que nombraban "Fecha" se rompen a la vez.

🎯 Escenario: Para cualquier cosa que tenga que sobrevivir a un cambio de idioma o de agrupación, saca el elemento de la fórmula y ponlo en una celda: =IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Meses";$B$1) con sept en B1. Una celda que arreglar en vez de cuarenta fórmulas, y la etiqueta a la vista de quien tenga que arreglarla.


7) Hacer Que Se Rellene: Referencias de Celda en Lugar de Literales de Texto

Esta es la edición que elimina la única objeción real a la función. Sustituye el elemento entre comillas por una referencia a la etiqueta que ya tienes en la hoja:

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";$A9)

Con los nombres de región en A9:A14, eso se rellena hacia abajo como cualquier otra fórmula, y cada fila pide su propia región por su nombre. Para un bloque entero, ancla la dinámica y los nombres de campo y deja que se muevan las etiquetas:

=IMPORTARDATOSDINAMICOS(B$8;Dinamica!$A$3;"Region";$A9)

con Ingresos en B8 y Coste en C8. Una fórmula, rellenada a lo ancho y a lo largo, cada celda nombrando la medida y la región que quiere. Se lee como una tabla de peticiones y no como una tabla de coordenadas.

Para un bloque con varias condiciones, LET lo mantiene legible:

=LET(
  td; Dinamica!$A$3;
  region; $A9;
  mes; $B$1;
  ing; IMPORTARDATOSDINAMICOS("Ingresos";td;"Region";region;"Meses";mes);
  coste; IMPORTARDATOSDINAMICOS("Coste";td;"Region";region;"Meses";mes);
  SI(ing=0;"";(ing-coste)/ing)
)

Y las etiquetas tampoco hay por qué escribirlas a mano. Si la idea es un informe que aguante una región nueva, derrama las etiquetas desde el origen:

=ORDENAR(UNICOS(Ventas[Region]))

Ahora una región nueva en los datos añade una fila a la lista de etiquetas, y el IMPORTARDATOSDINAMICOS rellenado de al lado recoge sus números. Esa es la versión de este informe que habría impreso Iberia por su nombre en septiembre.

🎯 Escenario: Reescribe así un bloque de referencias a la dinámica y luego haz lo que rompió el informe: añade una etiqueta de fila nueva al origen y actualiza. Las etiquetas deberían crecer en una y cada número debería seguir junto a su propio nombre.


8) Lo Que IMPORTARDATOSDINAMICOS Tampoco Habría Cazado

Merece la pena ser honesto, porque aquí es donde casi todos los artículos prometen de más.

Si la hoja de resumen se hubiera montado con IMPORTARDATOSDINAMICOS y los nombres de región escritos a mano, el informe de septiembre habría sido correcto — la línea de Norte habría mostrado el 33,91% de Norte, y nada habría llevado la etiqueta equivocada. Habría seguido siendo incompleto. Iberia no habría aparecido, porque ninguna fórmula la pedía. Oeste sí habría aparecido bien, así que los que faltarían serían los 94.200 de Iberia en vez de los 289.650 de Oeste.

Nombrar las cosas te protege de leer la fila equivocada. No te protege de no saber que una fila existe. Solo dos cosas lo hacen:

  1. Derivar las etiquetas de los datos (ORDENAR(UNICOS(…)), o una dinámica que el informe lea entera en vez de línea a línea), para que un elemento nuevo no pueda dejar de aparecer.
  2. Cuadrar las partes contra un total independiente. El IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3) sin argumentos es el total general de la propia dinámica, calculado desde la caché e indiferente a la disposición. Ponlo en la hoja, réstale las líneas que imprimiste e imprime la diferencia:
=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3)-SUMA(B9:B13)   →  289.650

Esa celda, en el informe de septiembre, habría dicho 289.650 en vez de 0 — y habría dicho 289.650 tanto si la causa era una fila mal etiquetada, como una región que falta, como una segmentación que alguien se dejó puesta, como un filtro en la tabla de origen. Una celda, todo.

🎯 Escenario: Añade un bloque de Cuadre al final de cada hoja de resumen que tengas: total general de la dinámica, suma de las líneas impresas y la diferencia, con formato rojo si no es cero. Son tres celdas y es la única parte de la hoja a la que no puede engañar la disposición.


9) La Otra Respuesta: SUMAR.SI.CONJUNTO Contra el Origen

Hay un tercer diseño, y para muchos informes es el correcto: no leer la dinámica en absoluto. Leer el origen.

=SUMAR.SI.CONJUNTO(Ventas[Ingresos];Ventas[Region];$A9;Ventas[Fecha];">="&$B$1;Ventas[Fecha];"<"&FECHA.MES($B$1;1))

Aquí nada depende de que exista una dinámica, de que esté actualizada, de que esté ordenada de una manera concreta ni de que esté en la hoja. La tabla puede ganar columnas, ganar filas y reordenarse, y la fórmula sigue respondiendo a la misma pregunta. Alguien puede borrar la dinámica y el informe sigue funcionando.

Lo que cedes es real:

  • Estás recalculando la agregación, así que puedes acertar donde la dinámica se equivoca, o equivocarte donde la dinámica acierta, y las dos pueden discrepar sin que ninguna tenga la culpa de forma evidente. Eso es una virtud si lo usas como contraste y un pasivo si lo dejas sin cuadrar.
  • Algunos números de una dinámica no se pueden reconstruir con SUMAR.SI.CONJUNTO — una Cuenta distinta, un porcentaje de Mostrar valores como, un campo calculado o cualquier medida del Modelo de datos. Para eso, IMPORTARDATOSDINAMICOS lee lo de verdad, y VALORCUBO es la vía nativa en una dinámica del Modelo de datos.
  • Con muchos datos puede ser más lento que leer un número que la dinámica ya ha calculado, a veces mucho más lento, porque cada SUMAR.SI.CONJUNTO recorre la columna entera.

El montaje práctico, y el que habría hecho de septiembre un no-suceso, es usar los dos: IMPORTARDATOSDINAMICOS para los números que imprime el informe, SUMAR.SI.CONJUNTO en una columna al lado, y una columna de diferencia que debería ser cero.

🎯 Escenario: Coge los tres números de tu informe que más importan y reconstruye cada uno con SUMAR.SI.CONJUNTO contra el origen en una zona auxiliar. Si alguno de los tres discrepa del informe, has encontrado algo hoy. Si ninguno discrepa, has montado la comprobación que lo encontrará el trimestre que viene.


10) Elegir Entre los Tres

Referencia de celda directaIMPORTARDATOSDINAMICOSSUMAR.SI.CONJUNTO sobre el origen
Sobrevive a una etiqueta de fila nueva✗ mal en silencio
Sobrevive a un reordenado✗ mal en silencio
Sobrevive a un elemento renombrado✗ mal en silencio#REF!sin #REF!, devuelve 0
Sobrevive a que se borre la dinámica#REF!
Muestra un elemento nuevo sin que se lo digas✗ salvo que derrames las etiquetas
Se rellena hacia abajo✓ una vez los elementos son referencias
Reproduce Cuenta distinta, campos calculados, medidas DAX
Velocidad con un modelo grandela más rápidarápidala más lenta
Legible para el siguiente=Dinamica!B7dice lo que quieredice lo que quiere

Lee la columna de «mal en silencio» de arriba abajo. Es la única fila de esta tabla que cuesta una semana.


11) Cinco Comprobaciones de Una Celda

1. ¿Suma el informe lo que suma la dinámica?

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3)-SUMA(B9:B13)   →  289.650

Debería ser cero. Esta es la comprobación.

2. ¿Ha cambiado de forma la dinámica desde que se montó la hoja?

=CONTARA(Dinamica!$A$4:$A$40)-1                                  →  6  (eran 5)

Cuenta las etiquetas de fila y el Total general, menos uno por el Total general, así que es el número de regiones. Deja al lado el número esperado; una diferencia significa que el bloque se ha movido, pase lo que pase con lo demás.

3. ¿Siguen cuadrando las etiquetas?

=SUMAPRODUCTO(--(A9:A13<>Dinamica!$A$4:$A$8))                    →  3

Compara las etiquetas que imprime tu hoja con las que la dinámica tiene de verdad en esas posiciones. En el informe de septiembre, tres de cinco no coincidían — en una sola celda, antes de que nadie imprimiera nada.

4. ¿Coinciden dos vías independientes?

=IMPORTARDATOSDINAMICOS("Ingresos";Dinamica!$A$3;"Region";$A9)-SUMAR.SI.CONJUNTO(Ventas[Ingresos];Ventas[Region];$A9)

Cero en toda la columna, o un número que te dice a qué región ir a mirar.

5. ¿Hay algo en error por debajo del formato?

=SUMAPRODUCTO(--ESERROR(B9:C13))                                 →  0

Una fuente blanca, un formato personalizado o un área de impresión pueden esconder un #REF! por completo. Esto los cuenta tengan el aspecto que tengan.


12) Doce Trampas

  1. Una dinámica es una vista, no un rango. Sus filas se recalculan en cada actualización, y nada en Excel trata el que una fila se mueva como un acontecimiento.
  2. Una referencia hacia una dinámica normalmente devuelve un número cuando se rompe, no un error. Una actualización vuelve a rellenar celdas en vez de destruirlas, así que el #REF! no llega nunca.
  3. Generar GetPivotData decide qué escribe tu clic, y alguien la apagó hace años porque la fórmula no se rellenaba hacia abajo. Todas las hojas de resumen montadas desde entonces están hechas de coordenadas.
  4. Una hoja que suma sus propias líneas siempre es coherente consigo misma, y puede seguir dejándose una región fuera. El total tiene que venir de algún sitio que no sean las líneas que está comprobando.
  5. Los totales generales y los subtotales desplazan todo lo que va después. Activar uno añade una fila en medio de un bloque al que están apuntando otras fórmulas.
  6. Un espacio final en el origen convierte "Norte " en una región distinta de "Norte" — un #REF! sin causa visible. Aplica ESPACIOS al origen, no a la fórmula.
  7. La agrupación automática de fechas te renombra el campo por debajo. "Fecha" se convierte en Años, Trimestres y Meses, y todas las fórmulas que nombraban "Fecha" fallan en el mismo instante.
  8. Los elementos de fecha agrupados son texto que depende del idioma y de la configuración regional. "sept" no es "Sep", y el mismo libro falla en otro país.
  9. SI.ERROR(IMPORTARDATOSDINAMICOS(…);0) tira la única seguridad que tiene la función, y un cero en una columna de margen se grafica y se suma como un número de verdad.
  10. Un ancla relativa se desplaza. IMPORTARDATOSDINAMICOS("Ingresos";A3;…) copiado hacia abajo pasa a A4, A5, A6, y acaba apuntando fuera de la dinámica.
  11. Una dinámica sin actualizar se equivoca con seguridad. IMPORTARDATOSDINAMICOS lee la caché, así que si nadie actualizó, todas las fórmulas devuelven los números del mes pasado con las etiquetas de este. Activa Actualizar al abrir el archivo.
  12. Nombrar las filas no hace que el informe esté completo. Una lista de regiones escrita a mano no puede mostrarte una región que no sabías que existía; solo unas etiquetas derivadas de los datos, más un cuadre contra un total independiente, pueden.

Nadie en esta historia hizo nada descabellado. Montar una hoja de resumen haciendo clic en las celdas de la dinámica que quieres es la forma natural de montarla, y es la forma a la que invita la propia interfaz de Microsoft. Apagar Generar GetPivotData es una respuesta racional a una fórmula que no se rellena hacia abajo. Añadir una región nueva a los datos de origen es lo que debe pasar cuando un negocio abre en una región nueva. Actualizar una dinámica es el sentido entero de una dinámica. Totalizar una hoja de resumen con una SUMA de sus propias líneas es para lo que está una hoja de resumen.

Lo que lo hizo caro es que una referencia de celda responde a una pregunta sobre posición — qué hay en B7 — mientras todo el que lee el informe cree que responde a una pregunta sobre identidad: cuánto ganó Norte. En una dinámica cuyas etiquetas de fila no cambian nunca, esas dos preguntas tienen la misma respuesta, que es la mayoría de las dinámicas la mayoría de los meses, y por eso la costumbre sobrevive años antes de costar nada. El mes en que una etiqueta nueva se ordena por el medio, se separan, y el informe imprime la diferencia en un porcentaje redondeado a dos decimales sin ninguna señal de que algo se haya movido.

Así que la disciplina es pequeña, y son tres costumbres. Pedir las cosas por su nombre y no por su posición — IMPORTARDATOSDINAMICOS con el elemento en una celda para que siga rellenándose, o SUMAR.SI.CONJUNTO contra el origen para no necesitar la dinámica en absoluto. Derivar las etiquetas de fila de los datos con ORDENAR(UNICOS(…)), para que una región que aparece en el negocio aparezca en el informe. Y poner tres celdas al final de cada informe que cuadren las líneas contra un total independiente, porque esa es la única comprobación a la que le da igual de qué manera de todas salió mal esta vez.

Comparte este artículo:
Volver al Blog