Процедура из статьи доступна в бесплатной версии !SEMTools, Lite и Pro.
Кавычки-ёлочки в Excel — та ещё мелочь, которая отнимает время: на клавиатуре их нет, Excel сам их не подставляет, а в выгрузках из 1С, CRM и с сайтов названия приходят с прямыми кавычками. Разберу, как поставить ёлочки вручную, как написать их в формуле и как заменить прямые кавычки на «ёлочки» во всём столбце сразу.
Если кавычки нужно не заменить, а убрать совсем, смотрите, как удалить знаки препинания в Excel.
Ёлочки, лапки и прямые кавычки — в чём разница
В русской типографике основные кавычки — «ёлочки», а для кавычек внутри кавычек используют „лапки“. Прямые кавычки » — машинописные, их ставит клавиатура, и именно они приходят в таблицы из большинства систем.
| Кавычки | Пример | Где встречаются |
|---|---|---|
| «ёлочки» | ООО «Ромашка» | Договоры, сайты, печатные документы на русском |
| „лапки“ | «Завод „Луч“» | Кавычки внутри кавычек |
| «прямые» | ООО «Ромашка» | Выгрузки из 1С, CRM, CSV, тексты с клавиатуры |
| “английские” | “Hello” | Тексты из Word и англоязычных источников |
Для Excel это разные символы. Формула или фильтр, которые ищут «Ромашка» в ёлочках, не найдут «Ромашка» в прямых кавычках — и наоборот. Поэтому кавычки в одном столбце лучше привести к одному виду.
Как поставить кавычки-ёлочки в ячейке Excel
В отличие от Word, Excel не заменяет прямые кавычки на ёлочки автоматически. Варианты такие:
- Alt-коды (Windows). Зажмите Alt и наберите на цифровом блоке клавиатуры 0171 — получится «, 0187 — ». Для лапок: 0132 — „, 0147 — “. NumLock должен быть включён.
- Вставка → Символ. Найдите ёлочки в таблице символов и вставьте двойным кликом. Последние использованные символы Excel запоминает, так что второй раз будет быстрее.
- Автозамена. Файл → Параметры → Правописание → Параметры автозамены. Добавьте правило: заменять, например, << на « и >> на ». Список автозамены общий для Word и Excel, поэтому правило заработает в обеих программах.
Автозамена — самый удобный способ, если ёлочки приходится набирать вручную постоянно. А для готовых данных ни один из этих способов не подходит: перебирать ячейки по одной никто не будет.
Кавычки внутри формулы Excel: ёлочки и прямые
В формулах прямая кавычка — служебный символ: ею начинается и заканчивается текст. Чтобы вывести прямую кавычку внутри текста, её удваивают:
="ООО ""Ромашка"""
Формула вернёт ООО «Ромашка». С ёлочками проще — для Excel это обычные символы, удваивать их не нужно:
="ООО «Ромашка»"
Если ёлочки неудобно вставлять в формулу, их можно получить функцией СИМВОЛ по коду: 171 — «, 187 — ». Эта формула оборачивает в ёлочки название из ячейки A2:
="ООО "&СИМВОЛ(171)&A2&СИМВОЛ(187)
Вместо СИМВОЛ можно использовать ЮНИСИМВ с теми же кодами 171 и 187 — они совпадают с кодами Unicode. Для лапок понадобится именно ЮНИСИМВ: „ — 8222, “ — 8220.
Заменить прямые кавычки на ёлочки формулой
Короткий ответ для спешащих: если в ячейке одна пара кавычек, хватит двух вложенных функций ПОДСТАВИТЬ. Первая меняет первую прямую кавычку на открывающую ёлочку, вторая — следующую на закрывающую:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"""";"«";1);"""";"»";1)
Четыре кавычки подряд — это текст из одной прямой кавычки: внешние обозначают строку, внутренние удвоены. Последний аргумент 1 говорит ПОДСТАВИТЬ заменить только первое вхождение.
Если пар несколько, например «Ромашка» и «Лютик» в одной ячейке, пригодятся регулярные выражения. В Excel 365 это функция РЕГЗАМЕНИТЬ (REGEXREPLACE):
=РЕГЗАМЕНИТЬ(A2;"""([^""]*)""";"«$1»")
Регулярка находит каждый фрагмент в прямых кавычках и ставит его между ёлочками, $1 — найденный текст. В Excel 2010–2021 такая же формула работает с функцией REGEXREPLACE из !SEMTools — она есть даже в бесплатной версии. Подробнее о синтаксисе — в статье про регулярные выражения в Excel.
А что со штатной процедурой «Найти и заменить»? Она меняет все кавычки на один символ, а открывающую от закрывающей не отличает. Можно хитрить — заменять пробел с кавычкой на пробел с «, кавычку с пробелом на » с пробелом, — но кавычки в начале и в конце ячейки, перед запятой и точкой потребуют отдельных проходов. Подробнее о самой процедуре — в статье про массовую замену в Excel.
Заменить кавычки на ёлочки во всём столбце с !SEMTools
Все формулы выше требуют вспомогательного столбца: вбить формулу, протянуть, заменить формулы значениями, удалить исходный столбец. В !SEMTools для этого есть отдельная процедура: ИЗМЕНИТЬ → Символы → «Кавычки->Ёлочки». Выделили столбец, нажали кнопку — вуаля, кавычки заменены прямо на месте.
Как она работает:
- меняет только прямые двойные кавычки «, по очереди: первая становится открывающей «, вторая — закрывающей », третья — снова открывающей и так далее;
- английские “ ” и лапки „ “, а также одинарные кавычки ‘ не трогает;
- заодно убирает пробелы в начале и в конце ячейки — во всех выделенных ячейках, даже без кавычек.
| Было | Стало |
|---|---|
| ООО «Ромашка» | ООО «Ромашка» |
| Поставка «Лютик» и «Василёк» | Поставка «Лютик» и «Василёк» |
| «Северный ветер», г. Казань | «Северный ветер», г. Казань |
В бесплатной версии !SEMTools процедура обработает примерно 2/3 ячеек, остальные заменит надписью «Доступно в полной версии».
Вложенные кавычки: ёлочки и лапки
Это самый коварный случай. В строке ООО «Фирма «Альфа»» по прямым кавычкам невозможно понять, какая из них открывает вложенное название, а какая закрывает внешнее. Процедура честно чередует ёлочки и вернёт ООО «Фирма »Альфа«» — то есть неправильно. Формула с регуляркой тоже ошибётся.
Как быть:
- найдите ячейки с четырьмя и более кавычками и поправьте их отдельно — обычно таких единицы;
- для внутренних кавычек по правилам типографики ставьте лапки: «Фирма „Альфа“»;
- если в источнике вложенные кавычки встречаются часто, исправляйте их до замены, пока они ещё прямые.
Найти такие ячейки поможет формула, которая считает прямые кавычки в ячейке:
=ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"""";""))
Отфильтруйте результат больше 2 — это кандидаты на ручную правку. Функция ДЛСТР считает длину строки до и после удаления кавычек, разница и есть их количество.
Почему ёлочки встают неправильно — частые ошибки
- Ёлочки «смотрят» не туда. В ячейке нечётное число прямых кавычек — одной не хватает пары. Проверьте количество формулой выше: нечётное значение означает, что кавычку потеряли ещё в источнике.
- Часть кавычек не заменилась. Это не прямые, а английские “ ” или одинарные ‘ кавычки. Замените их на прямые через «Найти и заменить», а затем запустите замену на ёлочки.
- Вложенные кавычки перепутались. Смотрите раздел выше: такие ячейки правятся вручную.
- Формула выдаёт ошибку. Внутри текста формулы прямая кавычка не удвоена. Каждую » внутри строки пишите как «».
- Поиск и ВПР перестали находить значения. После замены в одной таблице названия с ёлочками, в другой — с прямыми кавычками. Приведите кавычки к одному виду в обеих таблицах.
Заменить прямые кавычки на типографские «ёлочки» во всём столбце можно за пару кликов прямо в исходных ячейках, без формул и вспомогательных столбцов. Процедура доступна даже в бесплатной версии !SEMTools.
Итоги: как быстрее поставить кавычки-ёлочки
Надеюсь, на этой странице вы нашли то, что искали, и смогли расставить кавычки-ёлочки в своих таблицах. Для ручного набора настройте автозамену или запомните Alt-коды 0171 и 0187, в формулах используйте СИМВОЛ(171) и СИМВОЛ(187). Для готовых данных формулы с ПОДСТАВИТЬ и регулярками работают, но требуют вспомогательного столбца, а процедура !SEMTools меняет кавычки на месте в 2 клика. Вас наверняка заинтересуют и похожие операции: найти и заменить звёздочки в Excel и все специальные символы Excel.