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

Вход

Регистрация

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

 

= Мир MS Excel/Разделить текст ячеек диапазона по столбцам и строкам - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделить текст ячеек диапазона по столбцам и строкам (Формулы/Formulas)
Разделить текст ячеек диапазона по столбцам и строкам
i691198 Дата: Суббота, 28.01.2023, 16:59 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 221
Репутация: 85 ±
Замечаний: 0% ±

Здравствуйте. Есть исходный текст входящей накладной, в примере [A1:A3] , в идеале хотелось бы на выходе получить результат как в [B12:H18]. Пока у меня получилось разделить по столбцам в определенном порядке [B7:O9], но это не совсем то, что нужно. Есть одно самое неприятное условие - использовать макросы запрещено. А вот дальше я не знаю куда двигаться и вообще возможно ли это сделать формулами, или наплевать на эту затею?
К сообщению приложен файл: 7682426.xlsx (12.1 Kb)
 
Ответить
СообщениеЗдравствуйте. Есть исходный текст входящей накладной, в примере [A1:A3] , в идеале хотелось бы на выходе получить результат как в [B12:H18]. Пока у меня получилось разделить по столбцам в определенном порядке [B7:O9], но это не совсем то, что нужно. Есть одно самое неприятное условие - использовать макросы запрещено. А вот дальше я не знаю куда двигаться и вообще возможно ли это сделать формулами, или наплевать на эту затею?

Автор - i691198
Дата добавления - 28.01.2023 в 16:59
bmv98rus Дата: Суббота, 28.01.2023, 17:24 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4110
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
С доп. столбцом, можно и без него но будет более громоздко, сложнее, медленнее.

Выделил желтым что нужно удалять формулой но пока не стал.
К сообщению приложен файл: example2778.xlsx (14.2 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 28.01.2023, 17:44
 
Ответить
СообщениеС доп. столбцом, можно и без него но будет более громоздко, сложнее, медленнее.

Выделил желтым что нужно удалять формулой но пока не стал.

Автор - bmv98rus
Дата добавления - 28.01.2023 в 17:24
i691198 Дата: Суббота, 28.01.2023, 17:52 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 221
Репутация: 85 ±
Замечаний: 0% ±

bmv98rus, Спасибо, то что нужно.
Доступно только для пользователей
 
Ответить
Сообщениеbmv98rus, Спасибо, то что нужно.
Доступно только для пользователей

Автор - i691198
Дата добавления - 28.01.2023 в 17:52
прохожий2019 Дата: Суббота, 28.01.2023, 18:31 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1244
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
до кучи PQ
[vba]
Код
let
    lst={"вид","качество","упаковка","маркировка","брутто","выдано","дата выдачи"},
    f=(x)=>Text.Split(x,"/"),
    
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content][Column1],
    tr = List.Transform(from,f),
    tm = List.TransformMany(tr,(x)=>List.Split(List.Range(x,5),2),(x,y)=>{x{0},x{2},x{3}}&y),
    to=Table.FromList(tm,(x)=>x,lst,null)
in
    to
[/vba]

UPD
хотя вот так поэффективнее будет:
[vba]
Код
let
    lst={"вид","качество","упаковка","маркировка","брутто","выдано","дата выдачи"},
    f=(x)=>Text.Split(x{0},"/"),
    
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content],
    tr = Table.ToList(from,f),
    tm = List.TransformMany(tr,(x)=>List.Split(List.Range(x,5),2),(x,y)=>{x{0},x{2},x{3}}&y),
    to=Table.FromList(tm,(x)=>x,lst,null)
in
    to
[/vba]
К сообщению приложен файл: 3801253.xlsx (24.2 Kb)


Сообщение отредактировал прохожий2019 - Суббота, 28.01.2023, 18:36
 
Ответить
Сообщениедо кучи PQ
[vba]
Код
let
    lst={"вид","качество","упаковка","маркировка","брутто","выдано","дата выдачи"},
    f=(x)=>Text.Split(x,"/"),
    
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content][Column1],
    tr = List.Transform(from,f),
    tm = List.TransformMany(tr,(x)=>List.Split(List.Range(x,5),2),(x,y)=>{x{0},x{2},x{3}}&y),
    to=Table.FromList(tm,(x)=>x,lst,null)
in
    to
[/vba]

UPD
хотя вот так поэффективнее будет:
[vba]
Код
let
    lst={"вид","качество","упаковка","маркировка","брутто","выдано","дата выдачи"},
    f=(x)=>Text.Split(x{0},"/"),
    
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content],
    tr = Table.ToList(from,f),
    tm = List.TransformMany(tr,(x)=>List.Split(List.Range(x,5),2),(x,y)=>{x{0},x{2},x{3}}&y),
    to=Table.FromList(tm,(x)=>x,lst,null)
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 28.01.2023 в 18:31
i691198 Дата: Воскресенье, 29.01.2023, 13:56 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 221
Репутация: 85 ±
Замечаний: 0% ±

прохожий2019, Спасибо, хорошее решение. Правда есть небольшая ошибка, перепутаны местами поля "качество" и "упаковка", но это я и сам могу подправить - в строке tm=... поменять порядок полей {x{0},x{2},x{3} на {x{0},x{3},x{2}. Но у меня есть большие сомнения, что это пригодится. В этой конторе слишком жесткая система компьютерной безопасности, почти все рабочие места отключены от интернета, программное обеспечение только из утвержденного списка, обмен данными только через сервер. В отделе МТС в распоряжении одно старье, в лучшем случае Office 2013 или ещё старше. Если под запрет попали макросы, то не удивлюсь, что и PQ под запретом. Даже если это не так, то все равно вероятность получения разрешение на скачивание и установки надстройки PQ близка к 0. Еще раз спасибо. (Плюсик поставил)
 
Ответить
Сообщениепрохожий2019, Спасибо, хорошее решение. Правда есть небольшая ошибка, перепутаны местами поля "качество" и "упаковка", но это я и сам могу подправить - в строке tm=... поменять порядок полей {x{0},x{2},x{3} на {x{0},x{3},x{2}. Но у меня есть большие сомнения, что это пригодится. В этой конторе слишком жесткая система компьютерной безопасности, почти все рабочие места отключены от интернета, программное обеспечение только из утвержденного списка, обмен данными только через сервер. В отделе МТС в распоряжении одно старье, в лучшем случае Office 2013 или ещё старше. Если под запрет попали макросы, то не удивлюсь, что и PQ под запретом. Даже если это не так, то все равно вероятность получения разрешение на скачивание и установки надстройки PQ близка к 0. Еще раз спасибо. (Плюсик поставил)

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

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