Постановка задачи
Имеем две таблицы на разных листах одной книги: таблицу с заказами от клиентов (на листе Заказы) и таблицу с клиентской базой (лист Клиенты). Работая с таблицей заказов, хочется иметь возможность быстро переходить на таблицу с клиентами, чтобы просмотреть подробные данные по клиенту (адрес, ФИО директора и т.д.). То есть, другими словами, хочется в таблице заказов иметь гиперссылку в каждой строке, при щелчке мышью по которой будет происходить переход на лист Клиенты, причем именно на ту строчку где упоминается данный клиент:
Что-то типа типа функции ВПР (VLOOKUP), но не ради подстановки данных, а для быстрой ссылки из одной таблицы в другую.
Шаг 1. Создаем переменную с именем листа
Для создания гиперссылок в будущем нам понадобится каждый раз прописывать имя текущего файла и имя листа Клиенты, на который пойдут ссылки. Поэтому проще один раз создать переменную в памяти Excel с нужным значением и обращаться к ней потом по мере надобности.
В Excel 2007/2010 для этого можно воспользоваться вкладкой Формулы (Formulas) и кнопкой Диспетчер имен (Name Manager) . В более старых версиях выбрать в меню Вставка — Имя — Присвоить (Insert — Name — Define) . В открывшемся окне нажмите кнопку Создать (New) и введите туда имя переменной (я назвал ее для примера Мой_Лист) и формулу в строку Диапазон (Reference) :
=ПСТР(ЯЧЕЙКА("имяфайла";Клиенты!$A$1); ПОИСК("[";ЯЧЕЙКА("имяфайла";Клиенты!$A$1)) ;256) &"!"
Разберем эту конструкцию на составляющие для понятности:
- ЯЧЕЙКА("имяфайла";Клиенты!$A$1) — функция, которая по адресу заданной ячейки (А1 с листа Клиенты) выдает любые нужные данные по листу и файлу. В данном случае — полный путь к текущему файлу до листа в виде D:Рабочие документыДоговоры[Бюджет.xls]Клиенты
- Из этой строки нам нужна только часть с именем файла и листа (без диска и папок), поэтому мы ищем первое вхождение квадратной открывающей скобки в строку с помощью функции ПОИСК (FIND) и затем вырезаем из строки все, начиная с этого символа и до конца (256 символов) с помощью функции ПСТР (MID) .
- В конце, к вырезанному фрагменту с именем файла и листа приклеиваем восклицательный знак — стандартный разделитель имен листов и адресов ячеек в формулах, т.к. дальше должны будут идти адреса ячеек.
Таким образом эта формула выдает на выходе имя текущего файла в квадратных скобках с расширением с приклееным к нему именем листа и восклицательным знаком. Работу формулы легко проверить — просто введите в любую пустую ячейку =Мой_Лист и нажмите клавишу Enter.
Шаг 2. Создаем гиперссылки
Выделите пустую ячейку в строке напротив первого заказа и введите туда вот такую формулу:
Разберем ее на составляющие аналогичным образом:
- Функция ПОИСКПОЗ(B2;Клиенты!$A$1:$A$7;0) — ищет порядковый номер ячейки в диапазоне А1:А7 на листе Клиенты, где встречается название текущего клиента из B2 (последний аргумент =0 означает поиск точного совпадения, аналогично функции ВПР)
- Функция АДРЕС формирует адрес ячейки (в виде текстовой строки) по номеру строки и столбца, т.е. адрес ячейки с нужным клиентом, куда должна потом ссылаться гиперссылка
- Затем мы приклеиваем к адресу ссылку на файл и лист (переменную Мой_Лист) и используем это в качестве аргумента для функции ГИПЕРССЫЛКА (HYPERLINK) , которая, собственно, и создает нужную нам ссылку.
При желании, можно заменить внешнее представление гиперссылки с банальных символов ">>" на что-нибудь поинтереснее с помощью функции СИМВОЛ (CHAR) , которая умеет выводить нестандартные символы по их кодам:
Так, например, если использовать шрифт Wingdings 3 и символ с кодом 117, то можно получить вот такие симпатичные значки гиперссылок:
Функция ГИПЕРССЫЛКА() , английский вариант HYPERLINK(), создает ярлык или гиперссылку, которая позволяет открыть страницу в сети интернет, файл на диске (документ MS EXCEL, MS WORD или программу, например, Notepad.exe) или перейти к указанному листу (диапазону ячеек) в текущей книге .
Функция ГИПЕРССЫЛКА () имеет следующий синтаксис.
Синтаксис функции
ГИПЕРССЫЛКА(адрес, [имя])
Адрес — адрес страницы в сети интернет или путь к файлу на диске. Адрес может указывать на определенное место в Книге, например на ячейку или именованный диапазон. Путь может представлять собой путь к файлу на жестком диске, либо ]]> URL-адрес в Интернете или интрасети. Аргумент Адрес записывается в виде текстовой строки, заключенной в кавычки, или представляет собой ссылку на ячейку, содержащую гиперссылку или путь в виде текстовой строки (без кавычек).
Имя — необязательный аргумент, необходимый для отображения текста гиперссылки (т.е. просто текстовая строка для отображения в гиперссылке). Текст ссылки отображается синим цветом с подчеркиванием. Если этот аргумент опущен, в ячейке в качестве текста ссылки отображается аргумент Адрес. Также как и Адрес, аргумент Имя может быть представлен текстовой строкой, именем или ссылкой на ячейку, содержащей текст. Если аргумент Имя возвращает значение ошибки (например, #ЗНАЧ!), вместо текста ссылки в ячейке отображается значение ошибки.
Примечание: Чтобы выделить ячейку с гиперссылкой без перехода по этой гиперссылке, щелкните эту ячейку и удерживайте нажатой кнопку мыши, пока указатель не примет крестообразную форму , а затем отпустите кнопку мыши — ячейка будет выделена без перехода по гиперссылке.
Переход на страницу Интернет
Для перехода на страницу интернет, например excel2.ru ]]> необходимо ввести в ячейку следующую формулу и нажать клавишу ENTER.
=ГИПЕРССЫЛКА(" ]]> http://www.excel2.ru ]]> ";"Перейти на сайт excel2.ru")
Если опустить второй аргумент, то в ячейке вместо слов Перейти на сайт excel2.ru будет просто отображен адрес ]]> http://www.excel2.ru ]]>
Перейти на конкретную страницу можно с помощью вот такой формулы
=ГИПЕРССЫЛКА("http://excel2.ru/articles/imena";"Перейти к статье Имена на сайте excel2.ru")
Если Вы знаете адрес документа на внешнем сайте, то можно указать в гиперссылке адрес этого файла, чтобы его скачать и открыть:
= ГИПЕРССЫЛКА(" ]]> http://example.microsoft.com/report/budget ]]> report.xlsx"; "Щелкните, чтобы просмотреть отчет")
Открываем файл на диске
С помощью функции ГИПЕРССЫЛКА () можно открыть файл, сохраненный на диске компьютера или сервера. Откроем стандартный файл Windows для редактирования текста Notepad.exe
Если на компьютере имеется диск D: на котором в папке Finance имеется файл БазаДанных.xlsx, то открыть его поможет формула
= ГИПЕРССЫЛКА("[D:FinanceБазаДанных.xlsx]лист1!A5";"Открыть Книгу MS EXCEL и перейти на Листе1 в ячейку А5")
После этого, в окне файла БазаДанных.xlsx, станет активной ячейка A5.
Примечание: После ввода формулы с функцией ГИПЕРССЫЛКА() , указывающей на место в другом листе или книге, сохраните книгу перед тестированием гиперссылки, чтобы избежать сообщения об ошибке.
Переходим на другой лист в текущей книге
Предположим, что требуется сделать ссылку с Листа1 на Лист2 в книге БазаДанных.xlsx.
Поместим формулу с функцией ГИПЕРССЫЛКА() в ячейке А18 на Листе1 (см. файл примера ).
=ГИПЕРССЫЛКА("[БазаДанных.xlsx]Лист2!A1";"Нажмите ссылку, чтобы перейти на Лист2 этой книги, в ячейку А1")
Указывать имя файла при ссылке даже внутри одной книги — обязательно. При переименовании книги или листа ссылка перестанет работать. Но, с помощью функции ЯЧЕЙКА() можно узнать имя текущей книги и листа (см. здесь и здесь).
Плохой новостью является то, что если у Вас открыто 2 или более файлов EXCEL (в одном экземпляре программы, см. примечание ниже), то функция ЯЧЕЙКА() может вернуть имя другого открытого файла (если Вы его изменяли). Так что будьте осторожнее с функцией ЯЧЕЙКА() . Поэтому иногда удобнее ссылки внутри книги создавать с помощью стандартного механизма гиперссылок, нажав CTRL+K или через меню Вставка/ Связи/ Гиперссылка (после вызова окна Вставка гиперссылки выберите Связать с: местом в документе).
Примечание: Открыть несколько книг EXCEL можно в одном окне MS EXCEL (в одном экземпляре MS EXCEL) или в нескольких. Обычно книги открываются в одном экземпляре MS EXCEL (когда Вы просто открываете их подряд из Проводника Windows или через Кнопку Офис в окне MS EXCEL). Второй экземпляр MS EXCEL можно открыть запустив файл EXCEL.EXE, например через меню Пуск. Чтобы убедиться, что файлы открыты в одном экземпляре MS EXCEL нажимайте последовательно сочетание клавиш CTRL+TAB — будут отображаться все окна Книг, которые открыты в данном окне MS EXCEL. Для книг, открытых в разных окнах MS EXCEL (экземплярах MS EXCEL) это сочетание клавиш не работает. Удобно открывать в разных экземплярах Книги, вычисления в которых занимают продолжительное время. При изменении формул MS EXCEL пересчитывает только книги открытые в текущем экземпляре.
Составляем оглавление книги
В статье Оглавление книги на основе гиперссылок описан подход к созданию оглавлению.
Функция ГИПЕРССЫЛКА в Excel возвращает ярлык либо гиперссылку на определенный объект, которым может являться веб-страница, файл, сохраненный в постоянной памяти ПК, группа ячеек на листе в книге Excel.
Функция ГИПЕРССЫЛКА и особенности ее аргументов
Функция ГИПЕРССЫЛКА упрощает доступ к объектам, которые как являются частями Excel (ячейки, листы книги), так и частями другим программных продуктов (файл notepad, Word) или страницами в сети интернет. Данная функция имеет следующую синтаксическую запись:
Описание 2-х параметров аргументов функции:
- Адрес – текстовое значение, соответствующее имени открываемого объекта и полному пути для доступа к нему. Этот параметр является обязательным для заполнения. Адрес может указывать на конкретную часть документа, к примеру, ячейку или диапазон ячеек, закладку в текстовом редакторе Word. Путь может содержать данные о пути к файлу в файловой системе ПК (например, «C:UserssoulpDocuments») или адресе URL на страницу в сети интернет.
- [имя] – текстовое значение, которое будет отображено в качестве текста гиперссылки. Отображается синим цветом с нижним подчеркиванием текста.
- Параметры адрес и [имя] принимают значения в виде текстовой строки в кавычках (“адрес_гиперссылки”, “имя_гиперссылки”) либо ссылки на ячейки, в которых содержатся адрес и название объекта соответственно.
- В приложении Excel Online (онлайн версия программы Excel для работы через веб-интерфейс) функцию ГИПЕРССЫЛКА можно использовать только для создания гиперссылок на веб-объекты, поскольку приложения-браузеры не имеют доступа к файловым системам устройств.
- Если в ячейке, на которую ссылается параметр [имя], установилось значение кода ошибки #ЗНАЧ!, в качестве текста созданной гиперсылки будет также отображено «#ЗНАЧ!».
- Для выделения ячейки, содержащей гиперссылку, без перехода по ней необходимо навести курсор мыши на требуемую ячейку, нажать и не отпускать левую кнопку мыши до момента, пока курсор не изменит свою форму на «+». Затем можно отпустить кнопку мыши, требуемая ячейка будет выделена.
- В онлайн версии программы Excel для выделения ячейки, содержащей гиперссылку, необходимо навести курсор так, чтобы он выглядел в виде обычной стрелки. Для перехода по гиперссылке необходимо навести курсор непосредственно на ее текст. В этом случае курсор примет вид руки.
- Для создания гиперссылки на интернет-ресурс можно использовать следующую запись: =ГИПЕРССЫЛКА(“http://www.yandex.ru/”;”Поисковая система Яндекс”).
- Гиперссылка на документ, хранящийся в файловой системе ПК, может быть создана следующим образом: =ГИПЕРССЫЛКА(“C:UserssoulpDownloadsдокумент_2”;”Ссылка на документ_2”). При переходе по данной гиперссылке появится диалоговое окно с предупреждением о возможном наличии вредоносного ПО в файле. Для открытия файла необходимо нажать кнопку «ОК» в этом диалоговом окне. Если по указанному пути файл отсутствует, появится соответствующее уведомление.
- Для создания гиперссылки на другой лист в книге Excel можно использовать подобную запись: =ГИПЕРССЫЛКА(“[Книга1.xlsx]Лист2!A1”;”Лист2”). При переходе по данной гиперссылке будет открыт Лист2, а фокус будет установлен на ячейку A1.
- Гиперссылку можно вставить используя визуальный пользовательский интерфейс (соответствующий пункт контекстного меню, кнопка на панели задач).
Примеры использования функции ГИПЕРССЫЛКА в Excel
Как создать гиперссылку на файл в Excel? Пример 1. Бухгалтер предприятия выполняет различные расчеты и хранит таблицы данных в Excel в одной книге (Бухгалтерия.xlsx), содержащей множество листов. Для удобства было решено создать отдельный лист с оглавлением в виде гиперссылок на каждый из имеющихся листов.
На новом листе создадим следующую таблицу:
Для создания гиперссылки используем формулу:
Описание аргументов функции:
- "[Пример_1.xlsx]Прибыль!A1" – полный адрес ячейки A1 листа «Прибыль» книги «Пример_1.xlsx».
- "Прибыль" – текст, который будет отображать гиперссылка.
Аналогично создадим гиперссылки для остальных страниц. В результате получим:
Динамическая гиперссылка в Excel
Пример 2. В таблице Excel содержатся данные о курсах некоторых валют, которые используются для выполнения различных финансовых расчетов. Поскольку обменные курсы являются динамически изменяемыми величинами, бухгалтер решил поместить гиперссылку на веб-страницу, которая предоставляет актуальные данные.
Для создания ссылки на ресурс http://valuta.pw/ в ячейке D7 введем следующую формулу:
- http://valuta.pw/ — URL адрес требуемого сайта;
- "Курсы валют" – текст, отображаемый в гиперссылке.
В результате получим:
Примечание: указанная веб-страница будет открыта в браузере, используемом в системе по умолчанию.
Отправка писем через Excel по гиперссылке
Пример 3. Работник предприятия испытывает трудности с использованием функции ЕСЛИ в Excel. Для решения проблемы в одном из документов он имеет готовую форму для отправки письма по email. Отправка письма происходит по нажатию на гиперссылку. Рассмотрим, как устроена данная форма отправки писем.
Форма выглядит следующим образом:
Значения ячеек B3 и B4 могут быть изменены на усмотрение пользователя (в зависимости от причины обращения в службу поддержки). В ячейке B5 записана функция:
Данная функция выполняет конкатенацию (сцепление текстовых строк, принимаемых в качестве параметров).
- mailto: — команда отправки письма;
- B2 – ячейка, содержащая email службы поддержки;
- "?subject=" – команда для записи темы письма;
- КОДИР.URL(B3) – функция, которая выполняет преобразование текста темы письма в кодировку URL;
- "&body=" – команда для записи текста письма;
- КОДИР.URL(B4) – текст письма в кодировке URL.
В ячейке B6 записана следующая функция:
- B5 – URL-команда на отправку письма, содержащая тему и текст письма;
- "Отправить письмо" – имя гиперссылки.
В результате нажатия на гиперссылку будет открыт используемый по умолчанию почтовый клиент, например, Outlook (но в данном случае, стандартный клиент Windows).