Как вычленить вес из текстовой строки.
kanaplya82
Дата: Четверг, 21.02.2013, 12:46 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Здравствуйте,имеется строка с номенклатурой в которой прописан вес продукта.Какой формулой его вырезать?Закономерности нет,так как есть значения 50гр;50 г;50 г.;100гр;100 г и так далее. Есть у кого какие соображения?Заранее благодарен.
Здравствуйте,имеется строка с номенклатурой в которой прописан вес продукта.Какой формулой его вырезать?Закономерности нет,так как есть значения 50гр;50 г;50 г.;100гр;100 г и так далее. Есть у кого какие соображения?Заранее благодарен. kanaplya82
Сообщение отредактировал 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
Ответить
Сообщение приложите файл с примерами, с различными вариантами написания веса Автор - 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)))
Учитывая то, что подпись веса в разных строках разная (г/, г./, гр/), плюс пробелы перед весом иногда есть, иногда нет, то удалось решить эту задачу таким вот вариантом: Код
=СЖПРОБЕЛЫ(ЕСЛИОШИБКА(ЗНАЧЕН(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4)));ПСТР(СЖПРОБЕЛЫ(ПСТР(A8;ЕСЛИОШИБКА(ПОИСК("г/";A8);ЕСЛИОШИБКА(ПОИСК("г.";A8);ПОИСК("гр";A8)))-4;4));2;1000)))
DJ_Marker_MC
Ответить
Сообщение Учитывая то, что подпись веса в разных строках разная (г/, г./, гр/), плюс пробелы перед весом иногда есть, иногда нет, то удалось решить эту задачу таким вот вариантом: Код
=СЖПРОБЕЛЫ(ЕСЛИОШИБКА(ЗНАЧЕН(СЖПРОБЕЛЫ(ПСТР(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.Заранее благодарен,рад как слон Интерпретации во вложении.
Спасибо большое,у самого знаний не хватает,вы гении))) Таблица большая,там нашлось еще несколько интерпретаций веса подправьте пожалуйста формулу. там где вес 30-45 нужен 45,а он прописывает его как -45.Заранее благодарен,рад как слон Интерпретации во вложении. kanaplya82
К сообщению приложен файл:
__..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. Тут всё четко находит и выдает нужный результат. Поскольку в предложенной мной формуле трудно учесть все нюансы.
kanaplya82, всё таки советую воспользоваться UDF от ikki. Тут всё четко находит и выдает нужный результат. Поскольку в предложенной мной формуле трудно учесть все нюансы. DJ_Marker_MC
Сообщение отредактировал 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)
Код
=ПРОСМОТР(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
Сообщение отредактировал 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})))
вариант, формула массива: Код
=МАКС(ЕСЛИ((ПСТР(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
Ответить
Сообщение вариант, формула массива: Код
=МАКС(ЕСЛИ((ПСТР(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