Есть выгрузка из 1С. Необходимо из каждого наименования (см. первую колонку - "Исходные данные") выделить артикул.
Единственная закономерность, которая здесь есть: артикул - это все символы после последнего пробела.
См. файл примера. Я сделал колонку "Нужен результат", чтобы показать, что должно получиться на выходе.
Наверное, можно и короче, но как вариант
=ПСТР(A2;ПОИСК("|";ПОДСТАВИТЬ(A2;" ";"|";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))))+1;99)
Вряд ли короче. Стандартный вариант.
Цитата: Pelena от 05.12.2015, 21:32
Наверное, можно и короче, но как вариант
Спасибо! То, что надо!
короче
=ПСТР(A2;ПРОСМОТР(999;ПОИСК(" ";A2;СТРОКА(1:999)));99)
Цитата: cheshiki1 от 07.12.2015, 09:10
короче
=ПСТР(A2;ПРОСМОТР(999;ПОИСК(" ";A2;СТРОКА(1:999)));99)
Позволю себе ма-аленькую коррекцию
=ПСТР(A2;ПРОСМОТР(999;ПОИСК(" ";A2;СТРОКА(1:999)))+1;99)
Друзья, я проверил - в рабочем файле (160 позиций) корректно работает только вариант Pelena. ;)
Прикладываю файл со всеми 3 формулами.
Последний штрих :)
=ПСТР(A97;ПРОСМОТР(999;ПОИСК(" ";A97;СТРОКА($1:$999)))+1;99)
Спасибо!
=ЗАМЕНИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";"!";ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";"")));1;ПОИСК("!";ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";"!";ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";"")));1);"")
ЦитироватьВряд ли короче
Это я не подумал :)
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";50));50))
Кто знает куда и как идти - выбирает наиболее простой путь
Цитата: vikttur от 07.12.2015, 20:16
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";50));50))
55 символов! Круто! Найдется ли формула еще короче? 8)