Задать вопрос
@nikk20251

Как получить нужный формат отображения номера в Google Sheets?

Подскажите пожалуйста как с этого 899)581-39-77 сделать такой 899 581 3977 спасибо!

использую формулу: =REGEXREPLACE(A1;"[^0-9+]+";" ") получается так 899 581 39 77, как сделать так 899 581 3977

формат отображения не работает (пробовали на ячейку и столбец):
000\ 000\ 0000
###\ ###\ ####

2. и как прописать формулу если номеров одном в ряду несколько, пример: +38(050)537-26-37; +38(050)537-26-00
получить: 050 537 2637, 050 537- 2600

Спасибо!
  • Вопрос задан
  • 31 просмотр
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Используйте формулу от Антон Весельчак, только в качестве разделителя ";" - у ваc локаль русская, видимо.
=REGEXREPLACE(REGEXREPLACE(A1;"[^0-9]"; ""); "(\d{3})(\d{3})(\d{4})"; "$1 $2 $3")

67f1056a444f6054670676.png

Для второго случая:
=JOIN(", "; ARRAYFORMULA(REGEXREPLACE(MID(REGEXREPLACE(A1; "[^0-9]"; ""); {3;15}; 10);"(\d{3})(\d{3})(\d{4})"; "$1 $2 $3")))

67f10a96791a1062896190.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
veselov4nton
@veselov4nton
Системный администратор.
Для первого случая, чтобы получить формат "899 581 3977", нужно просто заменить регулярное выражение, которое используется в REGEXREPLACE. Вот так будет работать:

Для первого случая:

=REGEXREPLACE(REGEXREPLACE(A1, "[^0-9]", ""), "(\d{3})(\d{3})(\d{4})", "$1 $2 $3")
Это удаляет все ненужные символы и потом форматирует номер так, как вам нужно.

Для второго случая (когда номеров несколько): Если номера записаны в одной ячейке, например, как +38(050)537-26-37; +38(050)537-26-00, вы можете воспользоваться такой формулой:

=TEXTJOIN(", "; TRUE; ARRAYFORMULA(REGEXREPLACE(REGEXREPLACE(A1:A, "[^0-9]", ""), "(\d{3})(\d{3})(\d{4})", "$1 $2 $3")))
Эта формула будет обрабатывать список номеров в строках и выводить их в одном столбце в нужном формате.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы