Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.05.2008, 18:07   #1
John Pepper
 
Регистрация: 09.05.2008
Сообщений: 8
По умолчанию Автоматизация группировки данных

Задача такая - есть 2 списка слов.

Список длинных словосочетаний
http://img166.imageshack.us/img166/9912/93541991vg9.jpg

Список слов и коротких словосочетаний
http://img403.imageshack.us/img403/5305/88241488du9.jpg

Нужно брать каждое слово из второго списка и выбирать словосочетания из первого списка, его содержащие, чтобы в результате получилось что-то типа
такого
http://img403.imageshack.us/img403/1412/79250610bs1.jpg

Оранжевым выделены слова, по которым велся поиск.

Я делал фильтрацию вручную через закладку Data, пункт Filter в 2007 экселе.

Возможно как-то автоматизировать процесс, чтобы бралось каждое слово по очереди из второго списка, искало словосочетания в первом списке и
сохранялись результаты в таком виде как на странице результатов?

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

Например есть фраза мужская одеждая

Есть словосочетания, которые мы будем фильтровать
хорошая мужская одежда
плохая мужская одежда
качестванная мужская одежда

Нужно сделать так чтобы при включении слова фильтра плохая словосочетание - плохая мужская одежда не попадала в результаты, несмотря на то что
оно содержит искомую фразу мужская одежда


В архиве пример того, что хотелось бы получить.

sample.rar

Буду очень благодарен за помощь.
John Pepper вне форума
Старый 14.05.2008, 05:47   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Попробовал решить Вашу задачу. Столкнулся вот с какими проблемами:

1) Например, первое же слово во второй таблице (ringtone) встречается в очень большом количестве словосочетаний первой таблицы. В результате уже после поиска совпадений первого слова получаем огромный столбец. И т.д.

2) Было бы все красиво, если искать совпадения по словосочетанию целиком. Иначе - приходится брать первое слово - искать все, что содержит его, затем, из того, что нашли - отбирать по второму слову и т.д. Это о-очень долго.

Поясню. Проводим поиск словосочетания "mosquito ringtone". Если искать полностью, то в результат не попадет словосочетание "17000 hz mosquito cell phone ringtone", т.к. слова в искомом словосочетании разделены другими словами.
При поиске "целиком" - время работы моей процедуры (на "неплохом" компьютере) около 10 сек. При поиске по п.2 - не дождался. Урезал Вашу таблицу в 4 раза - получил время 4 мин.
Прокомментируйте п.п.1 и 2. Какой вариант устроит? С фильтром проблем нет, за исключением вопроса как вводить (или где брать) слова для фильтра?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 14.05.2008, 08:46   #3
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Смех Ну и данные...

Цитата:
Сообщение от SAS888 Посмотреть сообщение
первое же слово во второй таблице (ringtone) встречается в очень большом количестве словосочетаний первой таблицы.
Это бы ещё ничего.
А вот, например, словосочетание (из одного слова) ringtones второй таблицы встречается в 416 словосочетаниях второй же таблицы. Зачем, интересно, эти 416 словосочетаний нужны?
дмидми вне форума
Старый 14.05.2008, 16:14   #4
John Pepper
 
Регистрация: 09.05.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Попробовал решить Вашу задачу. Столкнулся вот с какими проблемами:

1) Например, первое же слово во второй таблице (ringtone) встречается в очень большом количестве словосочетаний первой таблицы. В результате уже после поиска совпадений первого слова получаем огромный столбец. И т.д.

2) Было бы все красиво, если искать совпадения по словосочетанию целиком. Иначе - приходится брать первое слово - искать все, что содержит его, затем, из того, что нашли - отбирать по второму слову и т.д. Это о-очень долго.

Поясню. Проводим поиск словосочетания "mosquito ringtone". Если искать полностью, то в результат не попадет словосочетание "17000 hz mosquito cell phone ringtone", т.к. слова в искомом словосочетании разделены другими словами.
При поиске "целиком" - время работы моей процедуры (на "неплохом" компьютере) около 10 сек. При поиске по п.2 - не дождался. Урезал Вашу таблицу в 4 раза - получил время 4 мин.
Прокомментируйте п.п.1 и 2. Какой вариант устроит? С фильтром проблем нет, за исключением вопроса как вводить (или где брать) слова для фильтра?


1. Думаю если не использовать слова из второго списка, а только словосочетания - то эта проблема отпадает. Такой вариант подойдет.

2. Почему так происходит? Когда ищу вручную через Data - Filter - Contains ( английская версия у меня) и ввожу слова - то результат моментально выдается.
Конечно очень хорошо было бы, если бы искались фразы, которые содержат искомую фразу в любом виде, в том числе разделенную другими словами, как в вашем примере с 17000 hz mosquito cell phone ringtone.

Слова-фильтры будут указыватся вручную, так что можно сделать чтобы просто указывались ячейки куда их буду вбивать или как-то так.
John Pepper вне форума
Старый 14.05.2008, 16:19   #5
John Pepper
 
Регистрация: 09.05.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от дмидми Посмотреть сообщение
Это бы ещё ничего.
А вот, например, словосочетание (из одного слова) ringtones второй таблицы встречается в 416 словосочетаниях второй же таблицы. Зачем, интересно, эти 416 словосочетаний нужны?
Немного лирики - занимаюсь контекстной рекламой, смысл этих словосочетаний в том, что чем больше похожесть рекламного объявления и поискового запроса человека - то тем больше вероятность того, что оно заинтересует человека.

Например если запрос "Зимняя куртка Nike" - то объявление с заголовком
"Распродажа зимних курток Nike" естественно более заинтересует чем объявление с заголовком "Одежда".

Такая разбивка ключевых слов делается для более точного соответствия
запроса к объявлению.
John Pepper вне форума
Старый 14.05.2008, 23:58   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

В примере http://slil.ru/25790416
В ячейке C2 выбираем нужное словосочетание mosquito ringtone
ringtone встречается 17542 раза
mosquito встречается 3 раза
mosquito ringtone встречается 2 раза
ringtone и mosquito вместе, в любом порядке или разделенные словами встречаются 3 раза:

buy mosquito ringtone
listen to the mosquito ringtone
17000 hz mosquito cell phone ringtone
Сколько раз встречается (СЧЁТЗ) можно увидеть в ячейке A2.

Если мы хотим увидеть словосочетания, в которых встречаются все слова
из выбранного словосочетания в С2, то мы просто выбираем в A4 фильтр= кол-во_слов в словочетании.
В моем примере =2
Также можно выбирать в A4 любое кол-во слов из словосочетания,которые есть в списке
или выбирать 1(единицу) под нужными словами.

P.S.
Еще раз спасибо за функцию выдергивания слов на VBA от SAS888
Здесь нашёл еще одну

Последний раз редактировалось ZORRO2005; 15.05.2008 в 03:36.
ZORRO2005 вне форума
Старый 15.05.2008, 15:37   #7
John Pepper
 
Регистрация: 09.05.2008
Сообщений: 8
По умолчанию

Zorro в твоей табличке возможен автоматический поиск по всем словам из второго списка и группировка результатов ?

Последний раз редактировалось John Pepper; 15.05.2008 в 19:35.
John Pepper вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
автоматизация в столовой Egavga Microsoft Office Excel 1 15.07.2008 14:02
Автоматизация юр фирмы NeZамужем Помощь студентам 1 27.03.2008 01:30
Автоматизация учёта в библиотеке ivp88 БД в Delphi 2 09.11.2007 15:37
Ребят, помогите прогу сделать для авто-группировки таблиц dbf HIC БД в Delphi 6 22.06.2007 14:37