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

Вход

Регистрация

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

 

= Мир MS Excel/Как вычленить вес из текстовой строки. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как вычленить вес из текстовой строки.
kanaplya82 Дата: Четверг, 21.02.2013, 12:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте,имеется строка с номенклатурой в которой прописан вес продукта.Какой формулой его вырезать?Закономерности нет,так как есть значения 50гр;50 г;50 г.;100гр;100 г и так далее. Есть у кого какие соображения?Заранее благодарен.
К сообщению приложен файл: 1662385.xls (20.0 Kb)


Сообщение отредактировал kanaplya82 - Четверг, 21.02.2013, 12:57
 
Ответить
СообщениеЗдравствуйте,имеется строка с номенклатурой в которой прописан вес продукта.Какой формулой его вырезать?Закономерности нет,так как есть значения 50гр;50 г;50 г.;100гр;100 г и так далее. Есть у кого какие соображения?Заранее благодарен.

Автор - kanaplya82
Дата добавления - 21.02.2013 в 12:46
MCH Дата: Четверг, 21.02.2013, 12:50 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

приложите файл с примерами, с различными вариантами написания веса
 
Ответить
Сообщениеприложите файл с примерами, с различными вариантами написания веса

Автор - MCH
Дата добавления - 21.02.2013 в 12:50
DJ_Marker_MC Дата: Четверг, 21.02.2013, 14:10 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Учитывая то, что подпись веса в разных строках разная (г/, г./, гр/), плюс пробелы перед весом иногда есть, иногда нет, то удалось решить эту задачу таким вот вариантом:
Код

=СЖПРОБЕЛЫ(ЕСЛИОШИБКА(ЗНАЧЕН(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4)));ПСТР(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4));2;1000)))
К сообщению приложен файл: 1662385.xlsx (10.3 Kb)
 
Ответить
СообщениеУчитывая то, что подпись веса в разных строках разная (г/, г./, гр/), плюс пробелы перед весом иногда есть, иногда нет, то удалось решить эту задачу таким вот вариантом:
Код

=СЖПРОБЕЛЫ(ЕСЛИОШИБКА(ЗНАЧЕН(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4)));ПСТР(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4));2;1000)))

Автор - DJ_Marker_MC
Дата добавления - 21.02.2013 в 14:10
ikki Дата: Четверг, 21.02.2013, 14:47 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
вариант с UDF
К сообщению приложен файл: gram.xlsm (15.4 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Четверг, 21.02.2013, 14:47
 
Ответить
Сообщениевариант с UDF

Автор - ikki
Дата добавления - 21.02.2013 в 14:47
kanaplya82 Дата: Четверг, 21.02.2013, 15:35 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Спасибо большое,у самого знаний не хватает,вы гении))) Таблица большая,там нашлось еще несколько интерпретаций веса подправьте пожалуйста формулу. там где вес 30-45 нужен 45,а он прописывает его как -45.Заранее благодарен,рад как слон Интерпретации во вложении.
К сообщению приложен файл: __..xls (19.5 Kb)


Сообщение отредактировал kanaplya82 - Четверг, 21.02.2013, 15:44
 
Ответить
СообщениеСпасибо большое,у самого знаний не хватает,вы гении))) Таблица большая,там нашлось еще несколько интерпретаций веса подправьте пожалуйста формулу. там где вес 30-45 нужен 45,а он прописывает его как -45.Заранее благодарен,рад как слон Интерпретации во вложении.

Автор - kanaplya82
Дата добавления - 21.02.2013 в 15:35
DJ_Marker_MC Дата: Четверг, 21.02.2013, 15:57 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
kanaplya82, всё таки советую воспользоваться UDF от ikki. Тут всё четко находит и выдает нужный результат. Поскольку в предложенной мной формуле трудно учесть все нюансы.


Сообщение отредактировал marker_mc - Четверг, 21.02.2013, 15:58
 
Ответить
Сообщениеkanaplya82, всё таки советую воспользоваться UDF от ikki. Тут всё четко находит и выдает нужный результат. Поскольку в предложенной мной формуле трудно учесть все нюансы.

Автор - DJ_Marker_MC
Дата добавления - 21.02.2013 в 15:57
Michael_S Дата: Четверг, 21.02.2013, 16:18 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Код
=ПРОСМОТР(2;1/ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4));ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4)))


зы. так чуть короче
Код
=ОКРУГЛ(1/ПРОСМОТР(2;1/ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4)));0)


Сообщение отредактировал Michael_S - Четверг, 21.02.2013, 16:22
 
Ответить
Сообщение
Код
=ПРОСМОТР(2;1/ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4));ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4)))


зы. так чуть короче
Код
=ОКРУГЛ(1/ПРОСМОТР(2;1/ПРАВСИМВ(ПОДСТАВИТЬ(ПСТР(A8;ПРОСМОТР(2;1/(ПСТР(A8;СТРОКА($A$1:$A$100);1)="г");СТРОКА($A$1:$A$100))-4;4);"-";"!");СТРОКА($A$1:$A$4)));0)

Автор - Michael_S
Дата добавления - 21.02.2013 в 16:18
MCH Дата: Четверг, 21.02.2013, 16:34 | Сообщение № 8
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

вариант, формула массива:
Код
=МАКС(ЕСЛИ((ПСТР(B8;СТРОКА($1:$99);1)="г")*ЕЧИСЛО(-ПСТР(B8;СТРОКА($1:$99)-{1;2;3;4};{1;2;3;4}));--ПСТР(B8;СТРОКА($1:$99)-{1;2;3;4};{1;2;3;4})))
К сообщению приложен файл: 1795670.xls (30.5 Kb)
 
Ответить
Сообщениевариант, формула массива:
Код
=МАКС(ЕСЛИ((ПСТР(B8;СТРОКА($1:$99);1)="г")*ЕЧИСЛО(-ПСТР(B8;СТРОКА($1:$99)-{1;2;3;4};{1;2;3;4}));--ПСТР(B8;СТРОКА($1:$99)-{1;2;3;4};{1;2;3;4})))

Автор - MCH
Дата добавления - 21.02.2013 в 16:34
  • Страница 1 из 1
  • 1
Поиск:

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