Traducir el blog

Gráficos retro con colores difusos

🔝To translate this blog post to your language, select it in the top left Google box.


¿A quien no le gustan los juegos retro, los juegos clásicos de toda la vida?

¡A mí sí!

Este artículo está escrito para versiones de Excel retro, de Excel 2010 en adelante.

¡Porque no todo el mundo tiene la última versión de Excel instalada en su escritorio!

Aquí aprenderás cómo convertir unos gráficos, creados con las versiones más recientes de Excel, para que sean compatibles con versiones de Excel clásicas, antiguas o retro.


Incompatibilidad entre Excel recientes vs retro

Se presupone la compatibilidad de versiones Excel antiguas cuando se ejecutan en versiones Excel más recientes pero, un Excel creado con versiones recientes de Excel no tiene por qué funcionar en versiones antiguas de Excel, debido a que hay funciones que no son retro compatibles...

En los últimos 15 años de la historia de Microsoft Excel para Windows se han liberado 6 versiones de Excel de escritorio, desde Excel 2010 hasta Excel 2024, además de Excel para Microsoft 365 que es un servicio de suscripción, y de Excel para la Web que es una versión gratuita que corre en navegadores Web.

En todas esa versiones de Excel funcionan los gráficos de barras, los gráficos de columnas y los gráficos de dispersión por lo que, en un principio, se pueden visualizar los gráficos de aranceles con colores difusos, que publiqué en el artículo anterior de este blog:

Léelo para comprender cómo se hicieron estos gráficos, y quienes tuvieron las brillantes ideas originales para hacer estos gráficos difusos, tan impactantes visualmente, con una única serie definida para el gráfico de barras o de columnas.

En los últimos 15 años me ha tocado lidiar con problemas de incompatibilidad entre versiones de Excel, pues he tenido que compatibilizar versiones antiguas, por ejemplo Excel 2003, con versiones modernas como Excel 2016, para que una plantilla determinada corriera en cualquiera de esas versiones de Excel.

En este caso el ejercicio de compatibilidad consiste en que:

Unos gráficos creados en versiones modernas de Excel, sean visualizados en versiones antiguas de Excel.

¡Y lo he conseguido!

Como evidencias observa esta imagen animada de un par de pantallazos visualizados en Excel 2010 de los gráficos de aranceles con colores difusos:

Una vez que conseguí crear gráficos compatibles en versiones antiguas de Excel, me quedaba un problema por resolver: Cómo mostrar las etiquetas con los nombres de los países.

En una de las imágenes de arriba. creada con Excel 2010, no se ven las etiquetas. en la otra sí se ven.

Si sigues leyendo te enterarás cómo he resuelto el problema de mostrar las etiquetas mediante dos procedimientos totalmente distintos...


Funciones de Excel más recientes vs retro

Para estos gráficos, el problema de incompatibilidad entre versiones de Excel es debido al origen de datos de los gráficos, obtenido mediante fórmulas construidas con las funciones de las versiones más recientes de Excel, que generan error en versiones de Excel antiguas, en las que esas funciones no existen.

En las versiones más recientes de Excel, la fórmula de la celda AUX!A2 son los valores del eje horizontal del gráfico de columnas y los valores del eje vertical del gráfico de barras, con el nombre definido: filasEje

Esta fórmula se basa en las siguientes funciones, que son compatibles con las versiones de Excel descritas a continuación:

LET: Se aplica a Excel para Microsoft 365; Excel para la Web; Excel 2024; Excel 2021.

SECUENCIA: Se aplica a Excel para Microsoft 365; Excel para la Web; Excel 2024; Excel 2021.

EXCLUIR: Se aplica a Excel para Microsoft 365; Excel para la Web.

REDUCE: Se aplica a Excel para Microsoft 365; Excel para la Web.

APILARV: Se aplica a Excel para Microsoft 365; Excel para la Web.

LAMBDA: Se aplica a Excel para Microsoft 365; Excel para la Web; Excel 2024.

Por lo que una fórmula basada en todas estas funciones únicamente es compatible con dos versiones: Excel para Microsoft 365 y Excel para la Web, que son las que son compatibles con todas las funciones más recientes de Excel.

En cualquier otra versión anterior de Excel dicha fórmula generará errores de valor: #¡VALOR!, o de que la función no existe: #¿NOMBRE?, pues son retro incompatibles en versiones antiguas.

Incluso los gráficos difusos son incompatibles con la última versión de escritorio, que es Excel 2024, lo que nos obliga a pagar por una suscripción mensual o anual a Microsoft 365, para poder crearlos y visualizarlos. Aunque también podemos verlos en Excel para la Web, como hice en el artículo anterior, insertándolos en la nube de Microsoft OneDrive.


Reto: Usar funciones retro compatibles

Como me gustó muchísimo el gráfico propuesto por Roberto Mensa en este artículo en inglés:

Desde que lo publicó me propuse el reto de hacerlo compatible con versiones retro antiguas de Excel, a partir de Excel 2010, lo que me ha obligado a modificar las fórmulas que generan el origen de datos de los gráficos, eliminando cualquier función incompatible con las versiones no tan recientes de Excel.

Una vez analizada la fórmula que genera el origen de datos del gráfico, sustituí las funciones LET, LAMBDA, etc., que no existen en Excel 2010, modificando la fórmula en AUX!A2 así:

Esta es una fórmula matricial, en la que no hay que escribir los corchetes {}, que aparecen automáticamente pulsando a la vez la combinación de teclas: Control + Mayús + Intro. En inglés se conocen como fórmulas matriciales CSE, al introducirlas con las teclas: Ctrl + Shift + Enter.

Para saber más sobre las diferencias entre las nuevas fórmulas de matriz dinámica vs las fórmulas de matriz heredadas, lee este artículo:

En la hoja 'AUX' están escritas las fórmulas retro matriciales necesarias para crear el origen de datos de los gráficos en versiones retro de Excel.


Nombres definidos retro compatibles

En este pantallazo del Administrador de nombre están todos los nombres definidos para hacer que los gráficos sean retro compatibles:


Con la fórmula matricial comentada anteriormente se genera el nombre definido usado como rango de rótulos del eje en los gráficos.

filasEje: Devuelve un rango de valores mayor que cero en el rango AUX!$A:$A, comenzando por la celda A2.

=AUX!$A$2:INDICE(AUX!$A:$A;CONTAR.SI(AUX!$A:$A;">0")+1)

Dicha fórmula matricial de la columna A, usa 3 nombres definidos:

secFilas: Devuelve una secuencia de números enteros, del 1 al número de filas de la tabla de aranceles.

=FILA(AUX!$A$1:INDICE(AUX!$A:$A;nFilasSubtotales+SI(nFilasSubtotales=nFilasTotales;1;0)))

filasRepeticiones: Devuelve una secuencia de números enteros, del 1 a la suma de la secuencia de repeticiones.

=FILA(AUX!$A$1:INDICE(AUX!$A:$A;SUMA(secRepeticiones)))

secRepeticiones: Devuelve un rango de valores mayor que cero en el rango AUX!$K$2:$K$31

=AUX!$K$2:INDICE(AUX!$K$2:$K$31;CONTAR.SI(AUX!$K$2:$K$31;">0"))

En el rango AUX!$K$2:$K$31 hay una fórmula matricial con el número de repeticiones según una escala de los valores del filtro de aranceles:

{=COINCIDIR(filasFiltro2;secEscala;1)}

filasFiltro2: Nombre definido para obtener los valores filtrados de la tabla de aranceles en el rango AUX!$G$2:$G$31

=AUX!$G$2:INDICE(AUX!$G$2:$G$31;nFilasSubtotales+SI(SI.ERROR(COINCIDIR(-1%;AUX!$G$2:$G$31;0);0)>0;0;1))

filasFiltro1: Se escribe como fórmula matricial en el rango AUX!$G$2:$G$31 con los aranceles visibles filtrados de la lista de aranceles de la tabla.

=SI.ERROR(INDICE(listaAranceles; K.ESIMO.MENOR(SI(listaVisible=""; FILA(listaAranceles)-6); FILA(listaAranceles)-6));-1%)

secEscala: La escala de colores de corte según el valor de los aranceles y el valor de difusión de los colores.

=(FILA(AUX!$A$1:INDICE(AUX!$A:$A;nColores))-1)/nColores*nMax

siendo nMax: =MAX(filasFiltro2) 

nColores: El valor de difusión de los colores de 5 a 25.

='Aranceles difusos'!$H$3

En el rango AUX!$B$2:$B$501 hay una fórmula matricial, con la que se obtienen los valores de aranceles de cada fila del eje. Este método es mucho más simple y efectivo que en la versión original con fórmulas llamando a funciones recientes, usando únicamente la conocida función INDICE:

{=INDICE(filasFiltro2;filasEje)}

filasValores: Son los valores de la serie, tanto en el gráfico de barras como en el de columnas, con los aranceles repetidos según la escala de colores difusos:

=AUX!$B$2:INDICE(AUX!$B:$B;CONTAR.SI(AUX!$A:$A;">0")+1)

Para las etiquetas con los nombres de los países, que se visualizan en una serie del tipo gráfico de dispersión, se usan dos rangos con fórmulas matriciales:

Fórmula matricial en el rango AUX!$D$2:$D$31

{=FILA($A$1:INDICE($A:$A;nFilasSubtotales))}

EtiquetaX: Valores de la serie en el gráfico de dispersión.

=AUX!$D$2:INDICE(AUX!$D$2:$D$31;nFilasSubtotales)

Fórmula matricial en el rango AUX!$D$2:$D$31

{=EtiquetaX*0}

EtiquetaY: Valores de la serie en el gráfico de dispersión.

=AUX!$E$2:INDICE(AUX!$E$2:$E$31;nFilasSubtotales)


¡¡¡ RETO CONSEGUIDO !!!

¡Todas las funciones usadas en la fórmula de arriba son compatibles en Excel 2010 y versiones posteriores!

¡Y se obtienen los mismos resultados que con las fórmulas escritas en la versión más reciente de Excel, creadas por Roberto Mensa!

¡Se pueden comprobar los resultados en el rango de columnas AUX!M:P, siempre que se abra el archivo en Excel para Microsoft 365!


Retroalimentación de Copilot

Como no era nada sencilla la tarea de convertir las fórmulas de matriz dinámica en fórmulas matriciales heredadas, le pedí ayuda a la IA de Microsoft Copilot, pues pienso que no hay que ser retrógrado y quedarse obsoleto, sino usar los asistentes personales expertos en Excel, como es la IA que, si se le pregunta, responderá retroalimentando y mejorando nuestras capacidades de formulación y programación. Eso sí, analizando la respuesta de la IA con sentido crítico.

Estas son las consultas que le hice a Copilot en modo pensamiento profundo (Think Deeper):

Las fórmulas generadas por Copilot usan funciones volátiles, como INDIRECTO, que prefiero no usar porque se recalculan siempre. En todas las fórmulas he usado funciones no volátiles...

Por ejemplo, para el nombre definido: filasRepeticiones, la fórmula volátil sería:

=FILA(INDIRECTO("1:" & SUMA(secRepeticiones)))

Por lo que la he convertido a una fórmula no volátil con la función INDICE: 

=FILA(AUX!$A$1:INDICE(AUX!$A:$A;SUMA(secRepeticiones)))

RECOMENDACIÓN: Es fundamental mantener una actitud crítica frente a las respuestas de la IA, lo que implica tener un conocimiento profundo de las funciones de Excel, así como probar y validar las fórmulas que sugiera la IA antes de darlas por buenas.


Etiquetas retro incompatibles

ATENCIÓN: Las etiquetas con los nombres de los países, generadas con los gráficos de dispersión no son visibles en Excel 2010.

En versiones posteriores de Excel se permite seleccionar un rango de datos cualquiera.


A partir de versiones de Excel 2013, se obtienen las etiquetas según el Valor de las celdas seleccionadas con el botón: Seleccionar rango... 

Por ejemplo, se seleccionan los nombres de los países en el rango de la tabla de aranceles:

='Aranceles difusos'!$B$7:$B$25

Pero en Excel 2010 genera error cuando trata de visualizar estas etiquetas:

Siempre muestra como etiqueta el error: [CELLRANGE], por lo que hay que buscar soluciones alternativas a este problema, aunque solamente ocurra este problema en Excel 2010.

A continuación propongo dos workarounds o soluciones alternativas.


Solución con etiquetas en un gráfico superpuesto

Esta solución para Excel 2010 pasa por:

  • Ocultar las etiquetas con errores en los gráficos difusos de barras y columnas.
  • Crear gráficos nítidos de barras y de columnas, ocultando todo excepto las etiquetas.
  • Agrupar los gráficos difusos y nítidos superpuestos para ver las etiquetas nítidas y las barras y columnas difusas.

Este tipo de soluciones son fáciles de implementar si no se puede crear el gráfico combinado de nuestros sueños, por lo que no es la solución definitiva para los gráficos de aranceles difusos en Excel 2010.


Solución con etiquetas en un gráfico combinado

Esta es la mejor solución para Excel 2010, pues se puede hacer con un gráfico combinado:

  • Eliminar la serie del tipo gráfico de dispersión que mostraba las etiquetas.
  • Crear una nueva serie con un gráfico nítido de barras o de columnas agrupadas.
  • Combinar los dos gráficos, colocando en el eje secundario la nueva serie.
  • En el gráfico nítido del eje secundario ocultar todo excepto las etiquetas.
  • Esta solución no precisa datos para las etiquetas, por lo que hay menos nombres definidos implicados.

Este el resultado en Excel 2010 con cualquiera de las dos retro soluciones alternativas propuestas:


Descargas retro difusas

Descarga los gráficos de aranceles con colores difusos, compatibles desde Excel 2010, desde estos enlaces:

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.

Las hojas están protegidas sin contraseña para que sea fácil analizar las fórmulas y los gráficos.

ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Vídeo retro difuso

En este nuevo vídeo explico cómo hice los gráficos retro con colores difusos.


Sígueme si te ha parecido interesante el contenido de este artículo, y me animarás a seguir publicando más retos diseñados en Excel.

Gráficos de aranceles con colores difusos

🔝To translate this blog post to your language, select it in the top left Google box.


Gráficos nítidos vs difusos

Lo normal es crear gráficos en los que los valores de la serie son de un solo color nítido pero, si sigues leyendo, aprenderás unos cuantos trucos para crear gráficos de barras o de columnas con colores difusos, con el gradiente de color proporcional al valor de la serie de datos, como los de esta imagen:

Y dejarás de hacer gráficos convencionales y aburridos, en los que las barras y columnas son siempre del mismo color, sin importar el valor de la serie de datos, como los de esta imagen:


Guerras difusas

La «guerra arancelaria» comenzó en Estados Unidos de América con la segunda presidencia de Donald Trump. El «Día de la Liberación» de los aranceles fue el 2 de abril de 2025, cuando Trump presentó las tablas de aranceles recíprocos, impuestos a los productos importados por USA desde cualquier país del mundo. Lee toda la información en este enlace:

Cuatro días después comenzó la «guerra final» para conseguir visualizar gráficos de barras y columnas de Excel con colores degradados. El 6 de abril de 2025 la presentó roberto mensa, Microsoft Excel MVP italiano, que es el mayor experto que conozco en Visualización de Datos y Generación de Informes. Partió de una idea genial de 刘万祥 (Liu wanxiang), experto chino en visualización de datos con Excel. Lee toda la información en este artículo en inglés:

Hay demasiadas «guerras difusas» en curso en este mundo, para las que no me han pedido opinión.

Si me preguntan, prefiero opinar sobre «guerras de datos» que no matan presuntamente a nadie, por lo que me atrevo a publicar este artículo basado en mi propia «guerra de aranceles difusos con gráficos de Excel en barras y columnas»


Lógica difusa

¿Qué tienen en común los aranceles recíprocos y los gráficos con colores degradados?

¡Que la tabla de aranceles recíprocos se puede visualizar como gráficos con colores degradados!

Una imagen animada vale más que mil palabras.

Estos son los valores originales de la tabla de aranceles, que se han ido degradando con el paso de los días. Aún está por saber si serán aranceles recíprocos y si hundirán la economía global o solamente la yanqui.

Lo que está medianamente claro es que tanto los aranceles como los colores se han degradado, aunque prefiero usar la palabra atenuado, o mejor emplear colores difusos para aranceles difusos, en su acepción de vago, impreciso, indefinido, borroso, que es lo contrario de nítido.

Se puede aplicar la lógica difusa que, a semejanza del raciocinio natural, admite una posibilidad de incertidumbre en la verdad o falsedad de las "proposiciones trampistas", puesto que la tabla original de aranceles recíprocos, presentada por Trump, ya ha sido modificada varias veces sin entrar en vigor ni siquiera un mes.


Aranceles difusos

Sin necesidad de tener instalada la versión más reciente de Excel, puedes comprobar los aranceles difusos directamente en la nube de Microsoft OneDrive, pues son compatibles con Excel para la Web.

Juega con los filtros y la ordenación de la tabla de aranceles, interactuando con los gráficos de barras y columnas.

Para ajustar el zoom en la nube:

  • En el móvil o celular usa dos dedos en la pantalla, como haces para ampliar o reducir una foto.
  • En el PC sitúa dentro el cursor y presiona la tecla <Control> mientras giras la ruleta del ratón.


Descarga difusa

Descarga los gráficos de aranceles con colores difusos, compatibles con Excel para Microsoft 365 y Excel para la Web, desde este enlace:

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.

Las hojas están protegidas sin contraseña para que sea fácil analizar las fórmulas y los gráficos.

ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Vídeo difuso

Con este vídeo podrás tener más claras o más difusas las ideas.


Fórmulas difusas

El trabajo más delicado está en la difusión de las fórmulas de la hoja 'AUX', que he intentado modificar con mucho cuidado para que sean similares a las originales, que fueron explicadas por Roberto Mensa en este artículo en inglés:

Básicamente he añadido una fórmula más para filtrar la tabla de aranceles, usando las mismas fórmulas para las dos series de cada gráfico, tanto para el gráfico de columnas de la versión original, como para el gráfico de barras de esta nueva versión que he desarrollado.


Los datos de aranceles están en la hoja 'Aranceles difusos', dentro de la tabla: Tabla_Aranceles.

En la celda I2 de la hoja 'AUX' está la fórmula que filtra las filas de aranceles de la tabla, con el nombre definido: filasArancelesConFiltro

En la celda G2 está la fórmula de las filas de aranceles sin filtrar, con el nombre definido: filasArancelesSinFiltro, aunque realmente filtra las filas de la tabla con un valor negativo para los aranceles filtrados:


Roberto Mensa es el autor de las siguiente fórmulas que, con su consentimiento, he adaptado para graficar los aranceles difusos.

La fórmula de la celda A2 son los valores del eje horizontal en el gráfico de columnas y los valores del eje vertical en el gráfico de barras, con el nombre definido: filasEje

La fórmula de la celda B2 son los valores de aranceles del eje vertical en el gráfico de columnas y del eje horizontal en el gráfico de barras, con el nombre definido: filasValores

La fórmula en la celda D2 son los valores de los gráficos de dispersión para visualizar las etiquetas con los nombres de los países:

El resto de nombres definidos se muestran en el Administrador de nombres:


Trucos difusos

Truco 1:

Para diseñar los gráficos de aranceles difusos he consultado a la IA cuando me he atascado en un procedimiento. Eso sí, siempre consulto a Microsoft Copilot en modo Pensamiento Profundo (Think Deeper) en lugar de pedirle la respuesta rápida, que suele ser menos acertada.

Respuesta de Microsoft Copilot para obtener filas filtradas de la tabla de aranceles:

Respuesta para poder ordenar la tabla de aranceles en una hoja protegida:

Truco 2:

Los dos gráficos se forman únicamente con una serie de datos de aranceles y otra serie de etiquetas con los nombres de los países.

La serie de datos del gráfico de columnas es de columnas agrupadas y la serie de datos del gráfico de barras es de barras agrupadas.

La serie de etiquetas de los dos gráficos es un gráfico de dispersión.

Truco 3:

Para filtrar los gráficos se hace filtrando la tabla de aranceles, y con las fórmulas de la hoja 'AUX' de las celdas G2 e I2, con los nombres definidos: filasArancelesSinFiltro y filasArancelesConFiltro

Truco 4:

Para ajustar los ejes primario y secundario del gráfico de barras ha hecho falta añadir una fila vacía en la tabla de aranceles. Así se consigue que las etiquetas con los nombres de los países estén alineadas con los valores de las barras de aranceles difusos... Es el truco que más me ha costado resolver...

Truco 5:

Este es el truco principal para crear los gráficos difusos y es una idea del chino 刘万祥 (Liu wanxiang), experto en visualización de datos.

Este truco consiste en utilizar una forma con un color transparente para rellenar el color de las barras y columnas. Elige el color que quieras, elimina la línea del borde y establece la transparencia al 90%.

Para cambiar el color de las series de columnas y barras, hay que desproteger la hoja 'Aranceles difusos'.

En la celda G4 hay un par de formas de ejemplo con dos colores: azul difuso (empleado en el archivo original de Roberto) y rojo difuso (empleado por defecto para los aranceles).

Selecciona una de las formas de color difuso y cópiala con la combinación de teclas: Control + C

A continuación, selecciona la serie de barras o de columnas y pega la forma con la combinación de teclas: Control + V

Con ello habrás conseguido cambiar fácilmente su color difuso, que puedes modificar cambiando directamente el color de la forma a copiar...

Truco 6:

Para obtener colores difusos en las barras, en las opciones del eje primario se marca como: Eje de fecha, marcando además: Fechas en orden inverso

Con lo que se consiguen agrupar los valores de los aranceles como si fueran fechas, con colores proporcionales al valor de la serie de datos.

Para el gráfico de columnas es más fácil obtener colores difusos, pues tanto los valores como las etiquetas están en el mismo eje. Para conseguir colores difusos, el eje horizontal primario también se marca como: Eje de fecha, pero no hay que marcar las Fechas en orden inverso

Truco 7:

En el gráfico de barras, el eje secundario de la derecha son números con un decimal y sirven para mostrar las etiquetas de la izquierda con los nombres de los países, alineadas a las barras según su valor entero...

Truco 8:

Para hacer que el color de las barras y columnas sea más o menos difuso, se usa el valor de la celda Aranceles!H3 entre 5 y 25, siendo más oscuro cuanto mayor sea ese valor.


Barras difusas

El gráfico de barras difusas es el que más me ha costado hacer, sobre todo para alinear las etiquetas de los nombres de los países con las barras de valores de aranceles. Este es el resultado:


Columnas difusas

El gráfico de columnas difusas es similar al publicado por Roberto Mensa, aunque con porcentajes de aranceles difusos por país. Este es el resultado:


Reto difuso

Mi próximo reto aún está difuso, pues no se si será un objetivo alcanzable modificar las fórmulas de Roberto Mensa, hechas con las versiones más recientes de Excel, para que sean compatibles con versiones anteriores de Excel, y así poder disfrutar de estos gráficos difusos en más versiones de Excel.

Continuará si consigo superar este reto difuso...


Retro reto conseguido

Anuncio que he conseguido superar el reto de hacer un gráfico con colores difusos, compatible con versiones a partir de Excel 2010.

El reto lo he publicado en el siguiente artículo:

Con ese reto he pretendido que, aunque tengas versiones retro de Excel, puedas beneficiarte de los gráficos con colores difusos, diseñados con una única serie de barras o de columnas.

Gracias por confiar en la superación de mis retos en Excel.

Cómo crear hipervínculos inteligentes con fórmulas

🔝To translate this blog post to your language, select it in the top left Google box.


Inteligencia Artificial errónea

Ahora que está tan de moda la Inteligencia Artificial (IA) con minúsculas, no hay que olvidar que su origen está en la INTELIGENCIA NATURAL (IN), con mayúsculas...

En Excel hay un problema para crear hipervínculos inteligentes, que no generen error al hacer clic en el enlace generado por el hipervínculo si no existe el enlace a un archivo...

Le he preguntado a la IA si se puede saber si un archivo existe usando solamente fórmulas, ¿¡y me ha dicho que sí!?

Pregunta a la IA:

Cómo usar la función HIPERVINCULO en Excel para detectar si un archivo existe, pero solamente con fórmulas, sin código VBA.

Respuesta de la IA:

Entiendo. Aunque es un poco más complicado sin VBA, puedes usar una combinación de fórmulas y el manejo de errores en Excel para lograr algo similar. Aquí te dejo una solución basada en fórmulas que podría ayudarte:

1. Primero, necesitas definir una ruta de archivo en una celda. Por ejemplo, en `A1` coloca la ruta del archivo, como `C:\Ejemplo\archivo.txt`.

2. Después, usa una combinación de funciones para verificar si el archivo existe y crear el hipervínculo. Desafortunadamente, Excel no tiene una función nativa para verificar la existencia de un archivo, pero puedes usar una fórmula que intenta abrir el archivo y maneja el error si no se puede abrir.

=SI.ERROR(HIPERVINCULO(A1; "Abrir archivo"); "Archivo no encontrado")

Esta fórmula intenta crear un hipervínculo basado en la ruta en `A1`. Si no puede hacerlo (porque el archivo no existe), muestra "Archivo no encontrado".

Es importante tener en cuenta que esta fórmula funciona solo si el archivo existe y es accesible desde la ruta proporcionada. Si necesitas una verificación más robusta, VBA sería la mejor opción, pero esta fórmula puede ayudarte en muchos casos.

¿Hay algo más en lo que pueda asistirte? 😊

Esta fórmula no es válida, pues la fórmula no dispara ningún error, sin importar que el archivo realmente no esté disponible en esa ruta. Solo se sabe si existe o no existe el archivo a posteriori, después de hacer clic en el enlace generado por el hipervínculo.


Think Deeper (Pensamiento Profundo) de Microsoft Copilot

Desde hace 2 meses se le puede pedir a la IA de Microsoft Copilot que piense más profundamente (Think Deeper). Su respuesta está en este enlace:

La respuesta de la IA es clara, solo cuando intentas usar el enlace generado con fórmulas (haciendo clic en él) es cuando Excel podría mostrar un error en caso de que el archivo no esté disponible.

Lo que quiere decir es que no nos podemos quedar con la primera respuesta dada por la IA, sino ser críticos y probar la respuesta antes de darla por buena. Y mejor, preguntarle a una IA más evolucionada la misma pregunta, pues difieren totalmente las respuestas.

En la respuesta con pensamiento profundo del enlace anterior, indica una alternativa usando la función INDIRECTO dentro de la fórmula:

=SI(ESERROR(INDIRECTO("'C:\Ruta\Archivo.xlsx'!Hoja1!A1")); "No existe o está cerrado"; "Existe y está abierto")

Este método tiene dos limitaciones importantes:

  1. El archivo referenciado debe ser un archivo Excel y estar abierto. Si está cerrado, INDIRECTO no puede obtener la referencia y devolverá un error, aunque el archivo exista.
  2. No se está usando la función HIPERVINCULO. Es una estrategia diferente para tratar de "comprobar" el archivo mediante la obtención de datos de él.

La solución para detectar la existencia de archivos, tanto si son Excel como si no, pasa por usar:

  • Macros en VBA: Permiten un acceso directo al sistema de archivos y una verificación precisa.
  • Power Query: Permite listar archivos de una carpeta para luego usar fórmulas y determinar si un archivo está presente, aunque implica configurar una consulta externa, que no vamos a implementar, pues se sale de los límites planteados en este artículo.
  • Macros de Excel 4.0: Esta otra alternativa no la da la IA. No son macros VBA, sino unas macros más antiguas que se programan como fórmulas, por lo que a efectos prácticos sería la solución buscada inicialmente con fórmulas.


¿Cómo crear hipervínculos inteligentes en Excel?

Para crear hipervínculos inteligentes hace falta ser inteligente y/o consultar un foro de Excel:

No se pueden usar las respuestas de la IA sin haberlas probado concienzudamente.

Tampoco se puede aceptar sin probar la documentación de Soporte de Microsoft Excel, que suele incluir errores u omisiones, como explicamos en el enlace anterior al foro de Excel.

Lo más inteligente es probar las respuestas que entrega la IA para ver, en este caso, si son la solución al problema de crear hipervínculos inteligentes en Excel.

En la columna A está el nombre y el tipo de archivo.

En esta imagen hay 5 alternativas dadas por la IA y solamente dos de ellas son correctas para detectar si existe el archivo con la función HIPERVÍNCULO:

  • Columna B: Fórmula normal, que genera el enlace aunque no exista el archivo:

    =HIPERVINCULO(miRuta&[@Archivo];"Enlace "&[@Archivo])

  • Columna C: Fórmula con la función SI.ERROR, que no detecta si existe el archivo y siempre genera el enlace al archivo:

    =SI.ERROR(HIPERVINCULO(miRuta&[@Archivo]; "Enlace "&[@Archivo]); "No existe "&[@Archivo])

  • Columna D: Fórmula con la función SERVICIOWEB, que siempre indica que no existe el archivo:

    =SI(ESERROR(SERVICIOWEB(URLCODIF("file:///" & miRuta&[@Archivo])));"No existe "&[@Archivo];"Enlace a "&[@Archivo])

  • Columna E: Fórmula que llama a una UDF con macros VBA, que detecta la existencia del archivo:

    =HIPERVINCULO(miRuta&[@Archivo];SI(DetectarArchivo(miRuta&[@Archivo]);"Enlace a "&[@Archivo];"No existe "&[@Archivo]))

  • Columna F: Fórmula con una macro de Excel 4.0, que detecta la existencia del archivo:

    =HIPERVINCULO(miRuta&[@Archivo];SI(SI.ERROR(COINCIDIR([@Archivo];misArchivos;0);0)>0;"Enlace a "&[@Archivo];"No existe "&[@Archivo]))

Las únicas fórmulas correctas son las de las columnas E y F.


Detección de archivos con macros VBA

En la columna E se llama a una función UDF de macro VBA:


Detección de archivos con macros de Excel 4.0

En la columna F se usa el nombre definido misArchivos para buscar si existe un determinado archivo entre todos los archivos de una carpeta definida por el nombre definido miRuta.

misArchivos: =TRANSPONER(ARCHIVOS(miRuta&"\*")) 

Siendo la función ARCHIVOS una macro de Excel 4.0, que fue anterior a las macros VBA, pero que aún funcionan en todas las versiones de Excel.

Lee más información creada por la IA de esta función en el siguiente enlace:

Por lo que las fórmulas que llaman a las funciones con macros de Excel 4.0 son las que detectan la existencia de los archivos antes de hacer clic en el enlace generado por el hipervínculo

Con esta solución alternativa no es necesario programar en VBA, ¡y se usan solamente fórmulas!, que fue la premisa de la consulta que se le hizo inicialmente a la IA y para la que la IA no dio una respuesta acertada.


Descarga los hipervínculos inteligentes

Descarga los hipervínculos inteligentes desde este enlace:

Las macros del archivo descargado están bloqueadas por defecto. Para desbloquear las macros debes modificar las Propiedades del archivo siguiendo estas instrucciones:

Las macros de Internet están bloqueadas de forma predeterminada en Office - Deploy Office | Microsoft Learn

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.

Presiona el botón: Habilitar contenido cuando aparezca la ADVERTENCIA DE SEGURIDAD Las macros se han deshabilitado o se deshabilitó parte del contenido activo.

Las macros VBA no están protegidas, por lo que puedes analizarlas. La hoja no está protegida con contraseña.

ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Video para crear hipervínculos inteligentes

En este vídeo explico cómo crear hipervínculos inteligentes.

Puede que algún día la IA indexe este artículo y sepa responder, ¡con conocimiento de causa!, cómo crear hipervínculos inteligentes con fórmulas de Excel, ¡aunque sean fórmulas antiguas!...

Cuartos cambios en el Control Horario

🔝To translate this blog post to your language, select it in the top left Google box.


Los 3 primeros cambios en el Control Horario, de un amigo funcionario para que "el copiar y pegar se va a acabar", los tienes aquí:

Todos esos cambios tienen una característica común:

Con estos cuartos y últimos cambios he ajustado algunas de las 4.308 fórmulas del libro, y explicaré cómo funciona cualquiera de las 4 versiones del Control Horario en Excel para la Web, sin la necesidad de tener instalado Excel, y con solo crear una cuenta gratuita en esta página:

Con dicha cuenta podrás acceder a las versiones web y móvil de aplicaciones como Word, Excel, PowerPoint, Outlook y OneDrive, con 5 GB de almacenamiento en la nube. Excel para la Web no trabaja con macros VBA, pero incluye todas las funciones más actualizadas de Microsoft 365, con lo que sirven para aprender a usarlas en las fórmulas de Excel. Y ya sabes que la mejor manera de aprender es practicando...


Cuartos cambios en el Control Horario

Al abrir el Control Horario en Excel para la Web, tenemos acceso a toda la funcionalidad del registro de horas de cualquier tipo de jornada, y se añade una funcionalidad muy importante, que luego explicaré. Este es el resultado:

En las hojas de cada mes '2025mm' (siendo mm: mes en 2 cifras) y en la hoja 'HORARIO' he insertado la hora actual, para que no te despistes, aunque en Excel para la Web no se puede actualizar la hora presionando la tecla <F9>, sino en la cinta de opciones seleccionando: Fórmulas > Calcular libro

De todos modos, la hora actual se actualiza cuando se edita cualquier celda de cualquier hoja, sin hacer nada más.

En la hoja 'HORARIO' la fecha y hora actuales están en el rango B8:B11 y en la celda B13, respectivamente. Con la flecha de la celda B7 se puede ir al día actual para registrar las horas de hoy mismo.

En las hojas de cada mes, la hora actual está en la celda Q2. Con la flecha de la celda R2 se puede ir al día de hoy.

El valor de la celda Q2 se puede copiar y pegar en cualquiera de las 3 horas de entrada y salida, para poder registrar fácilmente la hora actual del día de hoy, en vivo y en directo, por ejemplo para iniciar, pausar, reiniciar o finalizar inmediatamente una jornada de teletrabajo.


Control Horario en la nube

Hay grandes ventajas de tener el Control Horario en la nube de Microsoft OneDrive:

1) Acceder con Excel para la Web desde un navegador o un móvil o celular.

2) Compartir los registros horarios con tu jefe o con tu empresa o con el Ministerio de Trabajo español.

3) Auditar los cambios en los registros horarios, verificando la fecha y hora de los cambios.

4) Intentar cumplir las leyes estatales sobre el registro de horas diarias de cualquier empleado.

Por ejemplo en España se quiere implantar este año un nuevo registro horario digital, a la vez que se reducirá la jornada semanal a un máximo de 37,5 horas aunque, como mi amigo funcionario ya disfruta de esas horas, seguro que exige jornadas reducidas de 35 horas a la semana. Pero, si yo fuera él, pediría directamente 32 horas semanales, para ir a la oficina 4 días de 8 horas. ¡Por pedir que no quede!

Con el registro horario digital se pretende erradicar el fraude en las horas extra no remuneradas y garantizar que todos los trabajadores tengan un control claro y accesible de su jornada laboral.

¿Por qué no comienzas usando mi Control Horario para saber cuántas horas extras dejas de cobrar?


Control Horario compartido

Lo que no puedo hacer es insertar en este blog el Control Horario interactivo, en modo prueba para quienes no tengan Excel, pues ya denuncié al Soporte de Microsoft OneDrive el problema que tienen en este artículo:

De todos modos, inserto aquí mi Control Horario para que lo pruebes, aunque no puedas registrar las horas.

Cópialo con el botón de abajo a la derecha y compártelo en tu nube de OneDrive, desde donde podrás usarlo en tu día a día, y estará totalmente operativo si lo abres en Excel para la Web.

Navega dentro de este Excel para la Web insertado en mi blog.

Para ajustar el zoom en la nube:

  • En el móvil o celular usa dos dedos en la pantalla, como haces para ampliar o reducir una foto.
  • En el PC sitúa dentro el cursor y presiona la tecla <Control> mientras giras la ruleta del ratón.

Insisto que no puedo personalizar esta vista, porque desde hace unos meses hay un problema en el Código para insertar, ya que es erróneo el código generado por MS OneDrive, pues no incluye ninguna referencia al archivo a insertar, generando un origen indefinido: src="?

Este problema no permite la Interacción, con lo que no se consigue: Permitir que los usuario escriban en las celdas, que es la interacción que sirve para probar los archivos sin tener instalado Excel.

¡Imposible mientras Microsoft no arregle este problema de la personalización de Excel en OneDrive! ¡Tenemos para rato!


Descarga el Control Horario

Descarga los cuartos cambios del Control Horario y pruébalo, tanto en Excel de escritorio como en Excel para la Web desde cualquiera de estos enlaces:

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.

Las hojas están protegidas sin contraseña para que sea fácil analizar las fórmulas y los formatos condicionales.

ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Vídeo: Control Horario en Excel para la Web

He añadido la hora actual al Control Horario, lo que me sirve de excusa para explicar las ventajas de usarlo en Excel para la Web.


Cómo funciona el Control Horario en Excel para la Web

Se define el mes en el nombre de la hoja, para poder ir a la hoja de un mes determinado mediante hipervínculos. El nombre de las hojas de meses está definido por: 2025mm, siendo mm: las 2 cifras del mes.

En Excel de escritorio se puede leer el nombre de las hojas para determinar a que mes corresponde cada hoja, pero eso no es posible en Excel para la Web, por lo que hay que editar los valores de Año y Mes en cada hoja de mes, en las celdas C40 y E40, respectivamente, que solamente son visibles en Excel para la Web.

En la imagen se ve la hoja '202504' del mes de abril de 2025.

AVISO: Si se modifican el Año o el Mes, en las celdas C40 y E40, será erróneo si no coinciden con el nombre de la hoja del mes.

Las dos celdas anteriores están ocultas en Excel de escritorio, gracias a los nombres definidos en el Administrador de nombres, que se puede abrir desde la cinta de opciones: Fórmulas > Administrador de nombres

La lectura del nombre de la hoja y del archivo se hace con la función CELDA, que hay que llamarla con un nombre definido en el Administrador de nombres. Esta función devuelve un valor en Excel de escritorio pero devuelve un error en Excel para la Web.

A la derecha se muestra el aspecto del Administrador de nombres en Excel para la Web.

Hacen falta los siguientes nombres definidos:

Nombre_Ruta: =CELDA("filename";!$A$1)

En Excel de escritorio devuelve la ruta completa del archivo y el nombre de la hoja, llamada con el primer argumento en inglés "filename", que sirve para cualquier idioma de Excel, y el segundo argumento con referencia absoluta a la celda A1 de cualquier hoja, pues se ha añadido antes un signo de admiración: !$A$1

Ejemplo devuelto en mi Excel de escritorio:

C:\Users\Pedro Wave\Downloads\Desarrollo\Calculadoras\[Control Horario - PW4.xlsx]202504

En Excel para la Web devuelve error. 

Nombre_Hoja1: =EXTRAE(Nombre_Ruta;ENCONTRAR("]";Nombre_Ruta;1)+1;100)

En Excel de escritorio extrae el nombre de la hoja del nombre de la ruta.

Nombre_Hoja0: =miAño & TEXTO(COINCIDIR(miMes;misMeses;0);"00")

En Excel para la Web obtiene el nombre de la hoja, formado por el año y el mes de las celdas B40 y D40.

Nombre_Hoja: =SI.ERROR(Nombre_Hoja1;Nombre_Hoja0)

Obtiene el nombre de la hoja, tanto en Excel de escritorio como en Excel para la Web.

miDía1: =SI.ERROR(SI(LARGO(Nombre_Hoja)<>6;NOD();FECHA(--IZQUIERDA(Nombre_Hoja;4);--EXTRAE(Nombre_Hoja;5;2);1));FECHA(2000;1;1))

Con esta fórmula se obtiene el primer día del mes, tanto en Excel de escritorio como en Excel para la Web.

Si el nombre de la hoja no tiene el formato correcto, devuelve el 1 de enero de 2000.

Nombre_Archivo1: =EXTRAE(Nombre_Ruta;ENCONTRAR("[";Nombre_Ruta)+1;ENCONTRAR("]";Nombre_Ruta)-ENCONTRAR("[";Nombre_Ruta)-1)

En Excel de escritorio extrae el nombre del archivo del nombre de la ruta.

Nombre_Archivo0: =CONTROL!$AC$3

En Excel para la Web obtiene el nombre del archivo, escrito en la celda AC3 de la hoja 'CONTROL'.

Nombre_Archivo: =SI.ERROR(Nombre_Archivo1;Nombre_Archivo0)

Obtiene el nombre del archivo, tanto en Excel de escritorio como en Excel para la Web.


Próximos cambios en el Control Horario

IMPORTANTE: En España se deben conservar los registros diarios de la jornada y las horas realizadas a través de cualquier medio que garantice su preservación, fiabilidad e inalterabilidad. Deben ser conservados, como mínimo, durante un periodo de cuatro años, lo que es posible guardándolos en Microsoft OneDrive y abriéndolos en Excel para la Web, como he explicado en este artículo.

Estoy pensando en si habrá más cambios en mi Control Horario, pero lo que sí tengo claro es que no lo decidiré yo, si no algún funcionario que se aburra, o algún político de diferente signo, que quiera cambiar la ley del Control Horario Digital.

Desde hoy puedes comenzar a registrar las horas con mi Control Horario. Eso sí, mi amigo funcionario no está obligado por ley a usar ningún Control Horario Digital, por lo que no cambiarán sus rutinas y seguirá usando su hoja de cálculo, que puedes ver aquí.

ACTUALIZACIÓN: Mi amigo funcionario me ha alegrado el día, pues me ha dicho que está registrando sus horas de abril con los Segundos cambios en el Control Horario, que a él le basta con poder meter una jornada de 7,5 horas de lunes a viernes, sin tener que copiar y pegar los meses del año, pues ya están creados.

Mi lista de blogs