Есть прайс в формате Excel, сгенерированный с помощью PHP. В нем — ссылка «Купить» на определенный сайт на страницу заказа в формате:
httр://сайт/id_товара_1,количество_1|id_товара_2,количество_2|…
Ссылка такого формата формируется при выборе товаров в файле Excel. Для этого используется функция ГИПЕРССЫЛКА() и в нее передается длинная строка.
Но данная фунция, насколько я понимаю, не допускает более 255 символов в адресе. И тут проблемка!
Думаю, надо сделать текст или ячейку, которая бы действовала, как ссылка и по клику на него бросать пользователя в браузере по умолчанию на длинный (более 255 сим.) URL.
Но как это реализовать не знаю, потому что не имел дела с программированием для Excel.
P.S. Использовать сторонние сервисы для сокращения ссылок — не вариант.
Здравствуйте.
Прошу меня сильно не пинать ногами, так как я не программер и в терминологии не очень. Поиск поюзал, но не нашёл ответ на свой вопрос, а может и не понял написанного…
А вопрос вот какой: У меня есть созданная таблица. Скажем — в первом столбце, подряд у меня идут номера: 1000, 1001, 1002, 1003 и так далее. В определённой папке, есть фотографии, которые имеют точно такие же номера — 1000, 1001, 1002 и т.д.
Цель — надо каждому номеру в таблице присвоить гиперссылку с соответствующим номером фотографии. Тыкать каждый раз номер и присваивать ему гиперссылку — слишком затратно по времени и трудоёмко. Вопрос — существует ли какой-нибудь автоматизированный или более облегчённый способ?
Большое спасибо, за ответ — если таковые будут. Ну а если ответ будет из разряда — «Для чайников», с меня ПИВО.
Допустим, что в А2 1001 и файлы лежат в на диске D папка «Стереть» тогда пишем в В2
=ГИПЕРССЫЛКА(«D:Стереть»&A2&».jpg»)
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Прекрасно. Большое спасибо — всё вроде работает. А позвольте ещё один вопрос. Теперь у меня в ячейке В2 (в ячейке с гиперссылкой) слишком длинное и большое имя. Как это можно преобразовать в нечто более читаемое.
Скажем в ячейке у меня: =ГИПЕРССЫЛКА(«W:ДОКУМЕНТЫБаза — новоеФотографии»&A134&».jpg»).
А хочу, чтобы было: ФОТО или просто номер какой-нибудь.
Большущщее спасибо.
=ГИПЕРССЫЛКА("W:ДОКУМЕНТЫБаза - новоеФотографии"&A134&".jpg";"ФОТО_"&A134)
Второй аргумент функции ГИПЕРССЫЛКА именно для этого и предназначен.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453
А… э…. а можно поподробней — чо делать то надо?
Спасибо ещё раз….
Нужно написать вместо формулы
=ГИПЕРССЫЛКА(«D:Стереть»&A2&».jpg»)
формулу
=ГИПЕРССЫЛКА(«D:Стереть»&A2&».jpg»;»Фото_»&A2)
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Здорово…. всё работает даже у такого пня как я. Ребза — вы просто кудесники.
Спасибо Вам огромное.
Ребяты — всем здрасти. Я снова с вопросом…. если позволите.
Мыше указанный способ присвоения ссылок работает. Но в процессе создания базы появилась необходимость всю папку переместить на другой ресурс. При перемещении адрес места хранения (а точнее диск) изменился и ссылки стали не действувющими…. то есть фотки не открываются.
Вопрос. Как с этим бороться? Может можно вставлять плавающую ссылку, чтобы при перемещении ссыла оставалась рабочей?
И ещё попутно один вопрос, правда не в тему — прошу меня сильно не пинать: Скажем так — я делаю в экселе базу данных с большим количеством листов (то есть страниц с ярлычками которые). Дык вот, периодически проскакивают некоторые одинаковые данные, но на разных страницах. Есть ли в экселе возможность их как нибудь отследить? Или может быть отсортировать, но в автоматическом режиме, чтобы потом удалить?
Маленькое уточнение — нужно не просто сравнить значения в двух столбах, а скажем по заданным параметрам отыскать схожее значение во всей книге…..
Большое спасибо.
Плавающая гиперссылка не получиться, а вот заменить все значения на новые можно.
Ctrl+H
Искать: D:Стереть — это старое значение
Заменить на: C:Теперь тут будет — это новое значение
Жмем в окошке поиска Параметры:
Искать — в книге(если заменить надо во всей книге)
Область поиска — формулы
По второму вопросу — без файла ничего вообще сказать нельзя. Судя по описанию — лучше макросом.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453
Ясно. Кстати по поводу поиска одинаковых значений во всей книге — уже после того как написал вопрос до меня дошло, что можно попробовать поискать с помощью встроенного поисковика….. и это вполне устраивает….
Но всё равно — большое спасибо.
А вот по поводу невозможности плавающей ссылки — плохо, что нельзя….. а то получается что делаю базу у себя на компе, а потом её надо будет переносить — придётся все ссылки заменять вручную….. а это порядка 500 000 с разными параметрами и на разных листах…..
Выход один — купить флешку, заделать базу там и отдать пользователям вместе с флешкой…..
Еще можно написать макрос по замене ссылок при открытии книги. Я так полагаю ссылки все равно ведут на папку, расположенную там же, где и книга со ссылками?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453
Да, конечно.
То есть это выглядит следующим образом — скажем есть папка с названием «1». В этой папке есть файл — «база» и папка с фотками — «фотки», где все фотографии и слиты…..
Насчет плавающей ссылки — у меня работает такая (2003 Excel):
=ГИПЕРССЫЛКА(ИНФОРМ("каталог")&A2&".jpg";"Фото_"&A2)
в А2 название файла (например 1001)
Точно не помню, но вроде читал, что в 2007 у функции ИНФОРМ убрали аргумент «каталог». У кого 2007 — проверьте пожалуйста.
Еще такая формула:
=ГИПЕРССЫЛКА(ЛЕВСИМВ(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)&A2&".jpg";"Фото_"&A2)
см. вложение
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Цитата: _Boroda_ от 03.04.2010, 02:14
Насчет плавающей ссылки — у меня работает такая (2003 Excel):=ГИПЕРССЫЛКА(ИНФОРМ("каталог")&A2&".jpg";"Фото_"&A2)
в А2 название файла (например 1001)
Точно не помню, но вроде читал, что в 2007 у функции ИНФОРМ убрали аргумент «каталог». У кого 2007 — проверьте пожалуйста.
Еще такая формула:
=ГИПЕРССЫЛКА(ЛЕВСИМВ(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)&A2&".jpg";"Фото_"&A2)
см. вложение
Подскажи пожайлусто, а чтоб не на фото гиперссылку, а на папки с именами ячеек, что нужно подправить???
Цитироватьна папки с именами ячеек
А это что за зверь такой? Как может быть папка с именами ячеек?
В папке обычно находятся файлы. Каких ячеек? Что за имена?
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Нужно ж было написать нормально
Из другой Вашей темы
ЦитироватьПроблема вот в чем: есть файл Excel со списком(более 3000 наименований) и есть папка в которой созданы подпапки с именами как в столбце D файла Excel, необходимо чтобы список столбца D стал гиперссылками на папки с такими же названиями.
=ГИПЕРССЫЛКА($E$1&""&D2;D2)
в ячейке Е1 путь к папкам
см. вложение
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Цитата: _Boroda_ от 18.01.2012, 09:40
Нужно ж было написать нормально
Из другой Вашей темыЦитироватьПроблема вот в чем: есть файл Excel со списком(более 3000 наименований) и есть папка в которой созданы подпапки с именами как в столбце D файла Excel, необходимо чтобы список столбца D стал гиперссылками на папки с такими же названиями.
=ГИПЕРССЫЛКА($E$1&""&D2;D2)
в ячейке Е1 путь к папкам
см. вложение
Извеняюсь за неправельно поставленный вопрос.
Спасибо большое за пример эт значительно облегчит мою работу!!!!!
Skip to content
В статье объясняются основы функции ГИПЕРССЫЛКА в Excel и приводятся несколько советов и примеров формул для ее наиболее эффективного использования.
Существует множество способов создать гиперссылку в Excel. Чтобы сделать ссылку на определенную веб-страницу, вы можете просто ввести ее URL-адрес в ячейку, нажать Enter, и Microsoft Excel автоматически преобразует запись в интерактивную гиперссылку.
Чтобы создать ссылку на другой рабочий лист или определенное место в другом файле Excel, вы можете использовать контекстное меню «Гиперссылка» или комбинацию клавиш Ctrl + К.
Но если вы хотите вставить на рабочий лист много одинаковых или похожих ссылок, то самый быстрый способ — использовать формулу гиперссылки, которая упрощает создание, копирование и редактирование гиперссылок в Excel.
Функция ГИПЕРССЫЛКА в Excel — синтаксис и способы использования
Функция ГИПЕРССЫЛКА в Excel используется для создания ссылки, которая направляет пользователя в указанное место в том же документе или открывает другой документ или веб-страницу. Используя формулу гиперссылки, вы можете ссылаться на:
- Определенное место, например ячейку или именованный диапазон в файле Excel (на существующем листе, или на другом листе, или в другой книге).
- Документ Word, презентацию PowerPoint или другой документ, хранящийся на жестком диске, в локальной сети или в Интернете.
- Закладка в документе Word.
- Веб-страница в Интернете.
- Адрес электронной почты для создания нового сообщения.
Эта функция доступна во всех версиях Excel для Office 365, Excel от 2019 до 2000. В Excel Online функцию ГИПЕРССЫЛКА можно использовать только для веб-адреса (URL).
Синтаксис функции ГИПЕРССЫЛКА следующий:
ГИПЕРССЫЛКА(адрес ; [имя])
Где:
- адрес (обязательно) — по которому необходимо перейти.
Он может быть представлен как ссылка на ячейку, содержащую ссылку, или же быть текстовой строкой, заключенной в кавычки, которая содержит путь к файлу, хранящемуся на локальном диске, или URL-адресом в Интернете.
Если указанный путь ссылки не существует или не работает, формула гиперссылки выдаст ошибку при попытке кликнуть по ней.
- имя (необязательно) — это пояснительный текст, который будет отображаться в ячейке. Чтобы было понятно, куда ведёт ссылка. Если опущено, то адрес из первого аргумента отображается как текст ссылки.
Этот аргумент может быть представлен в виде числа, текстовой строки, заключенной в кавычки, или ссылки на ячейку, содержащую нужный текст.
Щелчок по ячейке с формулой гиперссылки открывает файл или веб-страницу, указанную в аргументе адрес.
Ниже вы можете увидеть простейший пример формулы гиперссылки Excel, где A2 содержит имя, а B2 содержит адрес:
=ГИПЕРССЫЛКА(B2; A2)
Результат может выглядеть примерно так:
Ниже вы можете ознакомиться с примерами формул, демонстрирующими другие варианты использования функции ГИПЕРССЫЛКА в Excel.
Как использовать ГИПЕРССЫЛКА в Excel — примеры формул
Переходя от теории к практике, давайте посмотрим, как вы можете использовать функцию ГИПЕРССЫЛКА, чтобы открывать различные документы прямо из ваших рабочих таблиц. Мы также обсудим более сложную формулу, в которой она используется в сочетании с несколькими другими функциями для выполнения сложной задачи.
Функция Excel ГИПЕРССЫЛКА позволяет вам создавать ссылки нескольких различных типов, в зависимости от того, какое значение вы указываете в аргументе адрес. Рассмотрим, как создавать ссылки на листы, файлы, веб-страницы и другие элементы.
Гиперссылка на другой рабочий лист
Чтобы вставить гиперссылку на другой лист в той же книге, укажите перед именем целевого листа знак решетки (#), после него – восклицательный знак и имя целевой ячейки, например:
=ГИПЕРССЫЛКА(«#Лист1!A1″;»Лист1»)
Приведенная выше формула создает гиперссылку с текстом перехода «Лист1», которая открывает Лист1 из текущей книги и устанавливает курсор в A1.
Если имя рабочего листа содержит пробелы или неалфавитные символы, оно обязательно должно быть заключено в одинарные кавычки, например:
=ГИПЕРССЫЛКА(«#‘Лист 1‘!A1″;»Лист 1″)
Таким же образом можно создать гиперссылку на другую ячейку того же листа. Например, чтобы вставить гиперссылку, которая приведет вас к ячейке A1 на том же листе, используйте формулу, подобную этой:
=ГИПЕРССЫЛКА(«#A1″;»Перейти к ячейке А1»)
Гиперссылка на другую книгу
Чтобы создать гиперссылку на другую книгу, необходимо указать полный путь к целевой книге в следующем формате:
«Диск:ПапкаКнига.xlsx»
Например:
=ГИПЕРССЫЛКА(«C:ГиперссылкиКнига2.xlsx»;»Книга2″)
Чтобы перейти на конкретный лист и даже в конкретную ячейку, используйте этот формат:
«[Диск:ПапкаКнига.xlsx]Лист!Ячейка»
Например, чтобы добавить гиперссылку с названием «Книга3», которая открывает Лист2 в Книга2, хранящейся в папке Гиперссылки на диске С, попробуйте следующую формулу:
=ГИПЕРССЫЛКА(«[C:ГиперссылкиКнига2.xlsx]Лист2!A1″;»Книга2 Лист2 А1»)
В данном случае вы используете так называемую абсолютную гиперссылку, в которой целевой адрес абсолютно зафиксирован.
Если вы планируете в ближайшее время переместить свои файлы в другое место, более целесообразно создать относительную гиперссылку примерно так:
=ГИПЕРССЫЛКА(«ГиперссылкиКнига2.xlsx»;»Книга2″)
И раз об этом зашел разговор, остановимся подробнее на абсолютных и относительных гиперссылках.
Абсолютные и относительные гиперссылки в Excel
Microsoft Excel поддерживает два типа ссылок: абсолютные и относительные, в зависимости от того, указываете ли вы полный или частичный адрес.
Абсолютная гиперссылка содержит полный адрес, включая протокол и доменное имя для URL-адресов, а также полный путь и имя файла для документов. Например:
Абсолютный URL: https://mister-office.ru/funktsii-excel/function-if-excel-primery.html
В Интернете общепринятой практикой является использование относительных URL-адресов. В гиперссылках Excel всегда следует указывать полные URL-адреса веб-страниц . Однако Microsoft Excel может понимать URL-адреса без протокола.
Например, если вы введете «www.mister-office.ru» в ячейку, Excel автоматически добавит протокол «http» по умолчанию и преобразует его в гиперссылку, по которой вы можете перейти.
Со ссылками на файлы немного сложнее.
При создании ссылок на файлы Excel или другие документы, хранящиеся на вашем компьютере, вы можете использовать как абсолютные, так и относительные адреса.
Абсолютная ссылка на файл Excel: C:Excel filesSource DataBook1.xlsx
В случае абсолютной гиперссылки путь к цели указан совершенно явно и точно и должен быть обновлен каждый раз, когда файл перемещается в другое место.
Относительная гиперссылка содержит частичный адрес. Например:
Пример относительной ссылки на файл Excel: Source dataBook1.xlsx
Относительная гиперссылка — это гиперссылка, которая содержит целевой адрес относительно адреса файла, в котором она записана.
В относительной гиперссылке отсутствующая часть пути к файлу относится к расположению активной книги. Основное преимущество этого подхода заключается в том, что вам не нужно редактировать адрес ссылки при перемещении файлов в другое место.
Например, если ваша активная книга и целевая книга находятся на диске C, а затем вы перемещаете их на диск D, относительные гиперссылки будут продолжать работать до тех пор, пока относительный путь к целевому файлу остается неизменным.
Гиперссылка на именованный диапазон
Если вы создаете гиперссылку на именованный диапазон на рабочем листе, укажите полный путь к целевому имени:
«[Диск:ПапкаКнига.xlsx]Лист!Имя»
Например, чтобы вставить ссылку на диапазон с именем «Диапазон_данных», хранящийся на Лист2 в Книга2, используйте следующую формулу:
=ГИПЕРССЫЛКА(«[C:ГиперссылкиКнига2.xlsx]Лист2!Диапазон_данных»;»Книга2 Лист2 Диапазон данных»)
Если вы ссылаетесь на именованный диапазон уровня рабочей книги, имя листа указывать не нужно, например:
=ГИПЕРССЫЛКА(«[C:ГиперссылкиКнига2.xlsx]Диапазон_данных_1″;»Диапазон данных 1»)
Гиперссылка для открытия файла, хранящегося на жестком диске
Чтобы создать ссылку, открывающую другой документ, укажите полный путь к этому документу в следующем формате:
«Диск:Папкаимя_файла.расширение»
Например, чтобы открыть документ Word с именем Прайс—лист, который хранится в папке Word files на диске D, используйте следующую формулу:
=ГИПЕРССЫЛКА(«D:Word filesПрайс-лист.docx»;»Прайс лист»)
Гиперссылка на закладку в документе Word
Чтобы сделать гиперссылку на определенное место в документе Word, заключите путь к документу в [квадратные скобки] и используйте закладку , чтобы определить место, к которому вы хотите перейти.
Например, следующая формула добавляет гиперссылку на закладку с именем Таблица_скидок в файле Цены.docx :
=ГИПЕРССЫЛКА(«[C:ГиперссылкиЦены.docx]Таблица_скидок»;»Скидки»)
Гиперссылка на файл на сетевом диске
Чтобы открыть файл, хранящийся в вашей локальной сети, укажите путь к этому файлу в формате универсального соглашения об именах (UNC), в котором перед именем сервера используется двойная обратная косая черта, например:
«\имя_серверапапкаимя_файла.расширение»
Приведенная ниже формула создает гиперссылку под названием « Прайс на сервере», которая открывает книгу «Прайс-лист.xlsx », хранящуюся на SERVER1 в папке Alex :
=ГИПЕРССЫЛКА(«\SERVERAlexПрайс-лист.xlsx»;»Прайс на сервере»)
Чтобы открыть сетевой файл Excel на определенном листе, заключите путь к файлу в [квадратные скобки] и напишите далее имя листа, восклицательный знак (!) и ячейку, на которую указывает ссылка:
=ГИПЕРССЫЛКА(«[\SERVERAlexПрайс-лист.xlsx]Лист1!А1″;»Прайс Лист1 на сервере»)
Гиперссылка на веб-страницу
Чтобы создать гиперссылку на веб-страницу в Интернете, укажите ее URL-адрес, заключенный в кавычки, например:
=ГИПЕРССЫЛКА(«https://www.mister-office.ru»4; «Перейти на Мистер Офис»)
Приведенная выше формула вставляет гиперссылку под названием «Перейти на Мистер Офис», которая открывает домашнюю страницу нашего веб-сайта.
Гиперссылка для отправки электронного письма
Чтобы создать по клику на ячейку новое сообщение для определенного получателя, укажите адрес электронной почты в следующем формате:
«mailto:email_address»
Например:
=ГИПЕРССЫЛКА(«mailto:alex@mister-office.ru»;»Отправить email»)
Приведенная выше формула добавляет гиперссылку под названием « Отправить email», и нажатие на нее создает новое почтовое сообщение.
Искать значение и создать гиперссылку на первое совпадение
При работе с большими наборами данных вы часто можете оказаться в ситуации, когда вам нужно найти конкретное значение и вернуть соответствующие данные из другого столбца. Для этого вы используете либо функцию ВПР, либо более мощную комбинацию ПОИСКПОЗ ИНДЕКС .
Но что, если вы хотите не только получить соответствующее значение, но и перейти к позиции этого значения в исходном наборе данных, чтобы просмотреть другие детали в той же строке? Это можно сделать с помощью функции ГИПЕРССЫЛКА Excel с некоторой помощью функций ЯЧЕЙКА, ИНДЕКС и ПОИСКПОЗ.
Общая формула для создания гиперссылки на первое совпадение выглядит следующим образом:
ГИПЕРССЫЛКА(«#»&ЯЧЕЙКА(«адрес»; ИНДЕКС( массив; ПОИСКПОЗ ( искомое_значение ; диапазон_поиска ;0))), ИНДЕКС( массив; ПОИСКПОЗ ( искомое_значение; диапазон_поиска ;0)))
Чтобы увидеть эту формулу в действии, рассмотрим следующий пример. Предположим, у вас есть список продавцов в столбце A и проданных товаров в столбце C. Вы хотите найти первый товар, проданный определенным продавцом, и создать гиперссылку на какую-либо ячейку в этой строке, чтобы вы могли перейти туда просмотреть все другие подробности, связанные именно с этим конкретным заказом.
С искомым значением в ячейке F2, списком продавцов (диапазон поиска) в A2:A10 и списком товаров (массив данных) в C2:C10 формула принимает следующий вид:
=ГИПЕРССЫЛКА(«#»&@ЯЧЕЙКА(«address»; ИНДЕКС($C$2:$C$10; ПОИСКПОЗ($E2;$A$2:$A$10;0))); ИНДЕКС($C$2:$C$10; ПОИСКПОЗ($E2;$A$2:$A$10;0)))
Как видно на скриншоте ниже, формула извлекает найденное значение и преобразует его в интерактивную гиперссылку, которая направляет пользователя к позиции первого совпадения в исходном наборе данных.
Если вы работаете с длинными строками данных, то может быть удобнее, чтобы гиперссылка указывала на первую ячейку в строке, где найдено совпадение. Для этого вы просто указываете другой массив в первой комбинации ИНДЕКС ПОИСКПОЗ – столбец A (в этом примере $A$2:$A$10):
=ГИПЕРССЫЛКА(«#»&@ЯЧЕЙКА(«address»; ИНДЕКС($A$2:$A$10; ПОИСКПОЗ($E2;$A$2:$A$10;0))); ИНДЕКС($C$2:$C$10; ПОИСКПОЗ($E2;$A$2:$A$10;0)))
Эта формула приведет вас к первой ячейке в строке с найденным товаром, который в нашем случае был обнаружен в третьей ячейке строки:
Примечание. Обратите внимание на использование абсолютных ссылок на ячейки для используемых диапазонов. Это важно, если вы планируете вставить более одной гиперссылки, скопировав формулу вниз по столбцу.
Как редактировать несколько гиперссылок одновременно
Как упоминалось в начале статьи, одним из наиболее полезных преимуществ гиперссылок на основе формул является возможность редактирования сразу нескольких формул гиперссылок за один приём с помощью функции Excel «Заменить все».
Предположим, вы хотите заменить старый URL-адрес своей компании (old-website.com) новым (new-website.com) во всех гиперссылках на текущем листе или во всей книге. Чтобы это сделать, выполните шаги, описанные ниже:
- Нажмите клавиши
Ctrl + Н
, чтобы открыть вкладку «Заменить» диалогового окна «Найти и заменить». - В поле «Найти» введите текст, который вы хотите изменить (в данном примере — «old-website.com»). В поле Заменить на введите новый текст («new-website.com» в данном примере).
- В правой части диалогового окна нажмите кнопку Параметры.
- В вкладке Параметры выберите Лист или Книга в зависимости от того, хотите ли вы изменить гиперссылки только на текущем листе или на всех листах текущей книги.
- Там же в параметрах в пункте Искать в выберите Формулы.
- В качестве дополнительной меры предосторожности сначала нажмите кнопку «Найти все», и Excel отобразит список всех формул, содержащих искомый текст:
- Просмотрите результаты поиска, чтобы убедиться, что вы хотите изменить все найденные формулы. Если вы это сделаете, перейдите к следующему шагу, в противном случае уточните поиск.
- Нажмите кнопку «Заменить все». Excel заменит указанный текст во всех найденных гиперссылках и сообщит, сколько изменений было внесено.
- Нажмите кнопку Закрыть. Готово!
Аналогичным образом вы можете одновременно редактировать текст ссылки (второй параметр) во всех формулах гиперссылки. При этом убедитесь, что заменяемый текст в аргументе имя нигде не появляется в адресе, чтобы не нарушить формулы.
ГИПЕРССЫЛКА Excel не работает — причины и решения
Самая распространенная причина, по которой формула гиперссылки не работает (и первое, что вы должны проверить!) — это несуществующий или неверный путь в аргументе адрес. Если это не так, проверьте следующие две вещи:
- Если место назначения ссылки не открывается при нажатии на гиперссылку, убедитесь, что расположение ссылки указано в правильном формате. Примеры формул для создания различных типов гиперссылок можно найти выше.
- Если вместо текста ссылки появится ошибка типа ЗНАЧ! или N/A, скорее всего, проблема связана с аргументом имя вашей формулы гиперссылки.
Как правило, такие ошибки возникают, когда имя возвращается какой-либо другой функцией (функциями), например, в нашем ВПР и гиперссылке на первое совпадение. В этом случае в ячейке формулы появится ошибка #Н/Д, если искомое значение не будет найдено в таблице поиска. Чтобы предотвратить такие ошибки, вы можете рассмотреть возможность использования функции ЕСЛИОШИБКА для отображения пустой строки или некоторого понятного для пользователя текста вместо значения ошибки.
Вот как можно создавать различные ссылки с помощью функции Excel ГИПЕРССЫЛКА.
Другие статьи по теме:
Гиперссылки широко используются в Интернете для навигации по сайтам и документам. Работая с файлами Excel вы также можете создавать гиперссылки, как на интернет-ресурсы, так и на ячейки, файлы или форму отправку Email.
Содержание
- Что такое гиперссылка
- Абсолютные и относительные гиперссылки в Excel
- Абсолютные гиперссылки
- Относительные гиперссылки
- Как создать гиперссылку в Excel
- Как создать гиперссылку в Excel на другой документ
- Как создать гиперссылку в Excel на веб-страницу
- Как создать гиперссылку в Excel на конкретную область в текущем документе
- Как создать гиперссылку в Excel на новую рабочую книгу
- Как создать гиперссылку в Excel на создание Email
- Как редактировать гиперссылку в Excel
- Как отформатировать гиперссылку в Excel
- Как удалить гиперссылку в Excel
Гиперссылка в Excel это ссылка, нажав на которую, пользователь может быть перемещен на конкретную ячейку, документ или интернет-страницу.
Excel позволяет создавать гиперссылки для:
- Перехода в определенное место в текущей книге;
- Открытия другого документа или перехода к определенному месту в этом документе, например лист в файле Excel или закладке в документе Word;
- Перехода на веб страницу в Интернете;
- Создания нового файла Excel;
- Отправки сообщения электронной почты по указанному адресу.
Гиперссылку в Excel легко заметить, она выглядит как подчеркнутый текст, выделенный синим цветом:
В Excel существует два типа гиперссылок: абсолютные и относительные.
Абсолютные гиперссылки содержат в себе полный интернет адрес или полный путь на компьютере. Например:
«https://excelhack.ru/funkciya-rept-povtor-v-excel/»
C:DesktopПрезентации
Относительные ссылки содержат в себе частичный путь, например:
funkciya-rept-povtor-v-excel/
DesktopПрезентации
Я рекомендую всегда использовать абсолютные ссылки, так как при переходе по относительным ссылкам в Excel файле, открытом на другом компьютере возможны ошибки.
Чтобы создать гиперссылку проделайте следующие шаги:
- Выделите ячейку, в которой вы хотите создать гиперссылку;
- Нажмите правую клавишу мыши;
- В выпадающем меню выберите пункт «Ссылка»:
- В диалоговом окне выберите файл или введите веб-адрес ссылки в поле «Адрес»:
Больше лайфхаков в нашем Telegram Подписаться
- Нажмите «ОК»
Ниже, мы подробней разберем как создать гиперссылку:
- На другой документ;
- На веб-страницу;
- На конкретную область в текущем документе;
- На новую рабочую книгу Excel;
- На окно отправки Email.
Чтобы указать гиперссылку на другой документ, например Excel, Word или Powerpoint файлы:
- Откройте диалоговое окно для создания гиперссылки;
- В разделе «Связать с» выберите «Файлом, веб-страницей»;
- В поле «Искать в» выберите папку, где лежит файл, на который вы хотите создать ссылку;
- В поле «Текст» введите текст, который будет отображаться в качестве ссылки;
- Нажмите «ОК».
Созданная вами гиперссылка будет выглядить ровно так, как вы настроили ее отображение.
Чтобы указать гиперссылку веб-страницу:
- Откройте диалоговое окно для создания гиперссылки;
- В разделе «Связать с» выберите пункт «Файлом, веб-страницей»;
- Нажмите на кнопку «Интернет»;
- Введите адрес веб-страницы в поле «Адрес»;
- В поле «Текст» укажите текст, отображаемый в виде ссылки.
Для создания гиперссылки на конкретный лист текущего файла Excel или ячейки:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью «Связать с» выберите «Файлом, веб-страницей»;
- В диалоговом окне нажмите кнопку «Закладка…» и выберите лист создания ссылки. В поле «Введите адрес ячейки» укажите ячейку.
Для вставки гиперссылки, после нажатия на которую будет создан новый Excel-файл:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью «Связать с» выберите «Новый документ»;
- В поле «Текст» укажите текст ссылки;
- В поле «Имя нового документа» укажите название нового Excel файла;
- В поле «Путь» укажите место хранения, где будет сохранен новый файл;
- В поле «Когда вносить правку в новый документ» укажите настройку, когда следует приступить к редактированию нового файла после нажатия ссылки.
- Нажмите кнопку «ОК»
Для вставки гиперссылки, после нажатия на которую будет создан e-mail:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью «Связать с» выберите «Электронная почта»;
- В поле «Текст» укажите текст ссылки;
- В поле «Адрес эл. почты» укажите E-mail адрес, куда будет отправлено письмо;
- В поле «Тема» укажите тему создаваемого письма;
- Нажмите кнопку «ОК»
Для редактирования уже созданной гиперссылки, кликните по ячейке со ссылкой правой клавишей мыши и в выпадающем меню выберите «Edit Hyperlink».
В диалоговом окне внесите корректировки в ссылку.
По умолчанию, все гиперссылки в Excel имеют традиционный формат в виде подчеркнутого текста синего цвета. Для того чтобы изменить формат гиперссылки:
- Перейдите на вкладку панели инструментов «Главная», затем в раздел «Стили ячеек»:
- Кликните на «Гиперссылка» правой кнопкой мыши и выберите пункт «Изменить» для редактирования формата ссылки:
- Кликните на «Открывавшаяся гиперссылка» правой кнопкой мыши и выберите пункт «Изменить» для редактирования формата ссылки;
- В диалоговом окне «Стили» нажмите кнопку «Формат»:
- в диалоговом окне «Format Cells» перейдите на вкладки «Шрифт» и/или «Заливка» для настройки формата ссылок:
- Нажмите кнопку «ОК».
Удаление гиперссылки осуществляется в два клика:
- Нажмите правой клавишей мыши на ячейки со ссылкой;
- В выпадающем меню выберите пункт «Удалить гиперссылку».
Как использовать более 255 символов в функции СЦЕПИТЬ в Excel? На самом деле я также использую функцию СЦЕПИТЬ в функции ГИПЕРССЫЛКА в EXCEL. Пример выглядит так:
=HYPERLINK(CONCATENATE("http://www.google/com/morethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255charsmorethan255chars","morethan255chars morethan255charsmorethan255charsmorethan255charsmorethan25"),"link");
ОБНОВЛЕНИЕ: это не проблема с функцией СЦЕПИТЬ, а проблема с первым параметром функции ГИПЕРССЫЛКА. Использование строки длиной более 255 символов прямо / косвенно (например: = ГИПЕРССЫЛКА (K204, «ссылка»), где K204 содержит ссылку длиной 256 символов) приводит к сбою функции ГИПЕРССЫЛКА.
Я понимаю, что могу использовать укорочитель URL-адресов, но я делаю это для МНОГО ссылок, которые потребуют ВСЕГО ручного использования сокращателя URL-адресов.
12 ответов
Лучший ответ
ОБНОВЛЕНИЕ: из-за комментария Карла я пересмотрел свой ответ и обнаружил, что Excel 2007, похоже, не позволяет функциям, определяемым пользователем, больше устанавливать гиперссылки (вполне разумно, см. Мой собственный комментарий в коде). Таким образом, исходный код (под строкой) не работает в более поздних версиях Excel (я не тестировал Excel 2010, но предполагаю, что результат такой же). По историческим причинам я не удаляю старый код (редактор может подумать иначе — не стесняйтесь редактировать / удалять соответственно).
Остается установить длинные гиперссылки программно, например
Sub insertVeryLongHyperlink()
Dim curCell As Range
Dim longHyperlink As String
Set curCell = Range("A1") ' or use any cell-reference
longHyperlink = "http://www.veryLongURL.com/abcde" ' Or a Cell reference like [C1]
curCell.Hyperlinks.Add Anchor:=curCell, _
Address:=longHyperlink, _
SubAddress:="", _
ScreenTip:=" - Click here to follow the hyperlink", _
TextToDisplay:="Long Hyperlink"
End Sub
Следующее больше не работает в Excel 2010; см. мой комментарий выше
«Скопировать гиперссылку из Word и вставить в Excel» заставило меня задуматься. Таким образом, очевидно, что ограничение есть как во встроенной функции ГИПЕРССЫЛКИ, так и в диалоговом окне «редактировать гиперссылку». С другой стороны, должно быть — и это действительно возможно — установить более длинные гиперссылки через VBA.
Этот код больше не работает в Excel 2010
Function myHyperlink(cell As Range, _
hyperlinkAddress As String, _
Optional TextToDisplay As Variant, _
Optional ScreenTip As Variant)
' Inserts a Hyperlink
' at the position cell (this should be the position where the UDF is used,
' since the return value of the UDF is = TextToDisplay)
' with the hyperlinkAddress
' optional TextToDisplay
' optional ScreenTip
' #######################################
' Warning Warning Warning Warning Warning
' #######################################
' 1) Since it is really bad practice to have a function perform procedural
' tasks, you should not do this.
' 2) You have no garantee, the link is updated when the value hyperlinkAddress changes
' USE AT YOUR ONE RISK AND ONLY IN CASE OF EMERGENCIES :-)
' If more than one cell is selected as target range,
' use the top left cell
Set cell = cell.Resize(1, 1)
If IsMissing(TextToDisplay) Then
TextToDisplay = hyperlinkAddress
End If
If IsMissing(ScreenTip) Then
ScreenTip = hyperlinkAddress & " - Click here to follow the hyperlink"
End If
cell.Hyperlinks.Add Anchor:=ActiveCell, _
Address:=hyperlinkAddress, _
SubAddress:="", _
ScreenTip:=ScreenTip, _
TextToDisplay:=TextToDisplay
' There doesn't seem to be another way to set TextToDisplay
myHyperlink = TextToDisplay
End Function
Используйте как обычную функцию Excel, но обязательно добавьте текущую ячейку в качестве первого параметра (т.е. следующая формула вставляется в ячейку A1)
=myHyperlink(A1,B1)
=myHyperlink(A1,B1,"TextToDisplay", "ScreenTip")
Вы не можете ни перетащить формулу, ни скопировать ее в другую ячейку. Если вы это сделаете, вам нужно разрешить пересчет формулы (ни ALT-CTRL-F9, ни ALT-CTRL-SHIFT-F9, поскольку принудительный пересчет, похоже, не работают), поэтому войдите в каждую ячейку, нажмите F2, чтобы активировать ее, и закончите с Return.
Надеюсь, я не помогу вам испортить слишком много Excel-Workbooks.
Вероятно, безопаснее написать явно запускаемый VBA, который выполняет итерацию по списку и записывает в гиперссылки. Таким образом, их можно использовать повторно, и в них не будет никаких функций.
С уважением, Андреас
4
Andreas J
29 Окт 2013 в 12:25
Возможно, вам не повезло. Кажется, что ограничение на количество символов для гиперссылок в Excel составляет 256, как указано здесь . Если вы проверите это самостоятельно (у меня тоже есть Excel 2007), =HYPERLINK(REPT("a",255))
работает, а =HYPERLINK(REPT("a",256))
— нет, и выдает ошибку #VALUE! .
1
ktdrv
9 Окт 2010 в 00:17
У меня есть Excel 2007, и я попытался создать ячейку с 300 символами в A1 и другую с 300 разными символами в B1.
Затем я сделал C1 = CONCATENATE(A1, B1)
.
Я вижу всех персонажей из обеих ячеек. Ничего не пропущено или усечено, и ошибок не было. Мне это нравится.
Что заставляет вас думать, что конкатенация не работает? У вас проблемы с просмотром результатов? Если ваша ячейка содержит более 1024 символов, в ячейке отображаются только первые 1024 символа. Однако они все еще там, и если вы скопируете и вставите их, все символы будут скопированы.
Изменить: Теперь, когда вы отредактировали свой вопрос, я понимаю, что проблема связана с HYPERLINK
, а не с CONCATENATE
.
Единственный способ обойти ограничение в 255 символов формулы HYPERLINK
в Excel — скопировать гиперссылку из Word и вставить ее в ячейку Excel. Тогда это может быть очень долго. Я знаю, что это необоснованный ручной процесс, если у вас много ссылок, но кажется, что это единственный способ поместить его в электронную таблицу Excel и при этом все еще иметь гиперссылку, по которой можно щелкнуть и перенаправить. Если вам не нужно, чтобы он действовал как гиперссылка, я бы предложил переписать ваши запросы, чтобы гиперссылка возвращалась в виде собственного текстового поля, и тогда все будет в порядке.
1
hyprsleepy
9 Окт 2010 в 00:42
Вот пример VBA, который использует bitly.com для сокращения URL-адреса. Он основан на документации bitly API.
- Создайте бесплатную учетную запись на bitly.
- Действительный адрес электронной почты с bitly.
- Получите токен доступа от bitly.
- Замените токен доступа в коде VBA ниже, где написано MY_TOKEN.
- Скопируйте и вставьте код в Excel VBA.
- В ячейке напишите следующее ‘= Hyperlink (GetURL («какой-то действительно длинный URL»))’ без одинарных кавычек ‘. Примечание. Вместо передачи строки в GetURL () передайте ссылку на ячейку, в которой есть URL-адрес в виде текста.
Public Function GetURL(longUrl As String) As String Dim xml As Object longUrl = URLEncode(longUrl) Set xml = CreateObject("MSXML2.XMLHTTP.6.0") xml.Open "GET", "https://api-ssl.bitly.com/v3/shorten?format=xml&access_token=MY_TOKEN=" & longUrl, False xml.Send GetURL = xml.responsetext head = InStr(GetURL, "<url>") + 5 tail = InStr(GetURL, "</url>") GetURL = Mid(GetURL, head, tail - head) End Function Function URLEncode(ByVal Text As String) As String Dim i As Integer Dim acode As Integer Dim char As String URLEncode = Text For i = Len(URLEncode) To 1 Step -1 acode = Asc(Mid$(URLEncode, i, 1)) Select Case acode Case 48 To 57, 65 To 90, 97 To 122 ' don't touch alphanumeric chars Case 32 ' replace space with "+" Mid$(URLEncode, i, 1) = "+" Case Else ' replace punctuation chars with "%hex" URLEncode = Left$(URLEncode, i - 1) & "%" & Hex$(acode) & Mid$(URLEncode, i + 1) End Select Next End Function
1
Nathan
8 Янв 2014 в 00:35
Не знаю, если мой ответ все еще полезен, но у меня была такая же проблема пару дней назад, лучший способ и проверенный способ сделать работоспособную гиперссылку, превышающую ограничение в 255 символов, — сначала разделить ее с помощью CONCATENATE()
и использовать ячейка с функцией CONCATENATE()
в VBA
.
Для меня это выглядит так:
A1 = LinkPart1
A2 = LinkPart2
A3 = LinkPart3
A5 = CONCATENATE( A1; A2; A3 )
VBA
Код, который необходимо связать с A5
:
Sub insertVeryLongHyperlink()
Dim curCell As Range
Dim longHyperlink As String
Set curCell = Range("A7") ' or use any cell-reference
longHyperlink = [A5]
curCell.Hyperlinks.Add Anchor:=curCell, _
Address:=longHyperlink, _
SubAddress:="", _
ScreenTip:=" - Click here to follow the hyperlink", _
TextToDisplay:="Click Here"
End Sub
1
user3666197
11 Дек 2015 в 21:21
Вместо того чтобы писать
=CONCATENATE("Toto";"Tata")
Поместите Toto
в ячейку Z1 (например) и Tata
в ячейку Z2 и напишите
=CONCATENATE(Z1;Z2)
0
GôTô
8 Окт 2010 в 23:14
Функция гиперссылки имеет жесткий предел, который нельзя переступить. У меня была аналогичная проблема, и я просто импортировал лист Excel в Open Office Calc и вуаля — все сработало мгновенно, и гиперссылка, которая раньше была слишком долгой, теперь может существовать столько, сколько я хотел.
0
Hexodus
25 Ноя 2015 в 16:59
Вы можете использовать процедуру VBA Shell () для запуска браузера и передачи ему URL-адреса в командной строке, переданной через вызов Shell (). Таким образом, URL-адрес может иметь любую длину, поддерживаемую механизмом оболочки.
Кроме того, вы можете получить этот URL-адрес из любого значения ячейки, дважды щелкнув эту ячейку пользователем. Это значение может быть создано из множества ячеек с помощью одного вызова функции CONCATENATE ()! Правильно: всего один звонок. CONCATENATE () примет большое количество параметров и создаст строку длиной более 255 символов. Вам не нужно кропотливо объединять множество отдельных конкатенаций или использовать множество ячеек-строителей. Подойдет один!
Макрос необходимо создать, открыв параметр ПРОСМОТР КОДА, когда вы щелкаете правой кнопкой мыши вкладку в нижней части рабочего листа. Затем напишите следующий феноменально короткий, простой и безболезненный фрагмент кода:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Selection.Count = 1 Then
If Left(Target.Value, 7) = "HTTP://" Then
Cancel = True
Shell ("""" + Range("Browser").Value + """" + " " + """" + Target.Value + """")
End If
End If
End Sub
Обратите внимание, что «Браузер» — это именованная ячейка, которая должна содержать путь вашего браузера без кавычек, будь то IE, Opera, Mozilla или Chrome. Вы должны назвать ячейку самостоятельно или изменить макрос, чтобы он имел жесткую ссылку на ячейку, например «A2». И, конечно же, это значение ячейки должно быть допустимым путем в браузере!
После того, как все это будет готово, вы можете дважды щелкнуть ЛЮБУЮ ячейку, значение которой начинается с текста «HTTP: //», и Excel откроет браузер с этим полным значением, независимо от его длины. Все, что вам затем нужно, это построить свою строку в этой ячейке и, возможно, отформатировать ее по цвету / шрифту, чтобы было очевидно, что это ячейка гиперссылки, которую нужно дважды щелкнуть. Текстовая подсказка рядом также может быть уместна!
Кстати, альтернативой строке Shell () в макросе является:
ThisWorkbook.FollowHyperlink Address:=Target.Value
Хотя это также будет обрабатывать URL-адреса, длина которых превышает 255 символов, я обнаружил, что эта функция FollowHyperlink () вызывает отправку URL-адреса ДВАЖДЫ. Один раз самой функцией Excel (предположительно, чтобы проверить ее), а затем снова браузером по умолчанию, который открывается в Excel! Это может быть нежелательно (и не в моем случае). Вот почему я решил использовать вместо этого функцию Shell ().
0
Alex T
18 Май 2017 в 07:06
Вы можете создать гиперссылку в Microsoft Word, а затем скопировать ее в Excel. По какой-то причине эти элементы гиперссылки не ограничены 255 символами, но вы не сможете использовать функцию HYPERLINK()
.
Источник
0
towe
29 Май 2019 в 08:58
Предполагая, что у вас не так много URL-адресов гиперссылок> 255 символов, просто используйте функцию Link. Функция ссылки доступна из контекстного меню. Нет необходимости переходить в Word или любое другое приложение MSOffice. Я знаю, что это работает, поскольку у меня есть URL-адрес длиной 281 символ, и этот работает. У меня есть только два очень длинных URL-адреса в моем листе, поэтому, когда / если они нуждаются в обновлении, я отмечаю, что они должны быть выполнены в целевой ячейке, а не в моем листе адресов гиперссылок.
0
H’berger
27 Мар 2020 в 16:34
Отработав ответ Андреаса Дж., вы можете использовать приведенный ниже фрагмент кода VBA для создания столбца гиперссылок из столбца простого -текстовые URI. Предполагая, что столбец A содержит URI в виде обычного текста, а столбец B содержит желаемый текст ссылки, следующий код проходит через каждую строку в Range("A:C")
и генерирует гиперссылку в столбце C:
Sub createLink(a As Range, b As Range, c As Range)
Dim curCell As Range
Dim longHyperlink As String
Dim linkText As String
Set curCell = a
longHyperlink = b
linkText = c
curCell.Hyperlinks.Add Anchor:=curCell, _
Address:=longHyperlink, _
SubAddress:="", _
ScreenTip:="", _
TextToDisplay:=linkText
End Sub
Sub insertLinks()
Dim a As Range, b As Range
Set a = Range("A:C")
For Each b In a.Rows
Dim curCell As Range, longHyperlink As Range, linkText As Range
Set curCell = b.Cells().Item(1, 3)
Set longHyperlink = b.Cells().Item(1, 1)
Set linkText = b.Cells().Item(1, 2)
If longHyperlink = "" Then
Exit For
End If
createLink curCell, longHyperlink, linkText
Next
End Sub
0
mark
19 Май 2021 в 18:14