Напреден филтер и некоја магија

За огромното мнозинство корисници на Excel, кога зборот „филтрирање податоци“ ќе им се појави во главата, само вообичаениот класичен филтер од картичката Податоци - Филтер (Податоци - Филтер):

Напреден филтер и некоја магија

Таков филтер е позната работа, без сомнение, и во повеќето случаи тоа ќе го направи. Сепак, постојат ситуации кога треба да филтрирате по голем број сложени услови во неколку колони одеднаш. Вообичаениот филтер овде не е многу удобен и сакам нешто помоќно. Таква алатка може да биде напреден филтер, особено со малку „завршување со датотека“ (според традицијата).

База

За да започнете, вметнете неколку празни линии над табелата со податоци и копирајте го заглавието на табелата таму - ова ќе биде опсег со услови (означен со жолто за јасност):

Напреден филтер и некоја магија

Мора да има најмалку една празна линија помеѓу жолтите ќелии и оригиналната табела.

Токму во жолтите ќелии треба да ги внесете критериумите (условите), според кои потоа ќе се изврши филтрирањето. На пример, ако треба да изберете банани во московскиот „Аучан“ во III квартал, тогаш условите ќе изгледаат вака:

Напреден филтер и некоја магија

За да филтрирате, изберете која било ќелија во опсегот со изворните податоци, отворете го јазичето податоци И кликнете на дополнително (Податоци - Напредно). Во прозорецот што се отвора, веќе треба автоматски да се внесе опсег со податоци и ќе треба само да го одредиме опсегот на услови, т.е. A1:I2:

Напреден филтер и некоја магија

Ве молиме имајте предвид дека опсегот на услови не може да се распредели „со маргина“, односно не можете да изберете дополнителни празни жолти линии, бидејќи празна ќелија во опсегот на условите Excel ја перцепира како отсуство на критериум, а цела празна линија како барање за прикажување на сите податоци неселективно.

Прекинувач Копирајте го резултатот на друга локација ќе ви овозможи да ја филтрирате листата не токму таму на овој лист (како со обичен филтер), туку да ги растоварате избраните редови во друг опсег, кој потоа ќе треба да биде наведен во полето Ставете го резултатот во опсегот. Во овој случај, ние не ја користиме оваа функција, оставаме Списокот со филтри е на место и кликнете на OK. Избраните редови ќе се прикажат на листот:

Напреден филтер и некоја магија

Додавање макро

„Па, каде е удобноста овде? прашај и ќе бидеш во право. Не само што треба да внесете услови во жолтите ќелии со вашите раце, туку и да отворите дијалог-кутија, внесете опсези таму, притиснете OK. Тажно, се согласувам! Но, „сè се менува кога ќе дојдат ©“ – макроа!

Работата со напреден филтер може значително да се забрза и поедностави со користење на едноставно макро кое автоматски ќе го активира напредниот филтер кога ќе се внесат условите, односно менување на која било жолта ќелија. Десен-клик на јазичето на тековниот лист и изберете ја командата Изворниот текст (Изворен код). Во прозорецот што се отвора, копирајте го и залепете го следниот код:

Приватен под работен лист_Change(ByVal Target as Range) If Not Intersect(Target, Range("A2:I5")) Is Nothing then On Error Продолжи со следниот ActiveSheet.ShowAllData Range("A7").CurrentRegion.AdvancedFilter Action:=Plageil :=Опсег("A1").CurrentRegion End If End Sub  

Оваа постапка автоматски ќе се изврши кога ќе се смени која било ќелија на тековниот работен лист. Ако адресата на променетата ќелија падне во жолтиот опсег (A2:I5), тогаш ова макро ги отстранува сите филтри (доколку ги има) и повторно го применува продолжениот филтер во табелата со изворни податоци почнувајќи од A7, односно сè ќе се филтрира веднаш, веднаш откако ќе го внесете следниот услов:

Значи, сè е многу подобро, нели? 🙂

Спроведување сложени прашања

Сега, кога сè се филтрира во лет, можеме да навлеземе малку подлабоко во нијансите и да ги расклопиме механизмите на посложени прашања во напредниот филтер. Покрај внесувањето точни совпаѓања, можете да користите различни знаци (* и ?) и математички знаци за нееднаквост во низа услови за да спроведете приближно пребарување. Случајот на ликот не е важен. За јасност, ги сумирав сите можни опции во табела:

Критериуми Резултат
гр* или гр сите клетки почнувајќи од GrIe Grуво, Grапифрут, Grант итн
= кромид сите ќелии точно и само со зборот Лак, односно точно совпаѓање
*liv* или *liv клетки кои содржат Лив како подвлечете, т.е ОЛивДека, Ливep, СпоредЛив итн
=p*v зборови кои почнуваат со П и завршувајќи со В ie Ппрвав, Петерв итн
a*s зборови кои почнуваат со А и понатаму содржи СIe Апелсin, Аnanaс, Asai итн
=*s зборови што завршуваат на С
=???? сите ќелии со текст од 4 знаци (букви или бројки, вклучувајќи празни места)
=м??????н сите ќелии со текст од 8 знаци почнувајќи од М и завршувајќи со НIe Мандарин, Манксиозностн  итн
=*n??a сите зборови што завршуваат со А, каде е 4-та буква од крајот НIe Зракнikа, Спореднozа итн
>=е сите зборови почнувајќи од Э, Ю or Я
<>*o* сите зборови што не содржат буква О
<>*вич сите зборови освен оние што завршуваат на ХИВ (на пример, филтрирајте ги жените по средно име)
= сите празни ќелии
<> сите непразни ќелии
> = 5000 сите ќелии со вредност поголема или еднаква на 5000
5 или =5 сите ќелии со вредност 5
>=3 сите ќелии со датум по 18 март 2013 година (вклучително)

Суптилни точки:

  • Знакот * значи кој било број од какви било знаци, и ? - кој било лик.
  • Логиката во обработката на текстот и нумеричките барања е малку поинаква. Така, на пример, условната ќелија со бројот 5 не значи да се бараат сите броеви кои почнуваат со пет, но условната ќелија со буквата B е еднаква на B*, односно ќе бара кој било текст што започнува со буквата B.
  • Ако барањето за текст не започнува со знакот =, тогаш можете ментално да ставите * на крајот.
  • Датумите мора да се внесат во американски формат месец-ден-година и преку дропка (дури и ако имате Excel и регионални поставки).

Логички врски И-ИЛИ

Условите напишани во различни ќелии, но во иста линија, се сметаат за меѓусебно поврзани со логички оператор И (И):

Напреден филтер и некоја магија

Оние. филтрирајте банани за мене во третиот квартал, токму во Москва и во исто време од Очан.

Ако треба да ги поврзете условите со логички оператор OR (ИЛИ), тогаш само треба да се внесат во различни линии. На пример, ако треба да ги најдеме сите нарачки на менаџерот Волина за московските праски и сите нарачки за кромид во третиот квартал во Самара, тогаш ова може да се специфицира во низа услови како што следува:

Напреден филтер и некоја магија

Ако треба да наметнете два или повеќе услови на една колона, тогаш можете едноставно да го дуплирате заглавието на колоната во опсегот на критериуми и да го внесете вториот, третиот итн. термини. Така, на пример, можете да ги изберете сите трансакции од март до мај:

Напреден филтер и некоја магија

Во принцип, по „завршувањето со датотека“, напредниот филтер излегува дека е прилично пристојна алатка, на некои места не полош од класичен автофилтер.

  • Суперфилтер на макроа
  • Што се макроа, каде и како да вметнете макро код во Visual Basic
  • Паметни табели во Microsoft Excel

Оставете Одговор