Гиперссылки в Microsoft Excel — удобный инструмент для быстрого перехода к веб-страницам, файлам или ячейкам внутри книги. Но иногда они становятся помехой: мешают сортировке данных, усложняют копирование информации в другие программы или просто визуально загромождают таблицу. Преобразование гиперссылок в обычный текст — задача, с которой сталкиваются и новички, и опытные пользователи. Причин для этого масса: от подготовки отчётов для печати до импорта данных в базы, где формат гиперссылок не поддерживается.
В этой статье вы найдёте 5 проверенных способов удалить гиперссылки, сохранив при этом их текстовое содержимое — от простых кликов мышью до автоматизации через VBA. Мы разберём нюансы для разных версий Excel (включая Excel 365 и Excel 2019), покажем, как избежать типичных ошибок, и дадим рекомендации по оптимизации процесса для больших таблиц. Если вы работаете с данными, где гиперссылки — лишь оболочка для полезной информации, эта инструкция сэкономит вам часы рутинной работы.
Перед тем как приступить, убедитесь, что у вас есть резервная копия файла. Некоторые методы (особенно с использованием макросов) могут необратимо изменить данные. Также обратите внимание: если гиперссылки в вашей таблице динамически обновляются (например, через HYPERLINK()), после преобразования они перестанут быть "живыми" — это нормально, если ваша цель именно в извлечении текста.
1. Ручной способ: удаление гиперссылок через контекстное меню
Самый простой метод, который не требует знания формул или скриптов. Подходит для обработки небольшого количества ячеек (до 50–100), где гиперссылки разбросаны хаотично. Его главный плюс — визуальный контроль над каждой ячейкой.
Чтобы удалить гиперссылку и оставить текст:
- Выделите ячейку (или диапазон ячеек) с гиперссылкой.
- Нажмите правой кнопкой мыши и выберите в контекстном меню пункт "Удалить гиперссылку" (Remove Hyperlink в английской версии).
- Готово! Текст останется, а синее подчёркивание и возможность перехода исчезнут.
⚠️ Внимание: Если вы выделите несколько ячеек, среди которых есть и обычные (без гиперссылок), команда Удалить гиперссылку будет неактивна. В этом случае придётся обрабатывать ячейки по одной или использовать другие методы из этой статьи.
Этот способ идеален для разовых задач, но становится утомительным при работе с сотнями строк. Например, если у вас таблица с 500 гиперссылками, ручное удаление займёт не менее 20–30 минут. В таких случаях лучше прибегнуть к автоматизации (см. разделы 3–5).
2. Копирование через "Блокнот": обходной путь для любых версий Excel
Этот метод работает во всех версиях Excel, включая устаревшие (Excel 2007, Excel 2010), и не требует установки дополнительных надстроек. Его суть — в использовании промежуточного буфера обмена, который "обнуляет" форматирование, включая гиперссылки.
Пошаговая инструкция:
- Выделите диапазон ячеек с гиперссылками.
- Скопируйте их (
Ctrl + C). - Откройте стандартный Блокнот (
notepad.exe) и вставьте данные (Ctrl + V). - Скопируйте текст из Блокнота обратно (
Ctrl + C). - Вернитесь в Excel и вставьте данные (
Ctrl + V) в нужное место.
✅ Плюсы метода:
- 🔹 Работает в любых версиях Excel и даже в Google Sheets.
- 🔹 Сохраняет текстовое содержимое без искажений.
- 🔹 Не требует знания формул или макросов.
❌ Минусы:
- 🔸 Теряется всё форматирование (шрифты, цвета, выравнивание).
- 🔸 Не подходит для больших таблиц (более 1000 строк) из-за ограничений Блокнота.
- 🔸 Если в ячейках были формулы, они превратятся в статичные значения.
Этот способ особенно полезен, если вам нужно экспортировать данные в другую программу (например, в Word или 1С), где гиперссылки не требуются. Однако для внутренней обработки в Excel лучше использовать более "чистые" методы (см. следующий раздел).
3. Формулы для извлечения текста из гиперссылок
Если гиперссылки в вашей таблице созданы через функцию HYPERLINK(), их текстовое содержимое можно извлечь с помощью формул. Этот метод не удаляет сами гиперссылки, а создаёт их текстовые копии в соседних ячейках. Подходит для автоматизации и работы с динамическими данными.
Рассмотрим две ключевые функции:
1. Функция LEFT + FIND (для ссылок вида "Текст|URL")
Если ваша гиперссылка имеет формат =HYPERLINK("https://example.com", "Нажми сюда"), текст ("Нажми сюда") можно извлечь так:
=LEFT(A1; FIND("|"; A1) - 1)
Но этот подход работает только для ручного ввода гиперссылок в формате Текст|URL. Для стандартных гиперссылок Excel используйте второй метод.
2. Функция HYPERLINK с извлечением адреса
Чтобы получить отображаемый текст гиперссылки (то, что видит пользователь), используйте комбинацию:
=IF(ISFORMULA(A1); MID(FORMULATEXT(A1); FIND(""""; FORMULATEXT(A1); FIND("HYPERLINK"; FORMULATEXT(A1))) + 1; FIND(""""; FORMULATEXT(A1); FIND(""""; FORMULATEXT(A1); FIND("HYPERLINK"; FORMULATEXT(A1))) + 1) - FIND(""""; FORMULATEXT(A1); FIND("HYPERLINK"; FORMULATEXT(A1))) - 1); A1)
Эта формула:
- 🔹 Проверяет, является ли ячейка формулой (
ISFORMULA). - 🔹 Извлекает текст между вторыми кавычками в функции
HYPERLINK. - 🔹 Если ячейка не формула, возвращает её значение как есть.
⚠️ Внимание: Формула FORMULATEXT доступна только в Excel 2013 и новее. Для старых версий используйте VBA (раздел 5) или ручное копирование (раздел 2).
После извлечения текста вы можете скопировать полученные значения и вставить их поверх оригинальных гиперссылок с помощью специальной вставки (Ctrl + Alt + V → Значения).
Создайте резервную копию файла|Проверьте версию Excel (нужна 2013+ для FORMULATEXT)|Выделите столбец для результатов|Примените специальную вставку после расчётов-->
4. Надстройка "Power Query": обработка больших массивов данных
Если вам нужно очистить от гиперссылок тысячи строк, ручные методы и формулы будут неэффективны. В этом случае на помощь придёт Power Query — инструмент для преобразования данных, встроенный в Excel 2016 и новее (в Excel 2010/2013 требуется бесплатная надстройка).
Пошаговая инструкция:
- Выделите диапазон с гиперссылками и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+) илиPower Query → Из таблицы(в Excel 2010/2013). - В открывшемся редакторе Power Query выделите столбец с гиперссылками.
- Перейдите на вкладку
Преобразованиеи выберитеИзвлечь → Текст до разделителя. - В качестве разделителя укажите символ
#(или другой, который не встречается в ваших данных). Это принудительно извлечёт текстовое содержимое. - Нажмите
Закрыть и загрузить, чтобы вернуть данные в Excel.
✅ Преимущества метода:
- 🔹 Обрабатывает миллионы строк за секунды.
- 🔹 Сохраняет структуру данных (не превращает всё в один столбец).
- 🔹 Позволяет автоматизировать процесс для регулярных отчётов.
❌ Недостатки:
- 🔸 Требует изучения интерфейса Power Query.
- 🔸 В старых версиях Excel нужно устанавливать надстройку.
Важно: Если ваши гиперссылки созданы через функцию HYPERLINK(), в Power Query они отобразятся как ошибки. В этом случае предварительно замените формулы на значения (выделите ячейки → Ctrl + C → Ctrl + Alt + V → Значения).
| Метод | Скорость | Сохранение форматирования | Подходит для больших данных | Требует навыков |
|---|---|---|---|---|
| Ручное удаление | ⭐ (медленно) | ✅ Да | ❌ Нет | ❌ Нет |
| Копирование через Блокнот | ⭐⭐ (средне) | ❌ Нет | ❌ Нет | ❌ Нет |
| Формулы | ⭐⭐⭐ (быстро) | ✅ Частично | ✅ Да | ⭐⭐ Средние |
| Power Query | ⭐⭐⭐⭐⭐ (мгновенно) | ❌ Нет | ✅ Да | ⭐⭐⭐ Высокие |
| VBA-макрос | ⭐⭐⭐⭐ (очень быстро) | ✅ Да | ✅ Да | ⭐⭐⭐⭐ Высокие |
5. Автоматизация через VBA: макрос для удаления всех гиперссылок
Для пользователей, которые регулярно работают с гиперссылками, лучшее решение — создать макрос. Он удалит все гиперссылки в выделенном диапазоне или на всём листе за доли секунды, сохранив при этом текст и форматирование.
Вот готовый код макроса, который удаляет гиперссылки, но оставляет их текстовое содержимое:
Sub RemoveHyperlinksKeepText()
Dim cell As Range
For Each cell In Selection
If cell.Hyperlinks.Count > 0 Then
cell.Value = cell.Text
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите нужный диапазон и запустите макрос (
Alt + F8 → RemoveHyperlinksKeepText → Выполнить).
⚠️ Внимание: Перед первым запуском макроса проверьте настройки безопасности Excel: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов. Выберите Включить все макросы (временно) или добавьте файл в список надёжных местоположений.
Для обработки всего листа автоматически используйте этот вариант кода:
Sub RemoveAllHyperlinksInSheet()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Hyperlinks.Delete
End Sub
Этот макрос удалит все гиперссылки на активном листе, но сохранит текст. Если вам нужно обработать всю книгу, добавьте цикл по листам:
Sub RemoveHyperlinksInWorkbook()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Hyperlinks.Delete
Next ws
End Sub
💡 Совет: Чтобы макрос был всегда под рукой, добавьте его на панель быстрого доступа:
- Нажмите на стрелочку вниз на панели инструментов.
- Выберите
Другие команды. - В выпадающем списке
Выбрать команды из:выберитеМакросы. - Найдите ваш макрос (
RemoveHyperlinksKeepText) и добавьте его на панель.
6. Особенности работы с гиперссылками в Excel Online и Google Sheets
Excel Online (веб-версия) и Google Sheets имеют ограничения по сравнению с десктопной версией. Например, в них нет Power Query и VBA, а некоторые функции (вроде FORMULATEXT) работают иначе. Разберём альтернативные методы для облачных таблиц.
В Excel Online:
- 🔹 Ручное удаление гиперссылок доступно через контекстное меню (как в десктопной версии).
- 🔹 Формулы работают, но
FORMULATEXTможет вернуть ошибку. Используйте=MID(FORMULATEXT(A1); FIND(""""; FORMULATEXT(A1); 10) + 1; 100)для извлечения текста. - 🔹 Копирование через Блокнот (раздел 2) работает без ограничений.
В Google Sheets:
- 🔹 Чтобы удалить гиперссылку, выделите ячейку и нажмите
Ctrl + \(или выберите в менюПравка → Очистить форматирование). - 🔹 Для извлечения текста из
HYPERLINK()используйте:=REGEXEXTRACT(FORMULATEXT(A1); ""HYPERLINK\("".""; ""(.)""\)""") - 🔹 В Google Sheets нет аналога Power Query, но можно использовать Apps Script для автоматизации (аналог VBA).
⚠️ Внимание: В Google Sheets при копировании данных с гиперссылками через Ctrl + C → Ctrl + V внутри документа ссылки сохранятся. Чтобы их удалить, используйте Правка → Копировать → Специальная вставка → Только значения.
Если вы часто работаете в облачных таблицах, рассмотрите возможность экспорта данных в Excel для обработки, а затем импорта обратно. Это позволит использовать все методы из этой статьи, включая Power Query и VBA.
При замене гиперссылок на текст пользователи часто сталкиваются с неожиданными проблемами. Вот самые распространённые из них и способы их решения:
1. Потеря данных при копировании через Блокнот
Если после вставки из Блокнота в Excel данные "разъехались" по столбцам, причина в разделителях (запятые, табуляции). Решение:
2. Макрос не работает
Частые причины:
3. Формулы возвращают ошибку #ЗНАЧ!
Это происходит, если:
4. Гиперссылки возвращаются после сохранения
Если после удаления гиперссылки снова появляются при открытии файла, причина в связанных данных или автообновлении ссылок. Решение:
Это происходит, если в вашей таблице есть связанные данные (например, импорт из веб-источника или другой книги Excel) или включено автообновление ссылок. Excel может воспринимать такие данные как "динамические" и восстанавливать гиперссылки при пересчёте. Чтобы этого избежать, прервите связи: Типичные ошибки и как их избежать
Ctrl + H).Текст по столбцам (Данные → Текст по столбцам) для правильного распределения данных.
HYPERLINK() (проверьте через ЕСЛИ(ЕФОРМУЛА(A1); "Да"; "Нет")).").
.xlsx (а не .xlsm), если макросы не нужны.Файл → Параметры → Формулы → Параметры вычислений (отключите Автоматическое обновление ссылок).Почему гиперссылки могут самовосстанавливаться?
Данные → Подключения → Изменить связи → Разорвать связь.
FAQ: Частые вопросы по замене гиперссылок в Excel
Можно ли удалить гиперссылки, но сохранить их адреса (URL)?
Да. Если гиперссылки созданы через функцию HYPERLINK(), используйте формулу для извлечения URL:
=IF(ISFORMULA(A1); MID(FORMULATEXT(A1); FIND(""""; FORMULATEXT(A1)) + 1; FIND(""""; FORMULATEXT(A1); FIND(""""; FORMULATEXT(A1)) + 1) - FIND(""""; FORMULATEXT(A1)) - 1); "")
Для гиперссылок, созданных вручную (через Вставка → Гиперссылка), URL можно извлечь только через VBA:
Sub ExtractHyperlinkURLs()
Dim cell As Range
For Each cell In Selection
If cell.Hyperlinks.Count > 0 Then
cell.Offset(0, 1).Value = cell.Hyperlinks(1).Address
End If
Next cell
End Sub
Этот макрос запишет URL в соседнюю ячейку справа.
Почему после удаления гиперссылок текст становится синим и подчёркнутым?
Это означает, что к ячейке применён стиль Гиперссылка. Чтобы убрать форматирование:
- Выделите ячейки.
- Нажмите
Ctrl + 1(Формат ячеек). - Перейдите на вкладку
Шрифти снимите галочку сПодчёркивание. - На вкладке
Защитаубедитесь, что флажокГиперссылкаснят.
Также можно применить стиль Обычный через панель инструментов.
Как удалить гиперссылки в защищённом листе?
Если лист защищён, вы не сможете редактировать ячейки или запускать макросы. Решения:
- 🔹 Снимите защиту:
Рецензирование → Снять защиту листа(нужен пароль). - 🔹 Скопируйте данные на новый лист (
Ctrl + A → Ctrl + C → создать новый лист → Ctrl + V). - 🔹 Используйте Power Query (раздел 4), так как он работает независимо от защиты листа.
⚠️ Если вы не знаете пароль, единственный способ — создать копию файла и удалить защиту через VBA (это требует прав администратора).
Можно ли автоматически заменять гиперссылки на текст при открытии файла?
Да, с помощью макроса, который запускается при открытии книги. Вставьте этот код в модуль ThisWorkbook:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim cell As Range
For Each cell In ws.UsedRange
If cell.Hyperlinks.Count > 0 Then
cell.Value = cell.Text
End If
Next cell
Next ws
End Sub
⚠️ Внимание: Этот макрос будет удалять все гиперссылки при каждом открытии файла. Сохраните резервную копию!
Как заменить гиперссылки на текст в сводной таблице?
Сводные таблицы не поддерживают редактирование ячеек напрямую. Варианты решений:
- 🔹 Преобразуйте сводную таблицу в обычный диапазон: выделите её →
Анализ → Преобразовать в диапазон. - 🔹 Используйте Power Query для импорта данных сводной таблицы и очистки гиперссылок.
- 🔹 Создайте копию исходных данных без гиперссылок и перестройте сводную таблицу заново.