Марк интересуется, как создать гиперссылку на лист в той же книге. Имя рабочего листа изменится, поэтому он считает, что ссылка должна быть «динамической». Он также хотел бы, чтобы «понятное имя» гиперссылки изменилось на имя рабочего листа.

Есть несколько подходов к этому. Первый — создать простую гиперссылку на пункт назначения с помощью функции ГИПЕРССЫЛКА. Синтаксис функции следующий:

=HYPERLINK(link_location, [friendly_name])

Обратите внимание, что второй параметр (понятное имя) не является обязательным, но его следует использовать в сценарии Марка. Если вы хотите создать ссылку на другой лист, все, что вам нужно сделать, это указать адрес ячейки на этом листе следующим образом:

=HYPERLINK("[myWorkBook.xlsx]MySheet!A1", "Jump There")

Это обеспечивает гиперссылку на ячейку A1 на листе с именем «MySheet».

Это отлично работает при условии, что имя «MySheet» не изменится. Если имя изменено или указанная ячейка удалена, гиперссылка перестает работать.

Есть простой способ обойти эту потенциальную проблему, но он создает новую потенциальную проблему. Вы можете создать именованный диапазон на рабочем листе назначения, а затем использовать именованный диапазон в функции ГИПЕРССЫЛКА следующим образом:

=HYPERLINK("#MyRange","Jump There")

Обратите внимание, что перед именем диапазона должен стоять знак # и заключаться в кавычки. Щелчок по ссылке отображает любой рабочий лист, содержащий названный диапазон, и выбирает этот диапазон. Он более универсален, чем предыдущий, поскольку не имеет значения, переименовываете ли вы лист, содержащий именованный диапазон. Однако имеет значение, если именованный диапазон будет удален. (Если удаляется только часть именованного диапазона, Excel настраивает все правильно. Он блокирует только при удалении всего именованного диапазона.)

Чтобы обойти все эти проблемы, необходимо использовать вспомогательные клетки.

(Вы также можете использовать один или два простых макроса, но это может оказаться излишним для нужд Марка.) В качестве примера поместите следующее в ячейку A24:

=MySheet!A1

В ячейке будет отображаться все, что находится в ячейке A1 на MySheet. Если позже вы измените имя MySheet (фактическое имя листа), формула изменится автоматически. Если вы вставите или удалите строки или столбцы в MySheet, ссылка на ячейку A1 в формуле не изменится. Это позволяет всегда иметь действующий рабочий лист и ссылку на ячейку. Чтобы получить эту ссылку в форме, которую можно использовать в функции ГИПЕРССЫЛКА, поместите следующую формулу в ячейку B24:

=MID(FORMULATEXT(A24),99)

Функция FORMULATEXT преобразует формулу в ячейке A24 в текстовую строку, а добавление функции MID снимает знак равенства с начала формулы. Формула, как показано, позволяет использовать очень длинные имена рабочих листов, до 96 символов (три других символа — «! A1»). Затем вы можете использовать следующую формулу для создания фактической гиперссылки:

=HYPERLINK("[myWorkBook.xlsx]" & B24, "Jump There")

Целевая гиперссылка всегда динамична и стабильна, что как раз и нужно. Однако следует отметить, что функция FORMULATEXT была введена в Excel 2013; он не будет работать в более ранних версиях программы.

Я не тратил много времени на то, чтобы говорить о дружественном имени функции ГИПЕРССЫЛКИ. Это потому, что вы можете легко изменить его, чтобы он ссылался практически на все, что захотите. Например, вы можете указать ссылку на другую ячейку, которая, в свою очередь, отображает значение, основанное на любой желаемой вами формуле:

=HYPERLINK("#MyRange",A7)

В этом примере понятное имя извлекается из ячейки A7. Измените то, что находится в ячейке A7, и одновременно обновится понятное имя.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13034) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.