Страницы: 1
RSS
Как разобрать текстовую строку по словам и положить в ячейки
 
Добрый день, Уважаемые спецы
Прошу Вашей помощи, ибо сам не могу найти решение.
Задача, вариант 1

- Имеем: Название товара, колонка «Наименование»
- могут быть ошибки, лишние пробелы;
- одно и тоже наименование, в разные периоды (месяцы), может немного отличатся от предыдущего (дописано слово), но это все тот же товар;
- уникальный IDнаименования не предусмотрен.
- Задача: взять наименование > разбить его на отдельные слова (метки) > поместить в соответствующие ячейки, группа колонок «Метки»
- Мысль: парсить наименование и раскладывать по ячейкам, с помощью функции excel(такая есть?), опираясь на заранее подготовленный список возможных вариантов (на другом листе или в другом файле), где каждая колонка вариантов соответствует колонке с метками.
 
Задача, вариант 2

- Имеем: все то же самое. Но метки не использовать, а:

- Задача: парсить «как бы, как-то» на лету, при формировании сводной таблицы. И сводную формировать уже из нужных значений.


Файл данными прикрепил.
 
как вариант
 
Михаил,

Благодарю, это то что надо. Немного переделал: добавил именованный диапазон и убрал ЛЕВСИМВ. Получилась такая конструкция: ПРОСМОТР(99;ПОИСК(NameType;A3);NameType)

Не могу понять, что означает 99 в ПРОСМОТР - Искомое значение?
 
Не формулист)) Но, вроде, то, что мы заведомо не найдём :)
 
ну я тоже так предположил)) но вот ввожу текстовую абракадабру и выдает ошибку Н/Д...
 
если текстовую - то 99 нужно заменить на "яяя"
пс. тоже не формулист :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
=ПРОСМОТР("яяя";ПОИСК(NameType;A3);NameType)
выдает ошибку #Н/Д
 
тогда формулисты нужны.
ну, или пока они спят - Ваш файл с этой формулой.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
и не важно что пишу, на латинице или кириллице
 
не понял проблему
если формулу из B4 скопировать в B3 - всё работает
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
правильно, потому что:

в В4 999999   =ПРОСМОТР(999999;ПОИСК(NameType;A4);NameType)
а в В3 "яяя"   =ПРОСМОТР("яяя";ПОИСК(NameType;A3);NameType)


поэтому и хочу понять, почему с цифрами работает, а с текстом - нет.
 
потому что Вы задавали вопрос по формуле, не предоставив контекста.
а формула изначально правильная.
ну, у Михаила других и не бывает :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
А зачем Вы ищите текст? Вы его не найдете в массиве который создается функцией ПОИСК.В вашем варианте в массиве есть цифра 7  и 1 это никак не текст. Поэтому результат ошибка. Посмотрите пошаговое вычисление и сами увидите.
Изменено: gling - 16.03.2015 01:13:19
 
функция поиск возвращает число, поэтому, если в просмотр ставим текст, получаем н/д.
 
ikki,
перечитал все что написано выше, не нашел где я писал что формула не правильная? То что дал Михаил - все работает.

Вопрос был в том, почему цифры, а не буквы в функции ПРОСМОТР? и далее, почему дает ошибку, если прописать буквы?

как-то так.
 
Цитата
Max Human написал:
вот ввожу текстовую абракадабру и выдает ошибку Н/Д...
достаточно?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Михаил, gling

Спасибо, разобрался :)
 
ну так все верно, - это же я ввожу :) я лично, своими руками...
достаточно, благодарю.
 
ну я же не вижу, куда Вы вводите :)

хорошо, что разобрались ;)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Учитывая, из #1
Цитата
Max Human написал:
- могут быть ошибки, лишние пробелы;
ваши метки сработают не всегда. Именно поэтому я ввел ЛЕВСИМВ()
В вашем же первом примере есть "Брюка STRELKA Norma series для женщин".
Поэтому, имхо, нужно использовать немного другой вариант.
Зы. Здесь 2 потому, что ПОИСПОЗ вернет либо Н/Д, либо 1
Страницы: 1
Наверх