Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - создание аттрибутов по корню слова

Ответить
Настройки темы
2010 - создание аттрибутов по корню слова

Ветеран


Сообщения: 580
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: r-studio
Дата: 22-03-2019
Я решил вернутся к прежней теме с корнями слов, но другим путем, полуручным
пример данных прикрепил




Как задать в коде vba что если в слове или фразе содержится корень который я задал, то приписать ему класс

т.е. if слово или фраза содержит макар, то в поле класс поставить аттрибут бакалея
а если слово содержит или фраза содержит пив, то в аттрибут напитки
...
и так далее

как альтернатива я могу создать отдельный vba с указанием слова и класса, и уже используя такой ручной классификатор прогнать его через основной файл



слова класс
макар бакалея
макароны вкусные бакалея
пив напитки

Отправлено: 12:24, 15-10-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Корни в примере — вижу, три штуки (два из которых — дубликат). А где сами слова?

Отправлено: 19:24, 15-10-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xlsx Корни.xlsx
(14.3 Kb, 2 просмотров)

Цитата r-studio:
т.е. if слово или фраза содержит макар, то в поле класс поставить аттрибут бакалея
а если слово содержит или фраза содержит пив, то в аттрибут напитки »
Такой алгоритм реализуется формулами, но с большой долей вероятности он вас не устроит.
В приложенном примере приблизительные (исходя из вашего описания) таблицы оформлены как списки/умная таблица. Синяя - с исходными данными по категориям - называется "Таблица 1". Во вторую вбита формула массива (как водится - объемная)
Код: Выделить весь код
=ИНДЕКС(Таблица1[класс];МАКС(ЕСЛИ(" " & СТРОЧН( [@Наименование]) & " " <> ПОДСТАВИТЬ(" " & СТРОЧН( [@Наименование]) & " "; Таблица1[слова];"@#$"); СТРОКА(Таблица1[класс])-СТРОКА(Таблица1[[#Заголовки];[класс]]));1))
Приоритет будет у того класса, который ближе к концу. Ключевые слова должны начинаться с маленькой буквы.
Соответственно, результат достаточно предсказуем:
К мясу относится как "Шашл. в вакуумной упаковке" так и "кетчуп шашл.", потому что в них есть ключевое сочетание "шашл."
Аналогично - "сыр" и "сосиски с сыром" - это "молочные продукты".
Соответственно, с 10 категориями можно продумать приоритеты, а если категорий будет 200, то об ошибке вы вероятно даже не узнаете. Как вариант - включайте в слова пробелы до и после (в наименование товаров они автоматом подставляются в начало и конец), а также точки, если могут быть сокращения.
Цитата Iska:
Корни в примере — вижу, три штуки (два из которых — дубликат). А где сами слова? »
Судя по предыдущему примеру - речь пойдет не о корнях, как таковых, а о произвольных фрагментах слов. Извечная проблема программной обработки данных, занесенных как придется/как попало. Затрудняюсь представить себе алгоритм VBA, а формул тут будет явно недостаточно .

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:25, 15-10-2018 | #3


Ветеран


Сообщения: 580
Благодарности: 2

Профиль | Отправить PM | Цитировать


a_axe, суть в том, что эти таблички не работают с множественным числом
слова класс
макар бакалея
макароны вкусные бакалея
пив напитки

окей, макароны очень вкусные.
итак
1. vba смотрит что у него в словах
2. в словах видит макар
3. начинает работать с фразой макароны очень вкусные. и увидел макар в макаронах,
4. далее глянул, что макар это бакалея, значит, напротив макароны очень вкусные. ставим бакалею

фраза макароны очень вкусные. лежит в отдельном файле. столбец Goods_names
эта колонка может находится в разныз местах, файлов много и она может быть на первом месте, в другом файле на 4-ом.
зависимости как дата инженер выгрузит

Отправлено: 12:03, 18-10-2018 | #4


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата r-studio:
окей, макароны очень вкусные.
итак
1. vba смотрит что у него в словах
2. в словах видит макар
3. начинает работать с фразой макароны очень вкусные. и увидел макар в макаронах,
4. далее глянул, что макар это бакалея, значит, напротив макароны очень вкусные. ставим бакалею »
r-studio, по указанному вами принципу формулы как раз работают - макароны очень вкусные обрабатываются по совпадению "макар".
Речь вероятно идет о том, что "макароны очень вкусные" должны выдавать совпадение с "макароны вкусные"?
Цитата r-studio:
фраза макароны очень вкусные. лежит в отдельном файле. столбец Goods_names
эта колонка может находится в разныз местах, файлов много и она может быть на первом месте, в другом файле на 4-ом.
зависимости как дата инженер выгрузит »
Использование таблиц как раз и решает эту проблему - столбец нужно переименовать в соответствии с примером, и тогда не имеет значения, где он лежит. Ну, а инженеру придется овладеть выгрузкой по такому варианту, который потом может быть успешно обработан.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:27, 20-10-2018 | #5


Ветеран


Сообщения: 580
Благодарности: 2

Профиль | Отправить PM | Цитировать


a_axe, а Вас можно попросить помочь отредактировать этот код
http://forum.oszone.net/thread-337253.html

Отправлено: 13:06, 20-10-2018 | #6



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - создание аттрибутов по корню слова

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2007 - [решено] Копирование аттрибутов текста в ms Office Enterpise 2007 ivanhoe75 Microsoft Office (Word, Excel, Outlook и т.д.) 2 26-11-2015 17:49
Доступ - [решено] Под админом пропал доступ к корню всех дисков. Glitch Microsoft Windows 7 21 03-05-2015 06:37
VBS/WSH/JS - поиск слова в тексте и вывод части текста после искомого слова sergey23031978 Скриптовые языки администрирования Windows 9 18-02-2015 16:54
2010 - Хочу все знать о WORD 2010 часть 6: выделение слова без пробела после слова test2235 Microsoft Office (Word, Excel, Outlook и т.д.) 2 02-11-2013 22:20
VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs O L E G Скриптовые языки администрирования Windows 6 17-05-2012 09:05




 
Переход