Excel номер телефона одинаково

 

maves

Пользователь

Сообщений: 5
Регистрация: 15.01.2020

Добрый день! Нужно поменять из основного формата, чтобы номера телефонов отображались в виде: +7 (999) 999-99-99. Формат ячеек использовать нельзя, так как при загрузке файла по месту требования, формат файла теряется и номера остаются набраны в первоначальном виде. Файл прилагается.

Изменено: maves15.01.2020 11:32:08

 

Mershik

Пользователь

Сообщений: 8277
Регистрация: 03.12.2015

maves, а всегда они вбиваются как сейчас в примере? потому что это может влиять на решение…если возможны разные вводы тел. номеров покажите их в примере максимально больше

Не бойтесь совершенства. Вам его не достичь.

 

maves

Пользователь

Сообщений: 5
Регистрация: 15.01.2020

Спасибо. Да они всегда вбиваются по разному, разными людьми. Поэтому и хотелось бы автоматически их как-то преобразовать в один формат вида +7 (999) 999-99-99
Прикрепила файл с различными вариантами

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#4

15.01.2020 12:14:51

в соседний столбец протянуть скопировать вставить как значения в основной столбец

Код
=ТЕКСТ(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(I3;"-";"");"(";"");")";"");"+";"");" ";"");10);"+7 (000) 000-00-00")

Лень двигатель прогресса, доказано!!!

 

maves

Пользователь

Сообщений: 5
Регистрация: 15.01.2020

Спасибо за формулу.

А можно ли в этом же столбце как то заменить. В этом файле должны быть указаны именно номера в одном столбце, чтобы они не дублировались, второй столбец чисто для второго контактного номера.

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#6

15.01.2020 12:26:26

Цитата
maves написал:
А можно ли в этом же столбце как то заменить.

можно но это уже макрос

Лень двигатель прогресса, доказано!!!

 

Polkilo

Пользователь

Сообщений: 87
Регистрация: 24.01.2019

maves, учтите, после +7 пробела нет, если он нужен, то оберните еще раз в ПОДСТАВИТЬ и замените «(» на » («

 

maves

Пользователь

Сообщений: 5
Регистрация: 15.01.2020

#8

15.01.2020 12:31:32

Цитата
Сергей написал:
можно но это уже макрос

А Вы сможете написать?

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#9

15.01.2020 12:38:09

Цитата
maves написал:
А Вы сможете написать?
Цитата
Сергей написал:
можно но это уже макрос

А не проще, без макроса, в любой свободный столбец вставить формулу Сергея, а потом скопировать, как значения, в нужный столбец?

PS
Еще формула

Код
="+7-"&ТЕКСТ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(I3;"+";"");"(";"");")";"");"-";"");" ";"");2;30);"000-000-00-00")

Прикрепленные файлы

  • Торговые точки.xlsx (25.34 КБ)

Изменено: Михаил Лебедев15.01.2020 12:55:39
(Загрузил файл)

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Polkilo

Пользователь

Сообщений: 87
Регистрация: 24.01.2019

#10

15.01.2020 13:19:58

maves, проверяйте

Код
Sub ololo()
Dim i As Long
Dim MyPhone As String

For i = 3 To ThisWorkbook.Sheets("Форма").Cells(Rows.Count, 9).End(xlUp).Row 'Крутим цикл по 9 столбцу за исключением шапки
    MyPhone = OnlyNumbers(ThisWorkbook.Sheets("Форма").Cells(i, 9)) 'Оставляем в номере только цифры
    If Len(MyPhone) >= 10 Then
        MyPhone = Right(MyPhone, 10) 'забираем последние 10 символов
        MyPhone = "+7 (" & Mid(MyPhone, 1, 3) & ") " & Mid(MyPhone, 4, 3) & "-" & Mid(MyPhone, 7, 2) & "-" & Mid(MyPhone, 9, 2) 'Сцепляем
        ThisWorkbook.Sheets("Форма").Cells(i, 9) = MyPhone 'выводим на лист
    End If
Next

End Sub

Function OnlyNumbers(ByVal MyString As String) As String
Dim i As Long
Dim Numbers As String

If Len(MyString) >= 1 Then
    For i = 1 To Len(MyString)
        If IsNumeric(Mid(MyString, i, 1)) Then
            Numbers = Numbers & Mid(MyString, i, 1)
        End If
    Next
    OnlyNumbers = CStr(Numbers)
End If

End Function

Изменено: Polkilo15.01.2020 13:21:19

 

Вар.2

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

maves

Пользователь

Сообщений: 5
Регистрация: 15.01.2020

Всем спасибо за ответы!

Изменено: maves15.01.2020 13:45:30
(Неправильное использование цитат)

 

А если номер вбит по ошибке без префикса +7 или 8, то ни одно решение выше не работает, что привести к единому формату +7(000)000-00-00 или 8(000)000-00-00
Оговорка: макрос от

Polkilo

работает, но

Формула от

Сергей

не приводит к форме номера без префикса +7 или 8. Такое часто бывает
Макрос от

Михаил Лебедев

то же, не приводит к форме номера без префикса +7 или 8. Такое часто бывает

Макрос от

Polkilo

работает корректно, но только по первому столбцу, нет формы выбора столбца или диапазона

Что бы добить тему до готового решения, нужно:
— иметь возможность выбрать диапазон
— иметь возможность выбрать формат: +7(000)000-00-00 или 8(000)000-00-00 или 80000000000 (такой формат для всех ячеек, иначе с + формула считается)

Изменено: RUSBelorus15.01.2020 19:50:33

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

RUSBelorus, выше было обозначено приведите пример возможных вариантов для них и сделано если у вас корявые вводные создайте отдельную тему и покажите их

Лень двигатель прогресса, доказано!!!

 

RUSBelorus

Пользователь

Сообщений: 110
Регистрация: 15.11.2014

#15

15.01.2020 20:27:31

Цитата
Сергей написал:
корявые вводные

зачем плодить кучу тем одной тематики ? Вы дали решение на приведенные формы, здорово. Я показал на каких формах, а они часто корявые, решение не работает. Плюс добавил, как превратить Ваше решение в полноценный инструмент для работы и поверьте, много будет людей кто скажет Вам еще одно спасибо!

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

RUSBelorus, тема по приведению телефонных номеров к одному виду избита на нашей планете и формулы и удф и макросы если захотеть можно найти всё  

Лень двигатель прогресса, доказано!!!

 

RUSBelorus

Пользователь

Сообщений: 110
Регистрация: 15.11.2014

#17

15.01.2020 20:38:06

Цитата
Сергей написал:
— иметь возможность выбрать диапазон- иметь возможность выбрать формат: +7(000)000-00-00 или 8(000)000-00-00 или 80000000000 (такой формат для всех ячеек, иначе с + формула считается)

Тема избита вдоль и поперек, а дальше будет мусолиться такими как Я (простите). Я говорю про законченное решение для всех и всякого. Такого нет нигде

— иметь возможность выбрать диапазон
— иметь возможность выбрать формат: +7(000)000-00-00 или 8(000)000-00-00 или 80000000000 (такой формат для всех ячеек, иначе с + формула считается)

PS сам пользуюсь приведением телефонов к формату и знаю о чем говорю.

Изменено: RUSBelorus15.01.2020 20:39:10

 

RUSBelorus, человеческие корявые ручки могут такого написать, что никакие формулы, а возможно и макросы это не исправят. В таком случае лучше вводить данные по шаблону и запрещать ввод данных не соответвущих ему.

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

Даже если и по шаблону с любым префиксом. Все равно нет РЕШЕНИЯ выбрать диапазон и один из трех форматов телефона одновременно)

Изменено: RUSBelorus15.01.2020 20:50:07

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#20

15.01.2020 20:49:01

Цитата
RUSBelorus написал:
PS сам пользуюсь приведением телефонов к формату и знаю о чем говорю.

и в чем проблема то непонятно форумчане предоставили решение человеку у вас другая проблема у каждого человека свои проблемы и их надо сортировать нет в жизни универсальной волшебной палочки которая выравнивает кривые ручки

Лень двигатель прогресса, доказано!!!

 

Так задача простая, объединить решения в одно. Не будет больше (или станет меньше на порядок) подобной

PS Получается, надеяться можно от снисхождения

Polkilo

)

Изменено: RUSBelorus15.01.2020 20:58:18

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#22

15.01.2020 20:59:32

UDF формат +7(000)000-00-00

Код
Public Function RgxPhone(iString As Range) As String
 Dim re As Object
 Dim tempString
  Set re = CreateObject("vbscript.regexp")
    re.Pattern = "(-|s|+|(|))"
    re.Global = True
    re.IgnoreCase = True
 tempString = re.Replace(iString, "")
 re.Pattern = "((8)|(7))(d{3})+(d{3})+(d{2})+(d{2})+"
  If re.Test(tempString) Then
   RgxPhone = re.Replace(tempString, "$1$2($4) $5-$6-$7")
    If (Left(RgxPhone, 1) <> "8") Then
        RgxPhone = "+" + RgxPhone
    Else
       RgxPhone = "+7" + Mid(RgxPhone, 3)
    End If
  End If
End Function
 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#23

15.01.2020 21:01:00

Цитата
RUSBelorus написал: Так задача простая,

ну да все человечество с ней бъется называется искусственный интелект который будет определять все хотелки человечества и исправлять их ошибки (главное чтоб не обиделся и не помножил на ноль всех)

Лень двигатель прогресса, доказано!!!

 

Вы все усложняете. Вот все 4 формата номера, которые я постоянно встречаю от клиентов, не считаю что это искусственный интеллект:
+79250966362
  79250966362
  89250966362
    9250966362
PS только макрос

Polkilo

их все обрабатывает

а то что они могут быть в разных столбиках и это не ИК.

Изменено: RUSBelorus15.01.2020 21:41:28

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#25

15.01.2020 23:06:19

Цитата
RUSBelorus написал: Вы все усложняете.

А Вы оптимист :)
Приходилось обрабатывать, насмотрелся. +/7/8  слева в разных вариациях — цветочки.  Номер слитно, с пробелами, с разными разделителями, номер отделен от текста пробелом, номер слитно с текстом ,экспоненциальный формат, со знаками вопроса вместо некоторых цифр…

 

Удивитесь, макрос

Polkilo

+79250966362 +7   (925) 096-63-62
79250966362 +7 (925)   096-63-62
89250966362 +7 (925)   096-63-62
9250966362 +7 (925)   096-63-62
+7(925)   096 63-62 +7 (925)   096-63-62
7-925-096-63-62 +7 (925)   096-63-62
8 9   2 5 0 9 6 6 3 6 2 +7 (925)   096-63-62
(9)(2)(5)(0)(9)6   6 3 6    2 +7 (925)   096-63-62
+79250966362 +7 (925)   096-63-62
+7+9+250+966+362 +7 (925)   096-63-62
89-2509-6636-2 +7 (925)   096-63-62
9*2*50*9*66*36*2 +7 (925)   096-63-62

PS Речь об обработке телефона 10 знаков, а не об выделении телефона из текста

Изменено: RUSBelorus15.01.2020 23:25:46

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Я писал о «всех 4-х форматах», которые Вы встречаете.
И о том, что кроме написания номера, он может быть в тексте  с другими числовыми днными (тоже, кстати, написанными «мизинцем правой ноги черех левое плечо». И обрабка таких шедевров не заканчивается написанием макроса — через время возврат к работе — «а мы еще вот такое обнаружили, доработайте, пожалуйста»

 

RUSBelorus

Пользователь

Сообщений: 110
Регистрация: 15.11.2014

#28

15.01.2020 23:29:19

Цитата
vikttur написал:
Я писал о «всех 4-х форматах», которые Вы встречаете.

форматов действительно много, их не 4, которые пишут в заявках (и с пробелами и тире и префиксом). Уже хорошо, что есть решение.

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#29

16.01.2020 04:55:08

Цитата
RUSBelorus написал:
Формула от  Сергей  не приводит к форме номера без префикса +7 или 8. Такое часто бывает
Макрос от  Михаил Лебедев  то же, не приводит к форме номера без префикса +7 или 8. Такое часто бывает
Макрос от  Polkilo  работает корректно, но только по первому столбцу, нет формы выбора столбца или диапазона
RUSBelorus написал:
Так задача простая, объединить решения в одно.

Вы что, и с простой задачей сами справиться не можете? :)

Прикрепленные файлы

  • Обработка номеров телефонов макросом или функцией.xlsm (36.95 КБ)

Изменено: Михаил Лебедев16.01.2020 05:18:43
(добавил файл-пример со всяким рожном)

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#30

16.01.2020 08:13:28

Цитата
Михаил Лебедев написал:
Вы что, и с простой задачей сами справиться не можете?

Добрый день, Михаил.
А вы уверены, что он собирался? RUSBelorus, зашёл на форум как в магазин…

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Excel предоставляет специальный числовом формате, который позволяет форматирование номера в виде номера телефона. Например, можно отформатовать 10-значное число, например 5555551234, как (555) 555-1234.

  1. Выберите ячейку или диапазон, которые нужно отформатирование. Как выбрать ячейки или диапазоны?

  2. На вкладке Главная нажмите кнопку запуска диалогового окна рядом с полем Число.

    Кнопка вызова диалогового окна в группе "Число"

  3. В окне Категория выберите особый.

  4. В списке Тип выберите Телефон число.

Совет: Чтобы увидеть код числовых форматов Телефон, щелкните категорию Пользовательские и посмотрите на поле Тип. Например, код [<=9999999]###-####;(###) ###-#### используется для отображения номера телефона (555) 555-1234. Если вам не соответствует заранее созданный формат номера телефона, вы можете использовать его в качестве отправной точки для создания собственного формата. Дополнительные сведения см. в том, как создать или удалить пользовательский числовой формат.

Нужна дополнительная помощь?

Все категории

  • Фотография и видеосъемка
  • Знания
  • Другое
  • Гороскопы, магия, гадания
  • Общество и политика
  • Образование
  • Путешествия и туризм
  • Искусство и культура
  • Города и страны
  • Строительство и ремонт
  • Работа и карьера
  • Спорт
  • Стиль и красота
  • Юридическая консультация
  • Компьютеры и интернет
  • Товары и услуги
  • Темы для взрослых
  • Семья и дом
  • Животные и растения
  • Еда и кулинария
  • Здоровье и медицина
  • Авто и мото
  • Бизнес и финансы
  • Философия, непознанное
  • Досуг и развлечения
  • Знакомства, любовь, отношения
  • Наука и техника


0

В загруженной в Excel базе столбец <номер телефона> записан разными способами:

  • некоторые номера содержат всего 10 знаков, как добавить 7 к номеру телефона
  • некоторые телефоны начинаются на +7
  • некоторые начинаются 8…. или +8…

какой формулой форматировать в Эксель номер телефона, чтобы преобразовать к единому формату в 11 знаков начиная с цифры 7

2 ответа:



0



0

Можно воспользоваться простой заменой, как в случаи «+7» заменить на «8» (ctrl+h). Еще можно воспользоваться в новом столбце формулой ПРАВСИМВ и указать сколько символов оставить. Потом присоединить к получившемуся значению необходимое значение с помощью &.

Такие возможности описаны в большом количестве в сети. Главное, описать правильно, что хотите сделать со значением ячейки



0



0

Чтобы обработать телефонный номер надо ввести дополнительный столбец в который записать формулу для преобразования номеров телефонов в единый формат можно просто добавить цифру 7 к последним 10 цифрам телефона.

для ячейки A2 формула имеет вид:

=7&ПРАВСИМВ( A2;10)

однако очень часто в поле телефонного номера встречаются комментарии, в этом случае

для преобразования формата потребуется добавить 7 к последним 10 символам перед первым пробелом (если пробела нет то придется добавить к концу текста) , для ячейки B2 эта формула примет вид:

=7&ПРАВСИМВ( ПСТР(B2;1; НАЙТИ(» «;B2&» «)-1); 10)&ПСТР( B2;НАЙТИ( » «;B2&» «); ДЛСТР(B2))

если требуется преобразовать номер к формату +7…. то формула примет вид:

=»+7″&ПРАВСИМВ(ПСТР( B2;1;НАЙТИ(» «; B2&» «)-1);10)&ПСТР(B2; НАЙТИ(» «; B2&» «); ДЛСТР(B2))

Читайте также

Отклонение, это различие, разница между значениями.

Абсолютное отклонение вычислить очень просто, для этого понадобиться лишь вычесть одно значение из другого.

Если на примере, то выглядит это так:

В прошлом году налоги предприятия составили 100 000, а в этом году 120 000.

Абсолютное отклонения в этом случае будет 20 000, так как 120 000 — 100 000 = 20 000.

Что касается вычисления абсолютного отклонения в таблице Эксель, то для вычисления жмём клавишу «равно», затем левой кнопкой мышки на ячейку с одним значением, затем знак «минус» и снова левой кнопкой на второе значение во второй ячейке.

=F1-F2

Если слово пишется в графе единицы измерения, в этом случае формула будет выглядеть так:

=ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10)=1 ; ОСТАТ(A1 ; 10)>=5;ОСТАТ(A1 ; 10)=0) ; «штук» ; ЕСЛИ( ОСТАТ(A1;10)=1 ; «штука» ; «штуки»))

Если требуется написать в тексте число и количество штук через пробел, в этом случае формула примет вид:

=A1&» «&ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10)=1 ; ОСТАТ(A1;10)>=5 ; ОСТАТ(A1;10)=0) ; «штук» ; ЕСЛИ( ОСТАТ(A1;10)=1 ; «штука»;»штуки»))

Обе формулы рабочие (можно копировать в свою таблицу, с заменой ячейки A1 на ячейку таблицы, в которой записано целое число определяющее количество штук)

Если слово надо писать в отдельную графу, то числа из ячейки A1 формула примет вид:

=ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10) = 1 ; ОСТАТ( A1 ; 10 )>=5 ; ОСТАТ(A1 ; 10)=0) ; «ящиков» ; ЕСЛИ( ОСТАТ( A1 ; 10)=1 ; «ящик» ; «ящика»))

Для использования в тексте потребуется писать число, а потом слово, формула будет выглядеть так:

=A1&» «&ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10) = 1 ; ОСТАТ( A1 ; 10 )>=5 ; ОСТАТ(A1 ; 10)=0) ; «ящиков» ; ЕСЛИ( ОСТАТ( A1 ; 10)=1 ; «ящик» ; «ящика»))

Эту формулу можно копировать отсюда в свою таблицу, но необходимо заменить A1 на нужную ячейку.

Чтобы посчитать сумму значений ячеек обычно используется функция СУММ, а в качестве аргументов пишутся либо значения, либо диапазоны ячеек либо сами ячейки.

Если требуется вычислить сумму значений ячеек разных диапазонов, то эти диапазоны перечисляются как аргументы функции сумм.

Формула

=СУММ(A3:A8 ; C3:H3)

вычислит сумму чисел, находящихся в ячейках из диапазона A3:A8 и диапазона C3:H3

Если диапазоны чисел находятся на разных листах одной книги, то перед ссылкой на диапазон надо указать наименование листа с восклицательным знаком

=СУММ( A3:A8 ; C3:H3 ; Лист2!A1:A6 )

если диапазоны суммирования находятся в разных книгах, то придется указать и название книги в квадратных скобках пример:

=СУММ(A3:A8 ; C3:H3 ; [Книга3]Лист2!A1:A6 )

всего в функции СУММ можно указывать от 1 до 255 аргументов.

В радианы можно перевести с помощью формулы

=РАДИАНЫ(угол_в_град­<wbr />усах)

Чтобы определить угол в градусах возьмём формулы перевода градусов минут и секунд в радианы и подставим в эту формулу.

Если исходные данные заданы в ячейке D2 формате строки ГГ°ММ’СС» (57°11’35»)

то формула перевода в радианы выглядит так:

=РАДИАНЫ( ЗНАЧЕН( ЛЕВСИМВ(D2; НАЙТИ(«°»;D2) — 1)) + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«°»;D2) + 1; НАЙТИ(«‘»; D2) — НАЙТИ(«°»; D2)-1))/60 + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«‘»; D2) + 1; НАЙТИ(«»»»; D2) — НАЙТИ(«‘»; D2)-1))/60/60 )

Эту длинную формулу можно сделать более понятной, с помощью Alt+Enter

Если исходные данные заданы в ячейке D2 формате строки ГГ град ММ мин СС сек (57 град 11 мин 35 сек)

то формула перевода в радианы выглядит так:

=РАДИАНЫ( ЗНАЧЕН( ЛЕВСИМВ(D2; НАЙТИ(«град»;D2)-1)) + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«град»; D2)+4; НАЙТИ(«мин»; D2) — НАЙТИ(«град»; D2)-4))/60 + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«мин»;D2)+3; НАЙТИ(«сек»;D2) — НАЙТИ(«мин»; D2)-3))/60/60 )

После копирования этих формул в свою таблицу надо заменить ячейку D2 на свою.

Изменения телефонов в столбце на единый формат

Leli4ka

Дата: Среда, 09.07.2014, 15:36 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 45


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте! Подскажите пожалуйста, во вложении в столбце образец телефона записан разнообразно/безобразным образом. Номеров очень много. Подскажите, как сделать так, чтобы все номера были написаны по единому — 050-111-22-33

К сообщению приложен файл:

2610077.xls
(18.5 Kb)

 

Ответить

mechanix85

Дата: Среда, 09.07.2014, 15:43 |
Сообщение № 2

Группа: Друзья

Ранг: Форумчанин

Сообщений: 240


Репутация:

34

±

Замечаний:
0% ±


как excel узнает какой здесь код? (050)421-50-05,283-00-12

 

Ответить

Leli4ka

Дата: Среда, 09.07.2014, 15:44 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 45


Репутация:

0

±

Замечаний:
0% ±


Задвоенных номеров немного, я удалю

 

Ответить

mechanix85

Дата: Среда, 09.07.2014, 15:51 |
Сообщение № 4

Группа: Друзья

Ранг: Форумчанин

Сообщений: 240


Репутация:

34

±

Замечаний:
0% ±


т.е. нужно оставить только первый?

 

Ответить

Gustav

Дата: Среда, 09.07.2014, 15:59 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2398


Репутация:

985

±

Замечаний:
0% ±


начинал с Excel 4.0, видел 2.1

Подскажите, как сделать так, чтобы все номера были написаны по единому — 050-111-22-33

Сначала привести все номера к единому формату без каких-либо знаков препинания (или иных символов, отличающихся от цифр). Сделать это можно просто, используя вложенные функции ПОДСТАВИТЬ в формуле:

Код

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;»(«;);»)»;);»-«;)

Далее в получившиеся ряды цифр внедрить тире в нужных местах. Если первая формула была введена в ячейку C2, то далее в ячейку D2 ввести еще одну формулу:

Код

=ПСТР(C2;1;3)&»-«&ПСТР(C2;4;3)&»-«&ПСТР(C2;6;2)&»-«&ПСТР(C2;8;2)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал GustavСреда, 09.07.2014, 16:03

 

Ответить

_Boroda_

Дата: Среда, 09.07.2014, 16:08 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Так нужно?

Код

=ТЕКСТ(—ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(B2;2;99);»)»;»»);»-«;»»);»000-000-00-00″)

или еще

Код

=ТЕКСТ(—ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;»)»;»»);»(«;»»);»-«;»»);»000-000-00-00″)

Кстати да, у Константина прекрасная мысль — «» не нужно. Тогда так

Код

=ТЕКСТ(—ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(B2;2;99);»)»;);»-«;);»000-000-00-00»)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Leli4ka

Дата: Пятница, 18.07.2014, 11:09 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 45


Репутация:

0

±

Замечаний:
0% ±


Спасибо! Все получилось :)

 

Ответить

AlexM

Дата: Пятница, 18.07.2014, 11:32 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Можно еще так

Код

=ТЕКСТ(ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;»)»;);»-«;);10);»000-000-00-00»)

Не будет ошибки, если первый код начинается не с 0.
Например, предыдущая формула из номера 4992989980 сделает 099-298-99-80



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

В загруженной в Excel базе столбец <номер телефона> записан разными способами:

  • некоторые номера содержат всего 10 знаков, как добавить 7 к номеру телефона
  • некоторые телефоны начинаются на +7
  • некоторые начинаются 8. или +8.

какой формулой форматировать в Эксель номер телефона, чтобы преобразовать к единому формату в 11 знаков начиная с цифры 7

Можно воспользоваться простой заменой, как в случаи «+7» заменить на «8» (ctrl+h). Еще можно воспользоваться в новом столбце формулой ПРАВСИМВ и указать сколько символов оставить. Потом присоединить к получившемуся значению необходимое значение с помощью &.

Такие возможности описаны в большом количестве в сети. Главное, описать правильно, что хотите сделать со значением ячейки

Чтобы обработать телефонный номер надо ввести дополнительный столбец в который записать формулу для преобразования номеров телефонов в единый формат можно просто добавить цифру 7 к последним 10 цифрам телефона.

для ячейки A2 формула имеет вид:

однако очень часто в поле телефонного номера встречаются комментарии, в этом случае

для преобразования формата потребуется добавить 7 к последним 10 символам перед первым пробелом (если пробела нет то придется добавить к концу текста) , для ячейки B2 эта формула примет вид:

=7&ПРАВСИМВ( ПСТР(B2;1; НАЙТИ(» «;B2&» «)-1); 10)&ПСТР( B2;НАЙТИ( » «;B2&» «); ДЛСТР(B2))

если требуется преобразовать номер к формату +7. то формула примет вид:

=»+7″&ПРАВСИМВ(ПСТР( B2;1;НАЙТИ(» «; B2&» «)-1);10)&ПСТР(B2; НАЙТИ(» «; B2&» «); ДЛСТР(B2))

Отклонение, это различие, разница между значениями.

Абсолютное отклонение вычислить очень просто, для этого понадобиться лишь вычесть одно значение из другого.

Если на примере, то выглядит это так:

В прошлом году налоги предприятия составили 100 000, а в этом году 120 000.

Абсолютное отклонения в этом случае будет 20 000, так как 120 000 — 100 000 = 20 000.

Что касается вычисления абсолютного отклонения в таблице Эксель, то для вычисления жмём клавишу «равно», затем левой кнопкой мышки на ячейку с одним значением, затем знак «минус» и снова левой кнопкой на второе значение во второй ячейке.

Если слово пишется в графе единицы измерения, в этом случае формула будет выглядеть так:

=ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10)=1 ; ОСТАТ(A1 ; 10)>=5;ОСТАТ(A1 ; 10)=0) ; «штук» ; ЕСЛИ( ОСТАТ(A1;10)=1 ; «штука» ; «штуки»))

Если требуется написать в тексте число и количество штук через пробел, в этом случае формула примет вид:

=A1&» «&ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10)=1 ; ОСТАТ(A1;10)>=5 ; ОСТАТ(A1;10)=0) ; «штук» ; ЕСЛИ( ОСТАТ(A1;10)=1 ; «штука»;»штуки»))

Обе формулы рабочие (можно копировать в свою таблицу, с заменой ячейки A1 на ячейку таблицы, в которой записано целое число определяющее количество штук)

Если слово надо писать в отдельную графу, то числа из ячейки A1 формула примет вид:

=ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10) = 1 ; ОСТАТ( A1 ; 10 )>=5 ; ОСТАТ(A1 ; 10)=0) ; «ящиков» ; ЕСЛИ( ОСТАТ( A1 ; 10)=1 ; «ящик» ; «ящика»))

Для использования в тексте потребуется писать число, а потом слово, формула будет выглядеть так:

=A1&» «&ЕСЛИ( ИЛИ( ЦЕЛОЕ( ОСТАТ(A1;100)/10) = 1 ; ОСТАТ( A1 ; 10 )>=5 ; ОСТАТ(A1 ; 10)=0) ; «ящиков» ; ЕСЛИ( ОСТАТ( A1 ; 10)=1 ; «ящик» ; «ящика»))

Эту формулу можно копировать отсюда в свою таблицу, но необходимо заменить A1 на нужную ячейку.

Чтобы посчитать сумму значений ячеек обычно используется функция СУММ, а в качестве аргументов пишутся либо значения, либо диапазоны ячеек либо сами ячейки.

Если требуется вычислить сумму значений ячеек разных диапазонов, то эти диапазоны перечисляются как аргументы функции сумм.

вычислит сумму чисел, находящихся в ячейках из диапазона A3:A8 и диапазона C3:H3

Если диапазоны чисел находятся на разных листах одной книги, то перед ссылкой на диапазон надо указать наименование листа с восклицательным знаком

=СУММ( A3:A8 ; C3:H3 ; Лист2!A1:A6 )

если диапазоны суммирования находятся в разных книгах, то придется указать и название книги в квадратных скобках пример:

=СУММ(A3:A8 ; C3:H3 ; [Книга3]Лист2!A1:A6 )

всего в функции СУММ можно указывать от 1 до 255 аргументов.

В радианы можно перевести с помощью формулы

Чтобы определить угол в градусах возьмём формулы перевода градусов минут и секунд в радианы и подставим в эту формулу.

Если исходные данные заданы в ячейке D2 формате строки ГГ°ММ’СС» (57°11’35»)

то формула перевода в радианы выглядит так:

=РАДИАНЫ( ЗНАЧЕН( ЛЕВСИМВ(D2; НАЙТИ(«°»;D2) — 1)) + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«°»;D2) + 1; НАЙТИ(«‘»; D2) — НАЙТИ(«°»; D2)-1))/60 + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«‘»; D2) + 1; НАЙТИ(«»»»; D2) — НАЙТИ(«‘»; D2)-1))/60/60 )

Эту длинную формулу можно сделать более понятной, с помощью Alt+Enter

Если исходные данные заданы в ячейке D2 формате строки ГГ град ММ мин СС сек (57 град 11 мин 35 сек)

то формула перевода в радианы выглядит так:

=РАДИАНЫ( ЗНАЧЕН( ЛЕВСИМВ(D2; НАЙТИ(«град»;D2)-1)) + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«град»; D2)+4; НАЙТИ(«мин»; D2) — НАЙТИ(«град»; D2)-4))/60 + ЗНАЧЕН( ПСТР(D2; НАЙТИ(«мин»;D2)+3; НАЙТИ(«сек»;D2) — НАЙТИ(«мин»; D2)-3))/60/60 )

После копирования этих формул в свою таблицу надо заменить ячейку D2 на свою.

Как заменить в экселе первую цифру во всем столбце

Пусть A столбец с телефонами, в соседнем столбце в B1 вставляем формулу
=»+7″ & ПСТР (A1;2;100)
(я считаю это лучше чем «+7» & ПРАВСИМВ (ДЛСТР (A1)-1) — вычислений меньше) ,
ессно если нужна просто 7 — плюс в формуле у «+7» не пишем =)

Берём за правый нижний угол ячейки и «растягиваем» формулу до конца данных
Выделяем столбец B
Правая кнопка на выделении, копировать
Выбираем столбец B
Правая кнопка вставить значения. Внимательно — именно значения в Excel 2010 это выглядит как значок 123
Всё. Столбец B у вас заменён вместо формул теперь их значения, если всё устраивает — выделяете столбец A и удаляете. Столбец B становится столбцом A

Как заменить 8 на 7 в excel в номере телефона

Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль

Поиск по форуму
Расширенный поиск

в excel есть база телефонов в формате
89272290710
нужно заменить первую восьмерку на +7
чтобы получилось
+79272290710

подскажите, пожалуйста, как это сделать автоматически?

Vladimir012270
Посмотреть профиль
Найти ещё сообщения от Vladimir012270
Vladimir012270
Посмотреть профиль
Найти ещё сообщения от Vladimir012270


Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке — https://slurm.club/3MeqNEk

В этом учебном материале по Excel мы рассмотрим примеры того как очистить и переформатировать телефонные номера

Как в Excel очистить и переформатировать телефонные номера

Основная формула

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;«(«;«»);«)»;«»);«-«;«»);» «;«»);«.»;«»)+0

Описание

Один из способов очистить и переформатировать телефонные номера — это удалить все посторонние символы, а затем применить встроенный в Excel формат телефонных номеров.
В приведенной выше формуле используется ряд вложенных функций ПОДСТАВИТЬ для удаления пробелов, дефисов и круглых скобок.
Вам нужно будет настроить фактические замены в соответствии с вашими данными.

Пояснение

Формула выполняется изнутри, при этом каждая функция ПОДСТАВИТЬ удаляет один символ.
Самая внутренняя функция ПОДСТАВИТЬ удаляет левые круглые скобки, и результат передается следующей ПОДСТАВИТЬ, которая удаляет правые круглые скобки, и так далее.
Каждый раз, когда вы используете функцию ПОДСТАВИТЬ, результатом будет текст. Поскольку вы не можете применить числовой формат к тексту, нам нужно преобразовать текст в число. Один из способов сделать это — добавить ноль +0, который автоматически преобразует числа в текстовом формате в числа в числовом формате.

Наконец, применяется формат телефонного номера «Пользовательский» (столбец D).
Настройка формата происходит в форме «Формат ячеек» вызывается нажатием клавиш Ctrl+1. Далее на как на скрине ниже.
Как в Excel переформатировать телефонные номера

Уловка с пробелом для удобочитаемости

При вложении нескольких функций возникнет трудность прочитать формулу и сохранить сбалансированность всех круглых скобок. Excel не заботится о лишних пробелах в формуле, поэтому, чтобы сделать формулу более читаемой, вы можете добавить в формулу разрывы строк.
Например, формулу выше можно записать так:

=

ПОДСТАВИТЬ(

ПОДСТАВИТЬ(

ПОДСТАВИТЬ(

ПОДСТАВИТЬ(

ПОДСТАВИТЬ(

A1;

«(«; «»);

«)»; «»);

«-«; «»);

«»; «»);

«.»; «»)

Обратите внимание, что ячейка отображается в центре, с именами функций выше и заменами ниже. Это не только упрощает чтение формулы, но и упрощает добавление и удаление замен.

Логотип Microsoft Excel на зеленом фоне

Хотите превратить цифры в таблицах в правильные номера телефонов в США с кодами городов? Вместо того, чтобы вручную вставлять дефисы и скобки, используйте параметр форматирования номера телефона в Microsoft Excel.

В Excel вы можете форматировать данные разными способами. Одно из таких форматов — для телефонных номеров в США, превращая ваши числа, такие как «5555551234», в удобочитаемый «(555) 555-1234». При желании вы можете применить это форматирование сразу к нескольким телефонным номерам.

Для начала откройте электронную таблицу в Microsoft Excel.

В своей электронной таблице выберите ячейку или ячейки, в которых у вас есть номера телефонов.

Выделите ячейки, содержащие номер телефона в Excel.

Пока ваши номера телефонов выделены, на ленте Excel вверху щелкните вкладку «Главная».

Щелкните значок "Домой" вкладка в Excel.

На вкладке «Главная» в разделе «Число» щелкните «Формат числа» (значок стрелки) в правом нижнем углу.

Нажмите "Числовой формат" в "Домой" таб.

Вы увидите окно «Форматирование ячеек». Здесь в списке «Категория» слева выберите «Особые».

Выбирать "Специальный" на "Формат ячеек" окно.

В разделе «Тип» справа нажмите «Номер телефона». Затем нажмите «ОК» внизу.

Примечание. Если вы не видите «Номер телефона» в разделе «Тип», щелкните раскрывающееся меню «Регион» и выберите «Английский (США)» или другую поддерживаемую страну.

Нажмите "Телефонный номер" в "Тип" раздел и щелкните "В ПОРЯДКЕ."

Вернувшись в электронную таблицу, все ваши номера телефонов теперь отформатированы в правильном стиле.

Выбранные ячейки отформатированы в формате номера телефона в Excel.

Если вам нужен другой формат для этих чисел, тогда в окне «Формат ячеек» выберите «Пользовательский», а затем укажите свой собственный формат.

Вот так в Microsoft Excel можно превратить обычные цифры в телефонные номера. Очень полезно!

Вам нужно добавить ноль перед числом в таблице Excel? Если так, то есть простой способ сделать это.

Понравилась статья? Поделить с друзьями:
  • Excel номер текущей строки в формуле
  • Excel номер текущего столбца
  • Excel номер строки содержащей текст
  • Excel номер строки по двум условиям
  • Excel номер строки по адресу ячейки