Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как использовать диапазон строк как условие для фильтра - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как использовать диапазон строк как условие для фильтра
Lavval Дата: Среда, 15.12.2010, 22:05 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте.
У меня вопрос (может Вы сможете мне помочь). Есть документ в котором в Лист1 список имен (ников и т.п) и есть Лист2 с логом в котором эти имена (ники) встречаются - вопрос как настроить фильтр (или как отсортировать) таким образом, чтобы отображались только те строки в которых присутствуют имена (ники ) из Лист1
P.S. Проблема в том, что этих имен пору сотен и создавать фильтр по каждому невозможно (в здравом уме), а как использовать диапазон в качестве условия фильтра я не знаю confused
Надеюсь на Вашу помощь. В любом случае спасибо.

Лист1

Code
$_T_@_L_K_e_R_777Yam  
[B.H.]OveRLorD[.ru] dis
[B.H]PoLoTeN4iK[.ru] dis
[Fallen]BioHazarD  
[Fallen]BioHazarD dis
[King]Admin56  
[King]Admin56 dis
[NoELiT]KiloVT dis
[SPb]eddi-KOT  
___RED_GREEN___HOOLS  
___RED_GREEN___HOOLS dis
aaa.game101  
aaa.game101 dis
andygad  
andygad dis
Hardlol_4to  
ice_jatagan  
klon_520280

Лист2
Code
* APL-5 [65535] respawned as actor
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [ser122]
--- CL: On Update Respond from [[NoELiT]KiloVT]
* upload server info to client [-1591328932] complete !
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.33 | -0.02 | 0.06 | DIST 49.87 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.19 | -0.08 | 0.04 | DIST 93.40 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.17 | 0.08 | 0.16 | DIST 93.01 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 4+0.30 - | 0.11 | -0.08 | 0.04 | DIST 46.47 | K_AP 0.80
ser122 killed by APL-5 ...
APL-5 killed ser122!
* untigray_27_(sparta) [65535] respawned as spectator
untigray_27_(sparta) connected
untigray_27_(sparta)  
* ser122 [65535] respawned as spectator
* Skin - actors\stalker_mp\mp_team_green_addon_fr.ogf
* ser122 [65535] respawned as actor
untigray_27_(sparta) *s  
* Skin - actors\stalker_mp\mp_team_blue_addon_de.ogf
* untigray_27_(sparta) [65535] respawned as actor
--- CL: On Update Request
--- CL: On Update Respond from [untigray_27_(sparta)]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
* upload server info to client [-1590280365] complete !
* [King]Admin56 [65535] respawned as spectator
[King]Admin56 connected
[King]Admin56
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | 0.24 | -0.03 | -0.07 | DIST 99.85 | K_AP 0.50
ser122 killed by untigray_27_(sparta) ...
untigray_27_(sparta) killed ser122 86
untigray_27_(sparta) [mp_wpn_l85] HP 2+0.35 - | 0.08 | 0.06 | -0.01 | DIST 49.92 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | -0.00 | 0.08 | 0.14 | DIST 99.78 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | -0.52 | 0.13 | -0.03 | DIST 99.73 | K_AP 0.50
* ser122 [65535] respawned as spectator
* Skin - actors\stalker_mp\mp_team_green_addon_fr.ogf
* ser122 [65535] respawned as actor
* Skin - actors\stalker_mp\mp_team_green_addon_uk.ogf
* [King]Admin56 [65535] respawned as actor
: ServerAdmin : %c[01c[01,3,231,94] www.black-bullet.org.ru
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [untigray_27_(sparta)]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
--- CL: On Update Respond from [[King]Admin56]
* checking for ban player  
APL-5 [mp_wpn_l85] HP 1+0.59 - | 0.13 | 0.08 | 0.14 | DIST 91.76 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 4+0.29 - | -0.07 | -0.03 | 0.08 | DIST 45.90 | K_AP 0.80
[King]Admin56 killed by APL-5 ...
APL-5 killed [King]Admin56 86
* [King]Admin56 [65535] respawned as spectator
--- CL: On Update Request
--- CL: On Update Respond from [untigray_27_(sparta)]
* Skin - actors\stalker_mp\mp_team_green_addon_uk.ogf
* [King]Admin56 [65535] respawned as actor
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.16 | 0.08 | -0.04 | DIST 99.00 | K_AP 0.50
--- CL: On Update Respond from [[King]Admin56]
ser122 [mp_wpn_ak74] HP 1+0.61 - | 0.17 | 0.05 | 0.17 | DIST 49.57 | K_AP 0.80
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.16 | 0.09 | 0.04 | DIST 98.99 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.15 | 0.03 | -0.02 | DIST 98.98 | K_AP 0.50

Результат должен выглядеть примерно так
Code
--- CL: On Update Respond from [Hardlol_4to]
--- CL: On Update Respond from [$_T_@_L_K_e_R_777Yam]
--- CL: On Update Respond from [ice_jatagan]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[SPb]eddi-KOT]
--- CL: On Update Respond from [andygad]
--- CL: On Update Respond from [RUSLAN3476]
--- CL: On Update Respond from [klon_520280]
--- CL: On Update Respond from [[King]Admin56]
* Skin - actors\stalker_mp\mp_team_blue_addon_de.ogf
* APL-5 [65535] respawned as actor
--- CL: On Update Respond from [SeRj-GENII-=96=-]
--- CL: On Update Request
--- CL: On Update Respond from [Hardlol_4to]
--- CL: On Update Respond from [[SPb]eddi-KOT]
--- CL: On Update Respond from [$_T_@_L_K_e_R_777Yam]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [andygad]
--- CL: On Update Respond from [RUSLAN3476]
--- CL: On Update Respond from [ice_jatagan]
--- CL: On Update Respond from [[King]Admin56]
--- CL: On Update Respond from [klon_520280]
--- CL: On Update Respond from [SeRj-GENII-=96=-]
* Skin - actors\stalker_mp\mp_team_green_2.ogf
* Hardlol_4to [65535] respawned as actor
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.24 | -0.04 | 0.08 | DIST 49.92 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.14 | 0.04 | 0.18 | DIST 93.62 | K_AP 0.80
klon_520280 killed by [SPb]eddi-KOT ...
[SPb]eddi-KOT killed klon_520280 74/2
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.29 - | 0.16 | 0.11 | 0.13 | DIST 44.23 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.10 | 0.14 | -0.04 | DIST 93.55 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 3+0.31 - | 0.10 | -0.06 | 0.01 | DIST 46.76 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 2+0.62 - | -0.05 | 0.08 | 0.05 | DIST 49.89 | K_AP 0.80
* klon_520280 [65535] respawned as spectator
 
Ответить
СообщениеЗдравствуйте.
У меня вопрос (может Вы сможете мне помочь). Есть документ в котором в Лист1 список имен (ников и т.п) и есть Лист2 с логом в котором эти имена (ники) встречаются - вопрос как настроить фильтр (или как отсортировать) таким образом, чтобы отображались только те строки в которых присутствуют имена (ники ) из Лист1
P.S. Проблема в том, что этих имен пору сотен и создавать фильтр по каждому невозможно (в здравом уме), а как использовать диапазон в качестве условия фильтра я не знаю confused
Надеюсь на Вашу помощь. В любом случае спасибо.

Лист1

Code
$_T_@_L_K_e_R_777Yam  
[B.H.]OveRLorD[.ru] dis
[B.H]PoLoTeN4iK[.ru] dis
[Fallen]BioHazarD  
[Fallen]BioHazarD dis
[King]Admin56  
[King]Admin56 dis
[NoELiT]KiloVT dis
[SPb]eddi-KOT  
___RED_GREEN___HOOLS  
___RED_GREEN___HOOLS dis
aaa.game101  
aaa.game101 dis
andygad  
andygad dis
Hardlol_4to  
ice_jatagan  
klon_520280

Лист2
Code
* APL-5 [65535] respawned as actor
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [ser122]
--- CL: On Update Respond from [[NoELiT]KiloVT]
* upload server info to client [-1591328932] complete !
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.33 | -0.02 | 0.06 | DIST 49.87 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.19 | -0.08 | 0.04 | DIST 93.40 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 1+0.60 - | 0.17 | 0.08 | 0.16 | DIST 93.01 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 4+0.30 - | 0.11 | -0.08 | 0.04 | DIST 46.47 | K_AP 0.80
ser122 killed by APL-5 ...
APL-5 killed ser122!
* untigray_27_(sparta) [65535] respawned as spectator
untigray_27_(sparta) connected
untigray_27_(sparta)  
* ser122 [65535] respawned as spectator
* Skin - actors\stalker_mp\mp_team_green_addon_fr.ogf
* ser122 [65535] respawned as actor
untigray_27_(sparta) *s  
* Skin - actors\stalker_mp\mp_team_blue_addon_de.ogf
* untigray_27_(sparta) [65535] respawned as actor
--- CL: On Update Request
--- CL: On Update Respond from [untigray_27_(sparta)]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
* upload server info to client [-1590280365] complete !
* [King]Admin56 [65535] respawned as spectator
[King]Admin56 connected
[King]Admin56
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | 0.24 | -0.03 | -0.07 | DIST 99.85 | K_AP 0.50
ser122 killed by untigray_27_(sparta) ...
untigray_27_(sparta) killed ser122 86
untigray_27_(sparta) [mp_wpn_l85] HP 2+0.35 - | 0.08 | 0.06 | -0.01 | DIST 49.92 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | -0.00 | 0.08 | 0.14 | DIST 99.78 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.70 - | -0.52 | 0.13 | -0.03 | DIST 99.73 | K_AP 0.50
* ser122 [65535] respawned as spectator
* Skin - actors\stalker_mp\mp_team_green_addon_fr.ogf
* ser122 [65535] respawned as actor
* Skin - actors\stalker_mp\mp_team_green_addon_uk.ogf
* [King]Admin56 [65535] respawned as actor
: ServerAdmin : %c[01c[01,3,231,94] www.black-bullet.org.ru
--- CL: On Update Request
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [untigray_27_(sparta)]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
--- CL: On Update Respond from [[King]Admin56]
* checking for ban player  
APL-5 [mp_wpn_l85] HP 1+0.59 - | 0.13 | 0.08 | 0.14 | DIST 91.76 | K_AP 0.80
APL-5 [mp_wpn_l85] HP 4+0.29 - | -0.07 | -0.03 | 0.08 | DIST 45.90 | K_AP 0.80
[King]Admin56 killed by APL-5 ...
APL-5 killed [King]Admin56 86
* [King]Admin56 [65535] respawned as spectator
--- CL: On Update Request
--- CL: On Update Respond from [untigray_27_(sparta)]
* Skin - actors\stalker_mp\mp_team_green_addon_uk.ogf
* [King]Admin56 [65535] respawned as actor
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[NoELiT]KiloVT]
--- CL: On Update Respond from [ser122]
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.16 | 0.08 | -0.04 | DIST 99.00 | K_AP 0.50
--- CL: On Update Respond from [[King]Admin56]
ser122 [mp_wpn_ak74] HP 1+0.61 - | 0.17 | 0.05 | 0.17 | DIST 49.57 | K_AP 0.80
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.16 | 0.09 | 0.04 | DIST 98.99 | K_AP 0.50
untigray_27_(sparta) [mp_wpn_l85] HP 1+0.69 - | 0.15 | 0.03 | -0.02 | DIST 98.98 | K_AP 0.50

Результат должен выглядеть примерно так
Code
--- CL: On Update Respond from [Hardlol_4to]
--- CL: On Update Respond from [$_T_@_L_K_e_R_777Yam]
--- CL: On Update Respond from [ice_jatagan]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [[SPb]eddi-KOT]
--- CL: On Update Respond from [andygad]
--- CL: On Update Respond from [RUSLAN3476]
--- CL: On Update Respond from [klon_520280]
--- CL: On Update Respond from [[King]Admin56]
* Skin - actors\stalker_mp\mp_team_blue_addon_de.ogf
* APL-5 [65535] respawned as actor
--- CL: On Update Respond from [SeRj-GENII-=96=-]
--- CL: On Update Request
--- CL: On Update Respond from [Hardlol_4to]
--- CL: On Update Respond from [[SPb]eddi-KOT]
--- CL: On Update Respond from [$_T_@_L_K_e_R_777Yam]
--- CL: On Update Respond from [APL-5]
--- CL: On Update Respond from [andygad]
--- CL: On Update Respond from [RUSLAN3476]
--- CL: On Update Respond from [ice_jatagan]
--- CL: On Update Respond from [[King]Admin56]
--- CL: On Update Respond from [klon_520280]
--- CL: On Update Respond from [SeRj-GENII-=96=-]
* Skin - actors\stalker_mp\mp_team_green_2.ogf
* Hardlol_4to [65535] respawned as actor
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.24 | -0.04 | 0.08 | DIST 49.92 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.14 | 0.04 | 0.18 | DIST 93.62 | K_AP 0.80
klon_520280 killed by [SPb]eddi-KOT ...
[SPb]eddi-KOT killed klon_520280 74/2
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.29 - | 0.16 | 0.11 | 0.13 | DIST 44.23 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 1+0.62 - | 0.10 | 0.14 | -0.04 | DIST 93.55 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 3+0.31 - | 0.10 | -0.06 | 0.01 | DIST 46.76 | K_AP 0.80
[SPb]eddi-KOT [mp_wpn_ak74] HP 2+0.62 - | -0.05 | 0.08 | 0.05 | DIST 49.89 | K_AP 0.80
* klon_520280 [65535] respawned as spectator

Автор - Lavval
Дата добавления - 15.12.2010 в 22:05
Hugo Дата: Среда, 15.12.2010, 23:53 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Здравствуйте.
Тут вероятно не столько Эксель, сколько ВБА нужно, но можно и макросом Экселя сделать.
Логи обычно - это текстовые файлы. Я бы сделал так - считал список имён из текста в массив, затем в другой массив считал исходный лог (как текст), затем циклом в цикле перебрал и сравнил по InStr() эти массивы. Совпадения сразу писал в выходной текст.
Завтра вечером могу код написать - раньше вероятно не получится.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЗдравствуйте.
Тут вероятно не столько Эксель, сколько ВБА нужно, но можно и макросом Экселя сделать.
Логи обычно - это текстовые файлы. Я бы сделал так - считал список имён из текста в массив, затем в другой массив считал исходный лог (как текст), затем циклом в цикле перебрал и сравнил по InStr() эти массивы. Совпадения сразу писал в выходной текст.
Завтра вечером могу код написать - раньше вероятно не получится.

Автор - Hugo
Дата добавления - 15.12.2010 в 23:53
Lavval Дата: Четверг, 16.12.2010, 02:29 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Был бы примного благодарен flower
 
Ответить
СообщениеБыл бы примного благодарен flower

Автор - Lavval
Дата добавления - 16.12.2010 в 02:29
Hugo Дата: Четверг, 16.12.2010, 09:27 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Нашлось с утра время немного...
Пробуйте.
В архиве два файла - один скрипт vbs, второй xls с макросом.
Код практически одинаковый - отличие в одной строке. Поэтому не стал задавать типы переменных в Экселе - в vbs типы не задаются, всё Variant.
Работают коды тоже одинаково.

Рассчитано на файлы:
Список критериев отбора: C:\temp\spisok.txt
Исходный лог: C:\temp\default.log может быть под другим именем - тогда откроется диалог выбора файла.
Результат: C:\temp\output.log

Есть замечание по списку критериев - если есть
[King]Admin56
то задавать
[King]Admin56 dis
бессмысленно, т.к. такая строка уже будет отобрана при предыдущем сравнении.
И проверьте, чтоб в списке критериев не было лишних пробелов в конце строк (если например копировать из поста выше). Можно их удалять кодом, но это будет тормозить код при больших объёмах. Но можно и добавить, если например список критериев часто меняется, и отслеживать пробелы влом.

По коду - в массив считывается только список критериев, далее читается построчно исходный лог, каждая прочитанная строка сравнивается с критериями, при совпадении пишется в output.log.
Мессидж в конце - для сигнала, что работа закончена. Т.к. если файлы большие, это может занять не пару секунд.
Если работу делать макросом, то можно в статусбар выводить ход процесса, например счётчик десятков/сотен обработанных строк.

К сообщению приложен файл: Lavval.zip (9.8 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНашлось с утра время немного...
Пробуйте.
В архиве два файла - один скрипт vbs, второй xls с макросом.
Код практически одинаковый - отличие в одной строке. Поэтому не стал задавать типы переменных в Экселе - в vbs типы не задаются, всё Variant.
Работают коды тоже одинаково.

Рассчитано на файлы:
Список критериев отбора: C:\temp\spisok.txt
Исходный лог: C:\temp\default.log может быть под другим именем - тогда откроется диалог выбора файла.
Результат: C:\temp\output.log

Есть замечание по списку критериев - если есть
[King]Admin56
то задавать
[King]Admin56 dis
бессмысленно, т.к. такая строка уже будет отобрана при предыдущем сравнении.
И проверьте, чтоб в списке критериев не было лишних пробелов в конце строк (если например копировать из поста выше). Можно их удалять кодом, но это будет тормозить код при больших объёмах. Но можно и добавить, если например список критериев часто меняется, и отслеживать пробелы влом.

По коду - в массив считывается только список критериев, далее читается построчно исходный лог, каждая прочитанная строка сравнивается с критериями, при совпадении пишется в output.log.
Мессидж в конце - для сигнала, что работа закончена. Т.к. если файлы большие, это может занять не пару секунд.
Если работу делать макросом, то можно в статусбар выводить ход процесса, например счётчик десятков/сотен обработанных строк.


Автор - Hugo
Дата добавления - 16.12.2010 в 09:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!