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

Вход

Регистрация

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

 

= Мир MS Excel/Распарсить строку при наличии цифры большей нуля - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Распарсить строку при наличии цифры большей нуля
Ziastisel Дата: Воскресенье, 22.09.2024, 11:44 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!

Помогите с формулой, пожалуйста. Не хватает "соображалки" как ее сделать, к сожалению :(
Суть: есть выгрузка с телефонной станции, одна строка - один звонок и кто на него ответил. Нужно из этой строки вытащить в отдельный столбец информацию кто ответил на звонок

Прикрепил файл с образцом. Заранее спасибо!
К сообщению приложен файл: parsingtelefonii.xlsx (9.7 Kb)
 
Ответить
СообщениеДобрый день!

Помогите с формулой, пожалуйста. Не хватает "соображалки" как ее сделать, к сожалению :(
Суть: есть выгрузка с телефонной станции, одна строка - один звонок и кто на него ответил. Нужно из этой строки вытащить в отдельный столбец информацию кто ответил на звонок

Прикрепил файл с образцом. Заранее спасибо!

Автор - Ziastisel
Дата добавления - 22.09.2024 в 11:44
Hugo Дата: Воскресенье, 22.09.2024, 12:11 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Добрый день.
Встроенными в новые Эксели типа =ТЕКСТРАЗД(ТЕКСТПОСЛЕ(A3;"(");",") долго/сложно получается, проще своей
[vba]
Код
Function kto(s) As String
Dim el
s = Replace(s, "))", ")")
s = Mid(s, InStr(s, "(") + 1)
For Each el In Split(s, ",")
    If Val(Split(el, "(")(1)) > 0 Then kto = Trim(el): Exit For
Next
End Function
[/vba]


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДобрый день.
Встроенными в новые Эксели типа =ТЕКСТРАЗД(ТЕКСТПОСЛЕ(A3;"(");",") долго/сложно получается, проще своей
[vba]
Код
Function kto(s) As String
Dim el
s = Replace(s, "))", ")")
s = Mid(s, InStr(s, "(") + 1)
For Each el In Split(s, ",")
    If Val(Split(el, "(")(1)) > 0 Then kto = Trim(el): Exit For
Next
End Function
[/vba]

Автор - Hugo
Дата добавления - 22.09.2024 в 12:11
Egyptian Дата: Воскресенье, 22.09.2024, 20:23 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Вариант (формула массива):
Код
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(LEFT(A3;FIND("("&MAX(IFERROR(--LEFT(SUBSTITUTE(TRIM(MID(SUBSTITUTE("("&A3;"(";REPT(" ";LEN(A3)));ROW($1:$99)*LEN(A3);LEN(A3)));")";"     ");5);))&")";A3)-1);"(";",");",";REPT(" ";99));99))

В файле эта же формула разделена на две части для наглядности.
К сообщению приложен файл: 2820465.xlsx (10.1 Kb)
 
Ответить
СообщениеВариант (формула массива):
Код
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(LEFT(A3;FIND("("&MAX(IFERROR(--LEFT(SUBSTITUTE(TRIM(MID(SUBSTITUTE("("&A3;"(";REPT(" ";LEN(A3)));ROW($1:$99)*LEN(A3);LEN(A3)));")";"     ");5);))&")";A3)-1);"(";",");",";REPT(" ";99));99))

В файле эта же формула разделена на две части для наглядности.

Автор - Egyptian
Дата добавления - 22.09.2024 в 20:23
Nic70y Дата: Понедельник, 23.09.2024, 07:55 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9032
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
вариант не массивной
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(A3;ПОИСК(")";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;"(0)";"\\\");"(";" ";1)));"(";" ";1);",";" ");" ";ПОВТОР(" ";30));150))
вдруг правильно
К сообщению приложен файл: 518.xlsx (9.8 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевариант не массивной
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(A3;ПОИСК(")";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;"(0)";"\\\");"(";" ";1)));"(";" ";1);",";" ");" ";ПОВТОР(" ";30));150))
вдруг правильно

Автор - Nic70y
Дата добавления - 23.09.2024 в 07:55
  • Страница 1 из 1
  • 1
Поиск:

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