Volver al Blog
Hipervínculos
Excel
Rutas de Archivo
Función HIPERVINCULO
Auditoría

Todos los Enlaces del Registro de Contratos Seguían Haciendo Clic, Cuatro No Habían Funcionado Jamás, y Ninguna Fórmula de la Hoja Podía Ver Un Solo Destino

15/09/2026
Todos los Enlaces del Registro de Contratos Seguían Haciendo Clic, Cuatro No Habían Funcionado Jamás, y Ninguna Fórmula de la Hoja Podía Ver Un Solo Destino

Resumen Rápido

Puntos clave de este artículo

  • 🔗 Un hipervínculo de Ctrl+K es un objeto pegado a una celda, no un valor dentro de ella — la celda solo guarda el texto visible, así que =CONTAR.SI(D2:D21;"X:\*") devuelve 0 en un registro donde quince destinos empiezan por X:\, y Buscar y reemplazar no llega a ninguna dirección
  • 💥 Quince de veinte enlaces — 3.626.334,95, el 90,53% de un registro de 4.005.800,15 — murieron el fin de semana en que se movió la unidad, porque una ruta absoluta nombra una letra de unidad y una letra de unidad es una asignación por máquina, no un lugar
  • 🚫 Cuatro enlaces con una # en el nombre del archivo no habían funcionado en tres años: Excel lee el texto posterior a una # como un marcador dentro del destino, así que la dirección guardada para Bramwell Hire #3 Schedule.pdf termina en el espacio anterior al 3 — 540.557,15 detrás de enlaces que fallaron el día que se crearon
  • 🎲 Los únicos cinco enlaces que sobrevivieron son los cinco guardados en relativo, y sobrevivieron por suerte, no por diseño: ..\Contracts\ se volvió a resolver contra la nueva carpeta padre porque la migración mantuvo la forma de las carpetas — cambia la forma y mueren también
  • 👻 Un enlace superviviente muestra Ingleby Scaffold Rev C.pdf y abre Rev A.pdf: el texto visible y el destino son independientes, editar uno nunca toca al otro, y una deriva entre ambos no da error jamás — cuatro enlaces de veinte abren el documento que nombra la celda, 325.595,20, el 8,13%
  • 🧮 =HIPERVINCULO() pone el destino en una fórmula en lugar de en un objeto, y esa es toda la diferencia: se arrastra, se recalcula, FORMULATEXTO puede auditarlo, y una migración se convierte en una sola edición de la celda raíz desde la que se construyen todas las direcciones
Tiempo de lectura: ~28 min

El registro vive en X:\Legal\Register\Contract Register.xlsx. Veinte filas, una por contrato firmado, 4.005.800,15 de gasto comprometido, y en la columna C el nombre del PDF firmado con un hipervínculo de Ctrl+K encima para que cualquiera abra el contrato de un clic. Llevaba tres años funcionando así.

En un fin de semana, Informática retiró la unidad X: y lo movió todo a SharePoint.

Lo que muestra la hojaLo que guardan los enlaces
Contratos listados2020
Celdas con enlace2020
Texto visible acabado en .pdf2020
Total del registro4.005.800,154.005.800,15
Direcciones que empiezan por X:\0 que pueda ver una fórmula15
Direcciones que abren algo tras la mudanza5
Direcciones que abren el documento que nombra la celda4
Direcciones que no funcionaron nunca, en tres años4

Nada del libro cambió. Nadie editó una celda. Todas las comprobaciones que alguien sabía hacer siguieron pasando, porque todas las comprobaciones que alguien sabía hacer leen valores de celda, y lo que se rompió no es un valor de celda.

Un hipervínculo hecho con Ctrl+K no está en la celda. Es un objeto de la colección de hipervínculos de la hoja, anclado a una celda, con una dirección propia. La celda guarda un texto — Ashdown MSA 2024.pdf — y ese texto es todo lo que una fórmula, un filtro, un criterio de orden o Buscar y reemplazar podrán leer jamás. La dirección que hay detrás está en otra estructura distinta, y Excel te da exactamente una forma de mirarla: clic derecho en una celda, Modificar hipervínculo, leer el cuadro, cerrar, y repetir diecinueve veces.

Qué cubre esto. Todo lo de aquí se comporta igual en Excel 2016, 2019, 2021, 2024, Microsoft 365 y Excel para Mac, con dos excepciones que se señalan donde aparecen: TEXTOANTES y TEXTODESPUES son solo de 365 y 2024, y FORMULATEXTO necesita 2013 o posterior. HIPERVINCULO, LARGO, IZQUIERDA, DERECHA, EXTRAE, ENCONTRAR, HALLAR, SUSTITUIR, ESPACIOS, REPETIR, CONTARA, CONTAR.SI, CONTAR.SI.CONJUNTO, SUMAR.SI.CONJUNTO, SUMAPRODUCTO, SI.ERROR, SI.ND, BUSCARX, INDICE/COINCIDIR, UNICOS, FILTRAR, ORDENAR, SI, CAMBIAR, ESNUMERO y LET se usan tal como funcionan en todas partes. Un registro de contratos es el ejemplo porque el valor que hay detrás de cada enlace está escrito en la misma fila, pero es el mismo trabajo que un índice de planos, una biblioteca de políticas, un registro de acciones correctivas, una lista de expedientes, un archivo fotográfico o cualquier hoja cuya función sea ser el sitio desde el que se hace clic.


1) El Enlace No Está en la Celda

Selecciona C2 y mira la barra de fórmulas. Dice Ashdown MSA 2024.pdf. Eso es todo el contenido de la celda: dieciocho caracteres de texto, sin fórmula, sin nada más.

El subrayado azul lo dibuja un objeto aparte. En el formato de archivo es una entrada de relación con tres partes que importan — la dirección (adónde ir), la subdirección (dónde aterrizar dentro del destino) y el texto visible (lo que muestra la celda) — más una sugerencia emergente opcional. Solo la tercera es el valor de la celda. Las dos primeras no se guardan en ninguna celda, no las devuelve ninguna función, y no las busca nada del cuadro Buscar, cuya lista «Buscar en» ofrece Fórmulas, Valores y Comentarios y nunca ha ofrecido hipervínculos.

Esto no es una curiosidad para archivar. Es la razón por la que un registro de doscientos enlaces no se puede reapuntar con Buscar y reemplazar, no se puede auditar con CONTAR.SI, no lo puede revisar nadie leyendo la hoja, y no puede avisarte de que está roto hasta que alguien hace clic.

en la hoja real, donde la columna C lleva los enlaces:
=CONTAR.SI($C$2:$C$21;"X:\*")     → 0     quince destinos empiezan por X:\
=CONTAR.SI($C$2:$C$21;"*.pdf")    → 20    pero el texto visible está intacto
=CONTARA($C$2:$C$21)              → 20    todas las celdas tienen algo dentro

El primer resultado merece un momento. Quince de estos enlaces apuntan a una unidad que ya no existe, y la fórmula escrita para encontrar exactamente eso devuelve cero — no porque la fórmula esté mal, sino porque está leyendo una cosa distinta de la que está rota.

El Registro de Contratos, Con la Colección de Hipervínculos Impresa al Lado

Veinte contratos firmados por valor de 4.005.800,15, guardados en X:\Legal\Register\Contract Register.xlsx, con un hipervínculo de Ctrl+K en cada fila hacia el PDF. Las columnas A, B, C y F son el registro tal como aparece en pantalla. La columna E no es una columna del libro real: es lo que la colección de hipervínculos de la hoja guarda para cada celda de la columna C, volcado aquí para que puedas leerlo, porque en la hoja real esas direcciones son invisibles para toda fórmula, para Buscar y reemplazar y para el ojo. Quince direcciones son absolutas y empiezan por X:\, cinco son relativas y empiezan por ..\, y cuatro de las quince llevan una # en el nombre del archivo. La columna D es el texto visible, que es un valor de celda normal y lo único que cualquier fórmula de esa hoja puede ver. La fila 9 es la fila donde ambos discrepan: la celda dice Rev C y la dirección dice Rev A. Todas las cifras del artículo salen de esta tabla.

ABCDEF
1
Ref
Supplier
Document (the cell text)
Address the hyperlink holds
Stored as
Value
2
CTR-2201
Ashdown Civils
Ashdown MSA 2024.pdf
X:\Legal\Contracts\Ashdown MSA 2024.pdf
Absolute
184000
3
CTR-2202
Bramwell Plant Hire
Bramwell Hire #3 Schedule.pdf
X:\Legal\Contracts\Bramwell Hire #3 Schedule.pdf
Absolute
46250.75
4
CTR-2203
Calderbank Surveying
Calderbank SOW.pdf
..\Contracts\Calderbank SOW.pdf
Relative
28900
5
CTR-2204
Denhurst Steel
Denhurst Supply 2024.pdf
X:\Legal\Contracts\Denhurst Supply 2024.pdf
Absolute
312480.4
6
CTR-2205
Eastvale Groundworks
Eastvale NEC4 Option A.pdf
X:\Legal\Contracts\Eastvale NEC4 Option A.pdf
Absolute
975300
7
CTR-2206
Fenwick Traffic
Fenwick TM Framework.pdf
..\Contracts\Fenwick TM Framework.pdf
Relative
67415.2
8
CTR-2207
Garrowby Piling
Garrowby Piling #2.pdf
X:\Legal\Contracts\Garrowby Piling #2.pdf
Absolute
208650
9
CTR-2208
Halverton M&E
Halverton MEP 2025.pdf
X:\Legal\Contracts\Halverton MEP 2025.pdf
Absolute
441220.6
10
CTR-2209
Ingleby Scaffold
Ingleby Scaffold Rev C.pdf
..\Contracts\Ingleby Scaffold Rev A.pdf
Relative
53870
11
CTR-2210
Jarrow Concrete
Jarrow Ready Mix.pdf
X:\Legal\Contracts\Jarrow Ready Mix.pdf
Absolute
129405.85
12
CTR-2211
Kelbrook Fencing
Kelbrook Fencing.pdf
X:\Legal\Contracts\Kelbrook Fencing.pdf
Absolute
19640
13
CTR-2212
Lindow Drainage
Lindow Drainage #1.pdf
X:\Legal\Contracts\Lindow Drainage #1.pdf
Absolute
88315.5
14
CTR-2213
Marsden Roofing
Marsden Roofing 2024.pdf
..\Contracts\Marsden Roofing 2024.pdf
Relative
156700
15
CTR-2214
Northgate Glazing
Northgate Glazing.pdf
X:\Legal\Contracts\Northgate Glazing.pdf
Absolute
274890.25
16
CTR-2215
Oakmere Landscaping
Oakmere Soft Landscape.pdf
X:\Legal\Contracts\Oakmere Soft Landscape.pdf
Absolute
41255
17
CTR-2216
Penhale Electrical
Penhale LV #4.pdf
X:\Legal\Contracts\Penhale LV #4.pdf
Absolute
197340.9
18
CTR-2217
Quarrydale Haulage
Quarrydale Haulage.pdf
..\Contracts\Quarrydale Haulage.pdf
Relative
72580
19
CTR-2218
Rainsford Joinery
Rainsford Joinery Rev B.pdf
X:\Legal\Contracts\Rainsford Joinery Rev B.pdf
Absolute
63925.4
20
CTR-2219
Stainforth Cladding
Stainforth Cladding 2025.pdf
X:\Legal\Contracts\Stainforth Cladding 2025.pdf
Absolute
528170
21
CTR-2220
Tarnbrook Utilities
Tarnbrook Utilities.pdf
X:\Legal\Contracts\Tarnbrook Utilities.pdf
Absolute
115490.3

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

🎯 Escenario: Allí donde un enlace de Ctrl+K sea el sentido de la hoja, pon también la dirección en una columna real como texto, aunque nunca la muestres. Una columna que puedes leer es una columna que puedes CONTAR.SI, ordenar, comparar con la del mes pasado y entregar a otra persona. Un objeto que no puedes leer es un riesgo que informa de su estado únicamente fallando delante de alguien.


2) Todas las Comprobaciones Pasaron, y Ninguna Podía Fallar

El registro se revisó el lunes siguiente a la migración, por alguien sensato, de tres maneras.

«¿Siguen estando los veinte contratos?» =CONTARA($A$2:$A$21) devuelve 20, =CONTARA(UNICOS($A$2:$A$21)) devuelve 20, y el total del registro =SUMA($F$2:$F$21) devuelve 4.005.800,15, que cuadra al céntimo con el libro de compromisos. Ninguno de estos números podía haberse movido, porque la migración tocó una unidad de red y no un libro.

«¿Tiene cada fila su documento?» =CONTAR.SI($C$2:$C$21;"*.pdf") devuelve 20. También garantizado: el texto visible es una cadena que se escribió una vez en 2023 y no se ha tocado desde entonces. Seguiría devolviendo 20 si se hubieran borrado todos los PDF de la empresa.

«¿Se ven bien los enlaces?» Se ven exactamente como en 2023 — azules, subrayados, bien nombrados, en el orden correcto. El aspecto de un hipervínculo lo marca el estilo de la celda, y el estilo no tiene ninguna conexión con que la dirección resuelva. Un enlace muerto y uno vivo son idénticos píxel a píxel hasta que se hace clic.

Así que las tres comprobaciones dijeron que el registro estaba bien, y el registro era inservible en un 90,53%. La distancia no es un fallo de diligencia. Todas las preguntas que se hicieron eran preguntas sobre los valores de la columna C, y lo que se rompió no tiene ningún valor en la columna C.

🎯 Escenario: Cuando una comprobación no puede fallar, no es una comprobación. Antes de fiarte de una, pregúntate qué resultado la haría fallar y si ese resultado es siquiera alcanzable — un CONTARA sobre una columna de texto escrita hace tres años es aritmética sobre una constante, no verificación.


3) La Letra de Unidad Que Nunca Fue un Sitio

Quince de las veinte direcciones tienen esta pinta:

X:\Legal\Contracts\Eastvale NEC4 Option A.pdf

X: no es un lugar. Es un nombre que tu máquina ha acordado, en privado, usar para un lugar — una asignación hecha por un script de inicio de sesión, una preferencia de directiva de grupo o el clic derecho de alguien, y hecha de forma independiente en cada máquina. Dos personas pueden abrir el mismo registro y un enlace funcionarle a una y a la otra no, sin ninguna diferencia en el archivo, y eso siempre fue cierto de este registro; la migración solo lo volvió uniformemente falso.

EnlacesValorPorción del registro
Absolutos, bajo X:\Legal\Contracts\153.626.334,9590,53%
Relativos, bajo ..\Contracts\5379.465,209,47%
Registro204.005.800,15100%

El mayor de todos es CTR-2205, con 975.300,00 — un contrato de movimiento de tierras en NEC4 Opción A, el documento que necesitas en la mano cuando se discute el coste objetivo, detrás de un enlace que ahora dice No se puede abrir el archivo especificado.

Hay tres formas de escribir dónde está un archivo, y solo una de ellas es un hecho sobre el mundo:

  • X:\Legal\Contracts\… — una letra de unidad. Por máquina, por sesión, distinta en silencio para cada persona.
  • \\greenfell-fs01\Legal\Contracts\… — una ruta UNC. La misma cadena significa el mismo sitio desde cualquier máquina de la red, que es por lo que este mismo registro escrito así habría sobrevivido hasta la retirada del propio servidor.
  • https://greenfell.sharepoint.com/sites/Legal/Contracts/… — una URL. La misma cadena significa el mismo sitio desde cualquier parte, teléfonos y gente de fuera del edificio incluidos, y es en lo que deberían haberse convertido las direcciones.

🎯 Escenario: Busca ":\" en tus propios registros antes de que migre nada. Cada resultado es un enlace cuya corrección depende de una asignación que no controlas y no ves. Cambiar una letra de unidad por una ruta UNC es un buscar y reemplazar de una tarde; descubrir el problema como lo descubrió este equipo cuesta un fin de semana y cien llamadas.


4) Los Cuatro Que No Funcionaron Nunca

Cuatro nombres de archivo de este registro llevan una #:

Bramwell Hire #3 Schedule.pdf        46.250,75
Garrowby Piling #2.pdf              208.650,00
Lindow Drainage #1.pdf               88.315,50
Penhale LV #4.pdf                   197.340,90
                                    ----------
                                    540.557,15     13,49% del registro

En un hipervínculo, # es el carácter que separa el destino de una ubicación dentro del destino — el separador de marcador. Es lo que hace que Informe.xlsx#Hoja2!A1 signifique «abre Informe.xlsx y ve a Hoja2!A1», y es como un enlace a una página web salta a un encabezado. Excel parte la dirección en la primera # y mete todo lo posterior en la subdirección, y lo hace pretendieras o no un marcador.

Así que el enlace de CTR-2202 no guarda lo que parece guardar:

Lo que se escribióX:\Legal\Contracts\Bramwell Hire #3 Schedule.pdf
Dirección guardadaX:\Legal\Contracts\Bramwell Hire
Subdirección guardada3 Schedule.pdf
Qué pasa al hacer clicExcel busca un archivo llamado Bramwell Hire y no lo encuentra

Ese enlace no ha abierto nada nunca. Los otros tres tampoco. Se crearon en 2023, fallaron el día que se crearon, y en tres años nadie reportó ninguno, por una razón que conviene decir en voz alta: el mensaje que muestra Excel para una ruta cortada es el mismo que muestra para un archivo sin permisos, para un archivo que alguien ha movido y para un servidor caído. En una unidad compartida esas cuatro cosas son el tiempo que hace. Te encoges de hombros, se lo pides a quien te lo mandó, recibes el PDF por correo, y no se te pasa por la cabeza ni una vez que el registro te esté mintiendo.

El arreglo es codificar el carácter en lugar de dejarlo: %23 en vez de # en la dirección, que Excel vuelve a convertir en una # literal al abrir el archivo. Mejor aún, renombra el archivo — una # en un nombre de archivo es una mina pequeña para todos los sistemas que manejan URLs, no solo para Excel.

🎯 Escenario: Haz una búsqueda de # en todos los nombres de archivo de cualquier carpeta a la que enlace un libro, y hazla hoy y no el día de la migración. Lo mismo vale para %, & y +, que son significativos en una URL y perfectamente legales en un nombre de archivo de Windows — esa combinación es todo el problema.


5) Relativo, ¿y Relativo a Qué?

Los cinco enlaces supervivientes son los cinco que se hicieron de forma descuidada. No guardan unidad, ni servidor, ni esquema:

..\Contracts\Calderbank SOW.pdf

Cuando el destino de un enlace de Ctrl+K está cerca del libro, Excel guarda la dirección relativa a la carpeta del propio libro en lugar de en absoluto. Está intentando ayudar, y normalmente ayuda: mueve el libro y su carpeta de documentos juntos y todos los enlaces relativos siguen resolviendo, porque la relación entre ambos no ha cambiado.

Eso es justo lo que pasó aquí. El registro estaba en X:\Legal\Register\; ..\Contracts\ resolvía a X:\Legal\Contracts\. La migración puso el registro en una carpeta Register y los PDF en una carpeta Contracts bajo el mismo padre, y ..\Contracts\ se volvió a resolver a la nueva ubicación sin que nadie hiciera nada.

379.465,20 de valor contratado sobrevivieron al fin de semana porque la forma de dos carpetas dio la casualidad de no cambiar. No porque los enlaces relativos sean mejores. Si la migración hubiera aplanado el árbol, o hubiera bajado el registro un nivel, o le hubiera puesto otro nombre a la carpeta, los cinco habrían muerto con los otros quince, y no habría habido supervivientes que lo notaran.

Hay una cosa más que decide cómo resuelve una dirección relativa, y casi nadie sabe que está ahí. Archivo ▸ Información ▸ Propiedades ▸ Propiedades avanzadas ▸ Resumen tiene un campo llamado Base del hipervínculo. Ponle un valor y todos los hipervínculos relativos del libro resolverán contra esa cadena en lugar de contra la carpeta del libro. Es una palanca realmente útil — un registro que tiene que vivir en varios sitios puede llevar una base y reapuntarse con una sola edición — y es también una razón invisible de que unos enlaces se comporten distinto en dos copias del mismo archivo.

🎯 Escenario: Si heredas un libro cuyos enlaces te funcionan a ti y a un compañero no, mira la Base del hipervínculo antes que nada. Es un campo, está vacío en la mayoría de los libros, y cuando no está vacío suele ser la respuesta.


6) Qué Guarda Ctrl+K en Realidad

Pulsa Ctrl+K sobre una celda y Excel escribe cuatro cosas, de las cuales el cuadro de diálogo te enseña tres y la hoja te enseña una.

ParteQué es¿La lee una fórmula?
Texto visibleEl valor de la celda — es una cadena normal
DirecciónEl archivo, carpeta o URL que abrirNo
SubdirecciónDónde aterrizar dentro del destinoNo
SugerenciaEl texto emergente al pasar por encimaNo

De esa tabla salen tres consecuencias, y las tres están en este registro.

El texto visible y el destino son independientes. Edita el texto de la celda y la dirección no se mueve; edita la dirección y el texto no se mueve. CTR-2209 dice Ingleby Scaffold Rev C.pdf y apunta a Ingleby Scaffold Rev A.pdf, porque alguien actualizó el registro cuando se emitió la Rev C y actualizó la única parte que veía. Abre. Siempre ha abierto. Abre el contrato equivocado, por 53.870,00, y ninguna comprobación de este artículo salvo una lo encuentra.

Arrastrar hacia abajo copia la dirección sin cambiarla. Arrastra una celda con Ctrl+K veinte filas y tienes veinte enlaces al mismo archivo, con veinte textos visibles distintos si el texto formaba una serie. Esta es, con diferencia, la forma más habitual de que un registro acumule enlaces uniforme y confiadamente equivocados.

Buscar y reemplazar no llega a la dirección. Un Ctrl+L sobre esta hoja sustituyendo X:\Legal\ por https://greenfell.sharepoint.com/sites/Legal/ informa de cero reemplazos y no cambia nada, lo que se lee como que las rutas ya están bien.

tras la migración, de veinte enlaces:
abrieron algo                              5      379.465,20      9,47%
abrieron el documento que nombra la celda  4      325.595,20      8,13%
no abrieron nada                          15    3.626.334,95     90,53%
de esos, no funcionaron nunca              4      540.557,15     13,49%

🎯 Escenario: Trata el texto visible como un pie de foto, nunca como una prueba. Si una fila tiene que afirmar qué revisión está archivada, esa afirmación va en una celda propia que algo pueda comparar contra la ruta — lo cual solo es posible cuando la ruta está en una celda, que es la sección 12.


7) HIPERVINCULO Es una Fórmula, y Esa Es Toda la Diferencia

=HIPERVINCULO(ubicación_del_vínculo; [nombre_descriptivo])

Dos argumentos: adónde ir y qué mostrar. Devuelve el nombre descriptivo como valor de la celda y salta al hacer clic. Existe en todas las versiones de Excel en uso.

Lo que importa no es lo que hace. Es dónde vive el destino. Con Ctrl+K el destino está en un objeto al lado de la cuadrícula; con HIPERVINCULO el destino es una cadena dentro de una fórmula, en la celda, en la cadena de cálculo, delante de ti. Todo lo demás se sigue de ese único movimiento:

Hipervínculo Ctrl+K=HIPERVINCULO()
El destino esuna propiedad de objetoparte de la fórmula
Al arrastrarla misma dirección en todas las filasconstruye la dirección de cada fila
Se recalculanuncaante cualquier cambio en sus entradas
Buscar y reemplazar lleganosí — es texto de fórmula
FORMULATEXTO lo auditano
Se puede construir desde una búsquedano
Sobrevive a ordenar y filtrarcomo objeto ancladocomo fórmula de la propia fila
Reapuntar 200 enlaces200 cuadros de diálogouna edición, si se construyen desde una celda raíz

Hay una cosa que HIPERVINCULO no hace, y es la misma que no hace Ctrl+K: ninguno de los dos comprueba que el destino exista. =HIPERVINCULO("X:\nada\aqui.pdf";"Abrir") devuelve Abrir, se muestra como un enlace, y falla al hacer clic como cualquier otro. Excel no tiene ninguna función nativa que le pregunte nada al sistema de archivos. Lo que te da HIPERVINCULO no es validez — es visibilidad, que es sobre lo que sí puedes montar una comprobación.

🎯 Escenario: La regla es lo bastante simple como para aplicarla sin pensar: Ctrl+K para un enlace que escribes a mano; =HIPERVINCULO() para el segundo y todos los siguientes. En cuanto un enlace es uno de un conjunto, le corresponde estar en una fórmula.


8) Veinte Enlaces Desde una Fórmula

Pon la carpeta en una celda, los nombres de archivo en una columna, y construye el resto.

B1:  https://greenfell.sharepoint.com/sites/Legal/Contracts/

en el registro, contra una tabla llamada Registro:
=HIPERVINCULO($B$1 & [@Documento]; [@Documento])

Eso se arrastra veinte filas, y cada fila construye su propia dirección desde la misma raíz. Es la diferencia entre veinte hechos y un hecho usado veinte veces.

Donde el nombre del archivo no está guardado pero se puede derivar, derívalo:

=HIPERVINCULO($B$1 & [@Ref] & " " & [@Proveedor] & ".pdf"; [@Ref])

Donde el documento vive en un índice de otra hoja, búscalo — y decide qué debe hacer una fila sin coincidencia en vez de dejar que produzca un enlace a ninguna parte:

=LET(
   archivo; BUSCARX([@Ref]; Indice[Ref]; Indice[Archivo]; "");
   SI(archivo = ""; "— sin documento archivado —"; HIPERVINCULO($B$1 & archivo; archivo))
 )

Ese SI no es decoración. Sin él, una búsqueda sin coincidencia devuelve "", la dirección se queda en la carpeta sin nada detrás, y la celda se dibuja como un enlace de aspecto vivo que abre un listado de directorio o nada. SI.ND y SI.ERROR hacen el mismo trabajo en versiones sin LET. Una fila sin documento debe decirlo con palabras.

Dos detalles que le cuestan una tarde a cada persona:

  • Los espacios son legales en una ruta e incómodos en una URL. Para una dirección http o https, sustitúyelos: SUSTITUIR($B$1 & [@Documento]; " "; "%20"). Para una ruta UNC o de unidad, déjalos en paz — Windows los maneja, y ahí el %20 rompe la ruta.
  • La # necesita codificarse en cualquiera de las dos formas, como explica la sección 4: SUSTITUIR(ruta; "#"; "%23"). Anida los dos sustituir cuando una carpeta pueda contener ambos.

🎯 Escenario: Construye todos los registros así desde la primera fila, no desde la fila en la que empieza a doler. El coste es una columna extra y una celda; el ahorro es que nunca más tienes que abrir un cuadro de diálogo para averiguar adónde apunta un enlace.


9) Saltar Dentro del Libro, y el Cambio de Nombre Que Lo Rompe

HIPERVINCULO también navega dentro de un archivo, usando a propósito la # de la sección 4:

=HIPERVINCULO("#'Registro de Contratos'!A1"; "Volver al registro")
=HIPERVINCULO("#Resumen!B4"; "Ir al total")

La # inicial significa «este libro». Un nombre de hoja con espacios necesita comillas simples alrededor, exactamente igual que una referencia de fórmula, y olvidarlas es la causa habitual de La referencia no es válida.

Y ahora la trampa, que es real. Ese destino es una cadena, no una referencia. Cambia el nombre de la hoja de Resumen a Resumen 2026 y todas las fórmulas normales que apuntan a ella se actualizan solas, porque Excel sigue las referencias a través de un cambio de nombre. El HIPERVINCULO no se actualiza, porque Excel no tiene ni idea de que el texto "#Resumen!B4" hablaba de una hoja. Es una cadena, y las cadenas no siguen nada. Haz clic y obtienes La referencia no es válida — el mismo comportamiento, por la misma razón, que INDIRECTO.

Usa un nombre definido en su lugar:

Fórmulas ▸ Asignar nombre ▸ InicioRegistro  =  'Registro de Contratos'!$A$1
=HIPERVINCULO("#InicioRegistro"; "Volver al registro")

Un nombre definido guarda una referencia, así que sigue a la hoja a través del cambio de nombre, y la cadena "#InicioRegistro" sigue siendo cierta. Una barra de navegación construida sobre nombres definidos es una barra que sobrevive a la próxima reorganización del libro; una construida sobre nombres de hoja es una cosa más que acordarse de arreglar.

🎯 Escenario: Allí donde un libro tenga una pantalla de inicio o una hoja de menú, constrúyela sobre nombres definidos. Cuesta un cuadro de diálogo por destino, una vez, y elimina toda una familia de roturas que si no aparecen meses después delante de quien heredó el archivo.


10) Los Enlaces Que Nadie Pidió

Pega una URL en una celda y Excel la convierte en hipervínculo. Escribe una y pulsa Intro y Excel la convierte en hipervínculo. Esto es Autoformato mientras escribe ▸ Rutas de red e Internet por hipervínculos, viene activado, y en una hoja de datos importados significa que cada una de cuarenta mil URLs llega como su propio objeto hipervínculo.

No es un problema cosmético. Cada objeto es una relación guardada en el archivo; una columna de ellos añade megas, ralentiza el desplazamiento y el repintado, hace el archivo más lento de abrir, y convierte un clic accidental durante la navegación normal en una ventana de navegador. Es también la razón por la que un libro que no contiene más que texto puede pesar cuatro veces lo que pesan sus datos.

  • Desactívalo: Archivo ▸ Opciones ▸ Revisión ▸ Opciones de Autocorrección ▸ Autoformato mientras escribe, desmarca la casilla.
  • Deshaz uno sobre la marcha: Ctrl+Z justo después de confirmar la celda quita el enlace y deja el texto.
  • Quita los que ya están: selecciona el rango, clic derecho, Quitar hipervínculos. El texto se queda, los objetos se van. Ojo: esto también limpia el estilo de celda Hipervínculo, así que una columna de subrayados azules se queda lisa — que es justo el objetivo.

El caso contrario también merece conocerse. Una columna de direcciones en crudo sin ningún enlace suele ser mejor que una columna de objetos enlace: una columna =HIPERVINCULO() al lado te da clicabilidad sin los objetos, y la columna en crudo se mantiene legible, ordenable y auditable.

🎯 Escenario: En cualquier hoja construida a partir de una importación, quita los hipervínculos como último paso de la limpieza, junto a recortar espacios y arreglar tipos. Cuarenta mil objetos enlace son un problema de rendimiento que nadie va a diagnosticar jamás, porque nada de la hoja parece raro.


11) Comprobar un Registro Antes de Que Alguien lo Necesite

Excel no puede preguntarle al sistema de archivos si un archivo existe. No hay ESARCHIVO, HIPERVINCULO no valida, y ninguna fórmula te va a decir que un PDF se borró en marzo. Acéptalo, y comprueba lo que es comprobable — que resulta ser casi todo lo que de verdad sale mal.

Lo comprobable es la forma: que toda dirección arranque de la raíz que esperas, acabe en la extensión que esperas, no contenga ningún carácter que la vaya a cortar, y nombre el documento del que la fila dice hablar. Tres de los cuatro fallos de este artículo son fallos de forma, y el cuarto — un archivo borrado — es el raro.

En cuanto las direcciones están en celdas, todo eso es una columna de fórmulas:

raíz, en B1:
https://greenfell.sharepoint.com/sites/Legal/Contracts/

=LET(
   dir;     $E2;
   nombre;  TEXTODESPUES(dir; "/"; -1);
   CAMBIAR(VERDADERO;
     IZQUIERDA(dir; LARGO($B$1)) <> $B$1;   "no cuelga de la raíz";
     ESNUMERO(HALLAR("#"; nombre));         "la # va a cortar esto";
     DERECHA(dir; 4) <> ".pdf";             "no es un PDF";
     nombre <> $D2;                         "el nombre no coincide con la celda";
     "ok")
 )

TEXTODESPUES(dir;"/";-1) toma el último segmento — el -1 significa «la última aparición del delimitador». Antes de 365 está el idioma clásico, que es feo y funciona en todas partes:

=ESPACIOS(DERECHA(SUSTITUIR($E2; "/"; REPETIR(" "; 200)); 200))

Para un registro de Ctrl+K nada de esto está disponible, y ahí está todo el argumento de este artículo en una línea: no puedes escribir la comprobación, porque no puedes leer lo que hay que comprobar.

🎯 Escenario: Una columna de estado como esta se paga sola la primera vez que alguien añade una fila. Caza la raíz equivocada, la # perdida y la deriva de revisión en el momento en que se introducen, por la persona que las introdujo, y no en una discusión dieciocho meses después.


12) Una Celda Raíz

Aquí está el arreglo entero, y es más pequeño que cualquiera de los problemas que elimina.

B1:  https://greenfell.sharepoint.com/sites/Legal/Contracts/

C2:  =HIPERVINCULO(SUSTITUIR($B$1 & [@Documento]; " "; "%20"); [@Documento])
     arrastrado hacia abajo

Una celda dice dónde viven los contratos. Veinte fórmulas dicen cuál. La migración que rompió este registro habría sido una sola edición de B1 y un recálculo — y si el registro hubiera tenido doscientas filas, habría seguido siendo una sola edición de B1.

Todo lo demás de este artículo se sigue de ese montaje en lugar de tener que recordarse:

  • No se guarda nada por fila salvo un nombre de archivo, así que quince direcciones no pueden discrepar sobre la raíz, porque solo hay una raíz.
  • La raíz es una celda, así que Buscar y reemplazar llega — y también llega cualquiera que lea la hoja, que importa más.
  • Cada dirección se construye donde se usa, así que arrastrar produce veinte enlaces distintos, no veinte copias de uno.
  • El texto visible y la dirección son la misma expresión, así que no pueden derivar. CTR-2209 no habría podido ocurrir: cambia la celda a Rev C y el enlace es a la Rev C, porque es el mismo valor.
  • La comprobación de la sección 11 pasa a ser posible, porque hay algo en una celda que comprobar.

El registro de arriba vale 4.005.800,15. La diferencia entre la versión que sobrevivió al fin de semana y la que no es una celda y una fórmula que cabe en una línea.


13) Cuatro Comprobaciones

Pásalas sobre un registro cuyas direcciones estén en celdas — la columna E del ejemplo, la columna Dirección en el tuyo. En un registro de Ctrl+K ninguna se puede ejecutar, lo cual ya es el primer hallazgo.

1. ¿Queda algo apuntando a la raíz antigua?

=SUMAPRODUCTO(--ESNUMERO(HALLAR("X:\Legal\"; $E$2:$E$21)))     → 15

Cualquier respuesta por encima de cero es un recuento de enlaces que dependen de una letra de unidad. Pásala antes de una migración, no después.

2. ¿Se va a cortar alguna dirección?

=SUMAPRODUCTO(--ESNUMERO(HALLAR("#"; $E$2:$E$21)))              → 4

HALLAR trata ? y * como comodines pero # como un carácter normal, así que esto hace lo que parece. Cada resultado es un enlace que falla al hacer clic y que probablemente lleve años fallando.

3. ¿Nombra la celda el archivo que abre la dirección?

=SUMAPRODUCTO(--(TEXTODESPUES($E$2:$E$21; "\"; -1) <> $D$2:$D$21))  → 1

Es la única comprobación del artículo que encuentra CTR-2209, y es el único modo de fallo que no produce jamás un mensaje de error. Una respuesta distinta de cero es una fila donde el registro describe con aplomo un documento que no abre.

4. ¿Se construye toda dirección desde la única raíz?

=SUMAPRODUCTO(--(IZQUIERDA($E$2:$E$21; LARGO($B$1)) <> $B$1))   → 0 si está sano

Deja esta puesta en el libro para siempre. Devuelve cero mientras se mantenga el montaje de la sección 12, y deja de devolver cero la primera vez que alguien pegue un enlace traído de otro sitio.


14) Doce Trampas

  1. Un hipervínculo de Ctrl+K es un objeto, no un valor. La celda guarda el texto visible; la dirección vive al lado de la cuadrícula, donde ninguna fórmula, filtro ni orden la lee.
  2. Buscar y reemplazar no toca la dirección de un hipervínculo. Ctrl+L informa de cero reemplazos en una hoja de enlaces rotos, lo que se lee exactamente como «no hay nada que arreglar».
  3. CONTAR.SI sobre celdas enlazadas casa con el pie de foto, no con el destino. =CONTAR.SI(C2:C21;"X:\*") devuelve 0 en un registro donde quince destinos empiezan por X:\.
  4. Una letra de unidad es una asignación por máquina. X:\ significa otro sitio, o ninguno, en cada mesa del edificio — incluida la que abra el registro después.
  5. Una # en un nombre de archivo corta la dirección en la #. Excel lee el resto como marcador dentro del destino. Codifícala como %23 o renombra el archivo; %, & y + merecen la misma sospecha.
  6. El error de una ruta cortada es el error de un problema de permisos, de un archivo movido y de un servidor caído. En una unidad compartida eso es el tiempo que hace, así que un enlace roto para siempre puede pasar años sin que nadie lo reporte.
  7. Los enlaces relativos resuelven contra la carpeta del libro, así que mover el libro solo cambia en silencio adónde apuntan todos — y moverlo con su árbol de carpetas los mantiene funcionando en silencio, lo cual es suerte, no diseño.
  8. La Base del hipervínculo, en Propiedades avanzadas, redefine qué significa «relativo» para todo el libro. Está vacía en la mayoría de los archivos y es la respuesta siempre que dos copias del mismo libro se comportan distinto.
  9. El texto visible y la dirección son independientes. Editar el nombre visible de un documento no reapunta nunca el enlace, que es como un registro acaba nombrando la Rev C y abriendo la Rev A sin dar error jamás.
  10. Arrastrar una celda con Ctrl+K copia una dirección en todas las filas. =HIPERVINCULO() arrastrado construye una dirección distinta por fila; el objeto enlace no.
  11. El destino de HIPERVINCULO es una cadena, así que no sigue los cambios de nombre. Renombra una hoja y "#Resumen!B4" se rompe donde una referencia de verdad se habría actualizado. Apunta a un nombre definido.
  12. Ninguno de los dos tipos de enlace comprueba que el destino exista. Excel no puede preguntarle nada al sistema de archivos. Lo que sí puedes comprobar es la forma — raíz, extensión, caracteres ilegales, concordancia del nombre — y la forma es donde se estropea casi todo.

Nada de esta historia es un error del programa, y nada en ella es siquiera descuido. Ctrl+K es la forma obvia de pegar un documento a una fila, una letra de unidad es lo que te enseña el explorador de archivos, una # en Piling #2 es como numera sus programas el contratista de pilotes, y una ruta relativa es lo que eligió Excel en nombre del equipo sin mencionarlo.

Lo que lo hace caro es que un hipervínculo es lo único de un libro que lleva significado y no es un valor. Todo lo demás de una hoja se puede contar, comparar, buscar e imprimir. El destino de un enlace solo se puede clicar, y clicar es algo que hace una persona, de uno en uno, con meses de diferencia, normalmente en el momento exacto en que no se puede permitir que no funcione.

Así que el arreglo no es un enlace mejor. Es sacar el destino del objeto y meterlo en una celda, donde se convierte en una cadena normal de una columna normal, sujeta a las mismas comprobaciones que todo lo demás — y donde la diferencia entre un registro que sobrevive a la próxima migración y uno que no es una sola edición de una sola celda.

Comparte este artículo:
Volver al Blog