Приложив немного усилий и ноу-хау, вы сможете форматировать телефонные номера в Таблицах LibreOffice.Calc так, как вам хочется. К сожалению, в Calc Таблицах нет встроенных предустановок форматирования телефонных номеров. Поэтому придётся поработать своими ручками.
Процесс применения форматирования прост; сложная часть заключается в определении правильного формата/формулы.
В этой статье я покажу вам, как форматировать телефонные номера в Таблицах LibreOffice.Calc и как создавать свои собственные форматы телефонных номеров.
Как форматировать номера телефонов в Таблицах LibreOffice.Calc
В этой части добавим стандарты форматирования внутренних телефонных номеров РФ для применения к «неформатированным» телефонным номерам. Сразу отмечу, что делалось всё для форматирования российских номеров. Для других стран совсем не так))
Термин «неформатированный» относится к телефонным номерами состоящих только из цифр: нет никакого форматирования, такого как тире, плюсы, пробелы или точки.
Следующие шаги показывают, как форматировать телефонные номера с неформатированными данными. В этом примере используется внутренний формат РФ: (123) 456-78-90.
1. Выделите столбец, который хотите отформатировать. В примере выделен столбец B (см. заголовок: Телефон)
2. Откройте раскрывающееся меню «Формат», выберите «Ячейки», выберите в Категориях «Особый» и впишите свой Код формата. Выключите параметры, если вдруг они включены: Отрицательные числа красным; Разделители разрядов.
3. Данные в столбце теперь будут соответствующим образом отформатированы как телефонные номера.
Проблема форматированных номеров
Иногда вам, возможно, придётся работать с телефонными номерами, которые уже отформатированы, но используют неправильный формат или попросту разнообразные форматы.
См. далее в руководстве, чтобы узнать, как удалить форматирование телефонных номеров, если вы получили их в неправильном формате.
Как написать формулу формата номера телефона
Существует множество различных способов форматирования телефонных номеров в разных контекстах по всему миру. В этой статье руководстве в качестве примера используются распространенные форматы телефонных номеров в РФ.
Вы можете найти форматирование, которое вы ищете, с помощью следующих примеров. Если нет, они могут предоставить базовый уровень, который вы можете изменить.
Примеры формул форматирования
Стиль: формула = пример
Внутренний стиль РФ: "8 ("###") "###"-"##"-"## = 8 (123) 456-78-90 Внутренний стиль РФ с тире: "8-"###"-"###"-"##"-"## = 8-123-456-78-90 Международный стиль РФ: "+7 "###" "###"-"##"-"## = +7 123 456-78-90 Стиль бланка РФ: "+7 ("###") "###"-"##"-"## = +7 (123) 456-78-90 Набираемый из Германии: "007-"###"-"###"-"#### = 007-123-456-7890
Методы формул для телефонных номеров
Пользовательская система форматирования чисел на первый взгляд может показаться довольно сложной. К счастью, телефонные номера, как правило, просты, поэтому вам нужно использовать систему только для добавления заранее определенных символов в определенные точки формулы.
Обработка чисел
Система формул использует «#» для обозначения порядковой цифры в формуле форматирования. Первый «#» указывает на первую цифру, второй «#» — на вторую цифру и так далее.
Если вы форматируете 10-значные телефонные номера, вы будете использовать «#» 10 раз в своей формуле.
Обработка символов
В зависимости от формата вы будете добавлять круглые скобки, тире, точки, пробелы, числовые префиксы и другую текстовую информацию.
Используются двойные кавычки для обозначения текстовой информации между числами.
Например, если вы хотите добавить тире между двумя цифрами, вы должны использовать формулу вида #”-”#.
Если вы примените этот формат (#”-”#) к ячейке со значением «21», она будет отображаться как «2-1».
Пример символьных ключей:
- # = представить следующую цифру в порядке появления.
- «» = отобразить текст
- » » = добавить пробел
- «(» и «)» = отобразить круглые скобки
- «-» = добавит тире
- «.» = добавит точку
- «001» = добавляет заранее определенные числа
- «+7-» = добавляет международный код +7, за которым следует тире.
Как удалить существующее форматирование из телефонных номеров
В зависимости от того, как получена информация о номере телефона в вашей электронной таблице, вы можете столкнуться со случаями несогласованного форматирования. Некоторые числа могут иметь форматирование, а другие — просто цифры.
Вместо того чтобы пытаться придумать формулу, учитывающую все виды форматов телефонных номеров, проще просто удалить всё существующее форматирование, лишние символы, знаки и начать заново.
Следующие шаги объясняют, как удалить форматирование с помощью формулы, и которая удалит все нецифровые значения из ячейки.
=VALUE(REGEX(*выбранная_ячейка*;"[^[:digit:]]";"";"g"))
В этом примере показано, как удалить излишнее форматирование телефонных номеров из предварительно отформатированных чисел.
И видно, что когда строка номера более 10 символов появляется проблема.
Но можно продвинуться дальше и решить дополнительно такие варианты:
- цифр больше чем 10, обрежем лишнее, отсчитав 10 с конца строки.
- цифр меньше чем 10, явно утеряны данные, напишем NO PHONE
=IF(LEN(REGEX(*выбранная_ячейка*;"[^[:digit:]]";"";"g"))<10;"NO PHONE";VALUE(RIGHT(REGEX(*выбранная_ячейка*;"[^[:digit:]]";"";"g");10)))
Теперь когда всё лишнее убрали, и применили форматирование, о котором было выше, теперь можно используя «копипаст». Надо выделить отформатированный столбец и вставить в исходный.
Важно при вставке использовать «Правка» / «Вставить как» / «Только текст».
Вот видимо и всё, что я мог придумать из простого.
P.S. Если городить огород, то надо писать скрипт и взять за основу библиотеку phonenumbers от Google.
Какую формулу использовать в Google Sheets
В таблицах Google формулы фактически идентичны с LibreOffice, но в данном случае есть отличие:
=IF(LEN(RIGHT(REGEXREPLACE(*выбранная_ячейка* ;"[^[:digit:]]";"");10))<10;"NO PHONE";VALUE(RIGHT(REGEXREPLACE(*выбранная_ячейка* ;"[^[:digit:]]";"");10)))
На этом всё. Пишите письма.