Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разделить данные в строке на несколько ячеек - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделить данные в строке на несколько ячеек (Формулы/Formulas)
Разделить данные в строке на несколько ячеек
DonQuijote Дата: Воскресенье, 17.12.2017, 00:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток!

Есть столбец с паспортными данными, вписанными одним сполшным текстом.
Например:
0987 654321 25.08.2010 Территориальным отделом УФМСР по ской области в г. Ске 102-023

Нужно соотвественно из этого получить четыре ячейки:
1) серия и номер
2) дата выдачи
3) орган выдачи
4) код подразделения

Конкертное расположение блоков может быть и другим. Например:
0987 654321 УВД г Москвы выдан 25.08.2010 102-023
или
0987 654321 РОВД г Ска кп 102-023 25.08.2010

Подскажите, пожалуйста, более-менее универсальную формулу, чтобы получать конечные значения не так медленно, как я со своим примитивным знанием экселя. :D
Пример прилагаю.
К сообщению приложен файл: 123.xls(31.5 Kb)
 
Ответить
СообщениеДоброго времени суток!

Есть столбец с паспортными данными, вписанными одним сполшным текстом.
Например:
0987 654321 25.08.2010 Территориальным отделом УФМСР по ской области в г. Ске 102-023

Нужно соотвественно из этого получить четыре ячейки:
1) серия и номер
2) дата выдачи
3) орган выдачи
4) код подразделения

Конкертное расположение блоков может быть и другим. Например:
0987 654321 УВД г Москвы выдан 25.08.2010 102-023
или
0987 654321 РОВД г Ска кп 102-023 25.08.2010

Подскажите, пожалуйста, более-менее универсальную формулу, чтобы получать конечные значения не так медленно, как я со своим примитивным знанием экселя. :D
Пример прилагаю.

Автор - DonQuijote
Дата добавления - 17.12.2017 в 00:57
vikttur Дата: Воскресенье, 17.12.2017, 03:15 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2716
Репутация: 477 ±
Замечаний: 0% ±

Заготовки на Планете
http://www.planetaexcel.ru/forum....yacheek
 
Ответить
СообщениеЗаготовки на Планете
http://www.planetaexcel.ru/forum....yacheek

Автор - vikttur
Дата добавления - 17.12.2017 в 03:15
sv2014 Дата: Воскресенье, 17.12.2017, 08:12 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация: 60 ±
Замечаний: 0% ±

Excel 2013
DonQuijote, вариант функций(UDF)
[vba]
Код

  Function vvv$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+ \d+"
If .test(t) Then vvv = .Execute(t)(0) Else vvv = ""
End With
End Function
[/vba]

[vba]
Код
Function uuu$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+\.\d+\.\d+"
If .test(t) Then uuu = .Execute(t)(0) Else uuu = ""
End With
End Function
[/vba]

[vba]
Код
Function yyy$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+-\d+"
If .test(t) Then yyy = .Execute(t)(0) Else yyy = ""
End With
End Function
[/vba]

[vba]
Код
Function zzz$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "[-\d\.]+": .Global = True
  zzz = Trim(Replace(Replace(.Replace(t, ""), "выдан", ""), "кп", ""))
End With
End Function
[/vba]
К сообщению приложен файл: example_17_12_2.xls(40.5 Kb)
 
Ответить
СообщениеDonQuijote, вариант функций(UDF)
[vba]
Код

  Function vvv$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+ \d+"
If .test(t) Then vvv = .Execute(t)(0) Else vvv = ""
End With
End Function
[/vba]

[vba]
Код
Function uuu$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+\.\d+\.\d+"
If .test(t) Then uuu = .Execute(t)(0) Else uuu = ""
End With
End Function
[/vba]

[vba]
Код
Function yyy$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+-\d+"
If .test(t) Then yyy = .Execute(t)(0) Else yyy = ""
End With
End Function
[/vba]

[vba]
Код
Function zzz$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "[-\d\.]+": .Global = True
  zzz = Trim(Replace(Replace(.Replace(t, ""), "выдан", ""), "кп", ""))
End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 17.12.2017 в 08:12
DonQuijote Дата: Воскресенье, 17.12.2017, 13:50 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sv2014, спасибо. Все работает.
 
Ответить
Сообщениеsv2014, спасибо. Все работает.

Автор - DonQuijote
Дата добавления - 17.12.2017 в 13:50
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделить данные в строке на несколько ячеек (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!