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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить ячейку с условным разделителем (Формулы/Formulas)
Разбить ячейку с условным разделителем
4step Дата: Среда, 16.03.2022, 04:34 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Прошу помочь составить формулу для разбивки ячейки "Полное наименование" на пронумерованные столбцы. Разделитель ячейке является символ "|". Если есть возможность, то можно в качестве альтернативы сделать VBA кодом. Буду очень рад!
К сообщению приложен файл: _1.xlsx(10.7 Kb)
 
Ответить
СообщениеДобрый день! Прошу помочь составить формулу для разбивки ячейки "Полное наименование" на пронумерованные столбцы. Разделитель ячейке является символ "|". Если есть возможность, то можно в качестве альтернативы сделать VBA кодом. Буду очень рад!

Автор - 4step
Дата добавления - 16.03.2022 в 04:34
DrMini Дата: Среда, 16.03.2022, 06:30 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 776
Репутация: 46 ±
Замечаний: 0% ±

Excel LTSC 2021 RUS
4step, Доброго времени суток.
Так?
В ячейку B2 (Ваша немного изменённая формула):
Код
=ЕСЛИОШИБКА(ЛЕВСИМВ(A2; ПОИСК("|";A2;1)-1);"")

В ячейку C2 и протянуть куда надо:
Код
=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&"|";ОБЪЕДИНИТЬ("|";ИСТИНА;$B2:B2)&"|";"";1);ПОИСК("|";ПОДСТАВИТЬ($A2&"|";ОБЪЕДИНИТЬ("|";ИСТИНА;$B2:B2)&"|";"";1);1)-1);"")
К сообщению приложен файл: 9476164.xlsx(12.0 Kb)
 
Ответить
Сообщение4step, Доброго времени суток.
Так?
В ячейку B2 (Ваша немного изменённая формула):
Код
=ЕСЛИОШИБКА(ЛЕВСИМВ(A2; ПОИСК("|";A2;1)-1);"")

В ячейку C2 и протянуть куда надо:
Код
=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&"|";ОБЪЕДИНИТЬ("|";ИСТИНА;$B2:B2)&"|";"";1);ПОИСК("|";ПОДСТАВИТЬ($A2&"|";ОБЪЕДИНИТЬ("|";ИСТИНА;$B2:B2)&"|";"";1);1)-1);"")

Автор - DrMini
Дата добавления - 16.03.2022 в 06:30
4step Дата: Среда, 16.03.2022, 07:15 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Так?

формула работает частично, но при вставки дополнительных ячеек по столбцу - формулы по строке не обновляет.
К сообщению приложен файл: _1-1.xlsx(13.2 Kb)


Сообщение отредактировал 4step - Среда, 16.03.2022, 07:16
 
Ответить
Сообщение
Так?

формула работает частично, но при вставки дополнительных ячеек по столбцу - формулы по строке не обновляет.

Автор - 4step
Дата добавления - 16.03.2022 в 07:15
Egyptian Дата: Среда, 16.03.2022, 07:37 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 311
Репутация: 107 ±
Замечаний: 0% ±

Excel 2013/2016
В ячейку B2. Протянуть вправо и вниз.
Код
=TRIM(MID(SUBSTITUTE("|"&$A2;"|";REPT(" ";99));COLUMN(A1)*99;99))
К сообщению приложен файл: 6753265.xlsx(12.2 Kb)
 
Ответить
СообщениеВ ячейку B2. Протянуть вправо и вниз.
Код
=TRIM(MID(SUBSTITUTE("|"&$A2;"|";REPT(" ";99));COLUMN(A1)*99;99))

Автор - Egyptian
Дата добавления - 16.03.2022 в 07:37
4step Дата: Среда, 16.03.2022, 08:27 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

DrMini & Egyptian, Очень благодарен за помощь!! =)
 
Ответить
СообщениеDrMini & Egyptian, Очень благодарен за помощь!! =)

Автор - 4step
Дата добавления - 16.03.2022 в 08:27
DrMini Дата: Среда, 16.03.2022, 08:43 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 776
Репутация: 46 ±
Замечаний: 0% ±

Excel LTSC 2021 RUS
при вставки дополнительных ячеек по столбцу - формулы по строке не обновляет

Всё прекрасно обновляется.
Просто вставил через буфер обмена.
К сообщению приложен файл: 5358699.xlsx(21.4 Kb)
 
Ответить
Сообщение
при вставки дополнительных ячеек по столбцу - формулы по строке не обновляет

Всё прекрасно обновляется.
Просто вставил через буфер обмена.

Автор - DrMini
Дата добавления - 16.03.2022 в 08:43
bigorq Дата: Среда, 16.03.2022, 08:56 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 99
Репутация: 24 ±
Замечаний: 0% ±

Нет
4step, А текст по столбцам не подходит?
 
Ответить
Сообщение4step, А текст по столбцам не подходит?

Автор - bigorq
Дата добавления - 16.03.2022 в 08:56
китин Дата: Среда, 16.03.2022, 09:06 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 6804
Репутация: 1046 ±
Замечаний: 0% ±

Excel 2007;2010;2016
А текст по столбцам не подходит?

или PQ всемогущий тоже не катит?
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Текст полный", type text}, {"1", type any}, {"2", type any}, {"3", type text}, {"4", type text}}),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Измененный тип",{"Текст полный"}),
    #"Дублированный столбец" = Table.DuplicateColumn(#"Другие удаленные столбцы", "Текст полный", "Копия Текст полный"),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Дублированный столбец", "Копия Текст полный", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Копия Текст полный.1", "Копия Текст полный.2", "Копия Текст полный.3", "Копия Текст полный.4"}),
    #"Удаленные нижние строки" = Table.RemoveLastN(#"Разделить столбец по разделителю",1)
in
    #"Удаленные нижние строки"
[/vba]
К сообщению приложен файл: 9492240.xlsx(19.7 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
А текст по столбцам не подходит?

или PQ всемогущий тоже не катит?
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Текст полный", type text}, {"1", type any}, {"2", type any}, {"3", type text}, {"4", type text}}),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Измененный тип",{"Текст полный"}),
    #"Дублированный столбец" = Table.DuplicateColumn(#"Другие удаленные столбцы", "Текст полный", "Копия Текст полный"),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Дублированный столбец", "Копия Текст полный", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Копия Текст полный.1", "Копия Текст полный.2", "Копия Текст полный.3", "Копия Текст полный.4"}),
    #"Удаленные нижние строки" = Table.RemoveLastN(#"Разделить столбец по разделителю",1)
in
    #"Удаленные нижние строки"
[/vba]

Автор - китин
Дата добавления - 16.03.2022 в 09:06
4step Дата: Среда, 16.03.2022, 15:10 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

PQ всемогущий

Благодарю за подсказку! =)
 
Ответить
Сообщение
PQ всемогущий

Благодарю за подсказку! =)

Автор - 4step
Дата добавления - 16.03.2022 в 15:10
jakim Дата: Среда, 16.03.2022, 19:57 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1088
Репутация: 291 ±
Замечаний: 0% ±

Excel 2010
Ещё вариант PQ

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Текст полный", type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type","Текст полный",Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv),{"Текст полный.1", "Текст полный.2", "Текст полный.3", "Текст полный.4"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Текст полный.1", type text}, {"Текст полный.2", type text}, {"Текст полный.3", type text}, {"Текст полный.4", type text}})
in
    #"Changed Type1"
[/vba]
К сообщению приложен файл: 4069895.xlsx(16.9 Kb)


Сообщение отредактировал Serge_007 - Четверг, 17.03.2022, 09:19
 
Ответить
Сообщение
Ещё вариант PQ

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Текст полный", type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type","Текст полный",Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv),{"Текст полный.1", "Текст полный.2", "Текст полный.3", "Текст полный.4"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Текст полный.1", type text}, {"Текст полный.2", type text}, {"Текст полный.3", type text}, {"Текст полный.4", type text}})
in
    #"Changed Type1"
[/vba]

Автор - jakim
Дата добавления - 16.03.2022 в 19:57
прохожий2019 Дата: Среда, 16.03.2022, 21:49 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 827
Репутация: 196 ±
Замечаний: 0% ±

365 Beta Channel
PQ всемогущий
так не проще? [vba]
Код
let
    f=(x)=>{x}&Text.Split(x,"|"),
    nms = {"Текст полный","1".."4"},
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content][Текст полный],
    to = Table.FromList(from,f,nms)
in
    to
[/vba]
К сообщению приложен файл: 4069.xlsx(18.0 Kb)


Сообщение отредактировал прохожий2019 - Среда, 16.03.2022, 21:53
 
Ответить
Сообщение
PQ всемогущий
так не проще? [vba]
Код
let
    f=(x)=>{x}&Text.Split(x,"|"),
    nms = {"Текст полный","1".."4"},
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content][Текст полный],
    to = Table.FromList(from,f,nms)
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 16.03.2022 в 21:49
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить ячейку с условным разделителем (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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