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

Вход

Регистрация

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

 

= Мир MS Excel/Оставить определенное количество перечислений в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Оставить определенное количество перечислений в ячейке
Marandi Дата: Среда, 03.07.2024, 11:01 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день, уважаемые специалисты.
Прошу помочь с такой задачей.
Есть таблица, где в столбце Было дано название с перечислением разного количества моделей после бренда DeWalt (Деволт).
Задача в следующем: изменить название так, чтобы из всего перечисления моделей осталось только 3 первые модели и в конце текста не должно остаться запятой или пробела.
Например, в ячейке A2 название «Винт для пилы торцовочной DeWalt (Деволт) DCS727 TYPE 1, DHS780 TYPE 21, DHS780 TYPE 20, DCS781N TYPE 1» должно стать «Винт для пилы торцовочной DeWalt (Деволт) DCS727 TYPE 1, DHS780 TYPE 21, DHS780 TYPE 20».
Пример прикрепила.
К сообщению приложен файл: 9599631.xlsx (9.9 Kb)


Сообщение отредактировал Marandi - Среда, 03.07.2024, 11:02
 
Ответить
СообщениеДобрый день, уважаемые специалисты.
Прошу помочь с такой задачей.
Есть таблица, где в столбце Было дано название с перечислением разного количества моделей после бренда DeWalt (Деволт).
Задача в следующем: изменить название так, чтобы из всего перечисления моделей осталось только 3 первые модели и в конце текста не должно остаться запятой или пробела.
Например, в ячейке A2 название «Винт для пилы торцовочной DeWalt (Деволт) DCS727 TYPE 1, DHS780 TYPE 21, DHS780 TYPE 20, DCS781N TYPE 1» должно стать «Винт для пилы торцовочной DeWalt (Деволт) DCS727 TYPE 1, DHS780 TYPE 21, DHS780 TYPE 20».
Пример прикрепила.

Автор - Marandi
Дата добавления - 03.07.2024 в 11:01
elovkov Дата: Среда, 03.07.2024, 11:13 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 406
Репутация: 72 ±
Замечаний: 0% ±

Excel 2013
Добрый день, если всегда 3, попробуйте так
Код
=ЛЕВБ(A2;НАЙТИ("~";ПОДСТАВИТЬ(A2;",";"~";3))-1)


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
СообщениеДобрый день, если всегда 3, попробуйте так
Код
=ЛЕВБ(A2;НАЙТИ("~";ПОДСТАВИТЬ(A2;",";"~";3))-1)

Автор - elovkov
Дата добавления - 03.07.2024 в 11:13
Светлый Дата: Среда, 03.07.2024, 11:15 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Код
=ЛЕВБ(A2;ПОИСК("#";ПОДСТАВИТЬ(A2;",";"#";3))-1)


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Код
=ЛЕВБ(A2;ПОИСК("#";ПОДСТАВИТЬ(A2;",";"#";3))-1)

Автор - Светлый
Дата добавления - 03.07.2024 в 11:15
elovkov Дата: Среда, 03.07.2024, 11:18 | Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 406
Репутация: 72 ±
Замечаний: 0% ±

Excel 2013
Светлый, а я раньше :D :D :D


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
СообщениеСветлый, а я раньше :D :D :D

Автор - elovkov
Дата добавления - 03.07.2024 в 11:18
Marandi Дата: Среда, 03.07.2024, 11:19 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
elovkov, большое вам спасибо. Работает
 
Ответить
Сообщениеelovkov, большое вам спасибо. Работает

Автор - Marandi
Дата добавления - 03.07.2024 в 11:19
Marandi Дата: Среда, 03.07.2024, 11:20 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Светлый, большое вам спасибо. Работает
 
Ответить
СообщениеСветлый, большое вам спасибо. Работает

Автор - Marandi
Дата добавления - 03.07.2024 в 11:20
Светлый Дата: Среда, 03.07.2024, 11:58 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Всё равно неправильно работает. Строка 17. В названии встречается запятая, поэтому отрезало лишний хвост.


Программировать проще, чем писать стихи.
 
Ответить
СообщениеВсё равно неправильно работает. Строка 17. В названии встречается запятая, поэтому отрезало лишний хвост.

Автор - Светлый
Дата добавления - 03.07.2024 в 11:58
Marandi Дата: Среда, 03.07.2024, 12:42 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Светлый, да, я это заметила сразу, но если вынести отдельно сами модели и работать уже с этими данными, останется потом только сцепить 2 столбца (до моделей + модели). Это недолго.
 
Ответить
СообщениеСветлый, да, я это заметила сразу, но если вынести отдельно сами модели и работать уже с этими данными, останется потом только сцепить 2 столбца (до моделей + модели). Это недолго.

Автор - Marandi
Дата добавления - 03.07.2024 в 12:42
cmivadwot Дата: Среда, 03.07.2024, 13:56 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 532
Репутация: 97 ±
Замечаний: 0% ±

365
Светлый, а так наверно правильно будет... если с "D" все коды
Код
=ЛЕВБ(A2;ПОИСК("#";ПОДСТАВИТЬ(A2;", D";"#";3))-1)


Сообщение отредактировал cmivadwot - Среда, 03.07.2024, 13:57
 
Ответить
СообщениеСветлый, а так наверно правильно будет... если с "D" все коды
Код
=ЛЕВБ(A2;ПОИСК("#";ПОДСТАВИТЬ(A2;", D";"#";3))-1)

Автор - cmivadwot
Дата добавления - 03.07.2024 в 13:56
Светлый Дата: Четверг, 04.07.2024, 08:58 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Если есть другие элементы, не на "D", а на "E" (легко добавить другие), то можно использовать такую формулу массива:
Код
=ЛЕВБ(A2;НАИМЕНЬШИЙ(ЕСЛИ((ПСТР(A2;СТРОКА($2:999);3)=", D")+(ПСТР(A2;СТРОКА($2:999);3)=", E");СТРОКА($1:998));3))
Можно вместо трёх элементов оставить другое количество.
*Чтобы не было ошибок, если элементов меньше, чем требуется:
Код
=ЛЕВБ(A2;НАИМЕНЬШИЙ(ЕСЛИ((ПСТР(A2&", D, D";СТРОКА($2:999);3)=", D")+(ПСТР(A2;СТРОКА($2:999);3)=", E");СТРОКА($1:998));5))


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Четверг, 04.07.2024, 09:08
 
Ответить
СообщениеЕсли есть другие элементы, не на "D", а на "E" (легко добавить другие), то можно использовать такую формулу массива:
Код
=ЛЕВБ(A2;НАИМЕНЬШИЙ(ЕСЛИ((ПСТР(A2;СТРОКА($2:999);3)=", D")+(ПСТР(A2;СТРОКА($2:999);3)=", E");СТРОКА($1:998));3))
Можно вместо трёх элементов оставить другое количество.
*Чтобы не было ошибок, если элементов меньше, чем требуется:
Код
=ЛЕВБ(A2;НАИМЕНЬШИЙ(ЕСЛИ((ПСТР(A2&", D, D";СТРОКА($2:999);3)=", D")+(ПСТР(A2;СТРОКА($2:999);3)=", E");СТРОКА($1:998));5))

Автор - Светлый
Дата добавления - 04.07.2024 в 08:58
Nic70y Дата: Четверг, 04.07.2024, 10:30 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 9001
Репутация: 2367 ±
Замечаний: 0% ±

Excel 2010
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(A10;ПОИСК("DeWalt";A10));",";"#")&ПСТР(A10;ПОИСК("DeWalt";A10)+1;9999);",";ПОВТОР(" ";9999);3);9999));"#";",")


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(A10;ПОИСК("DeWalt";A10));",";"#")&ПСТР(A10;ПОИСК("DeWalt";A10)+1;9999);",";ПОВТОР(" ";9999);3);9999));"#";",")

Автор - Nic70y
Дата добавления - 04.07.2024 в 10:30
Marandi Дата: Четверг, 04.07.2024, 12:11 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
cmivadwot, Светлый, Nic70y, благодарю вас. Я попробую.
 
Ответить
Сообщениеcmivadwot, Светлый, Nic70y, благодарю вас. Я попробую.

Автор - Marandi
Дата добавления - 04.07.2024 в 12:11
  • Страница 1 из 1
  • 1
Поиск:

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