Содржина
Додека работиме во Excel, ова треба често да го правиме. Треба да бараме одредена вредност во збир на податоци што задоволува еден или повеќе критериуми. Денес ќе ви покажам како можете да побарате една или повеќе вредности кои задоволуваат повеќе критериуми во множество податоци во Excel.
Преземете ја работната книга за вежбање
Преземете ја оваа работна книга за вежбање за да вежбате додека го читате ова статија.
Побарајте со повеќе критериуми.xlsx
2 соодветни начини за пребарување со повеќе критериуми во Excel
Погледнете ги податоците поставени подолу. Имаме Идентификации на вработени, имиња на вработени, датуми за зачленување, и плати на компанија со име Jupyter Group . Ќе бараме вредности со повеќе критериуми користејќи ги функциите INDEX, MATCH, XLOOKUP, и FILTER . Еве преглед на сетот за нашата денешна задача.
Сега ќе се обидеме да побараме вредности кои исполнуваат различни типови на повеќе критериуми од овој сет на податоци.
Метод 1: Пребарување на повеќе критериуми од типот И
Прво, ајде да се обидеме да побараме неколку критериуми од типот И . Тука, И напишете повеќе критериуми значи, една вредност треба да ги задоволува сите критериуми што треба да се изберат. Ајде да се обидеме да најдеме вработен со ID поголем од 400 и плата поголема од 40000$ . Можете да ја извршите задачата на 3 различни начини.
1.1 Комбинирајте ги функциите INDEX и MATCH во редови и колони
Пред да отидете на главната точка, можете да отидете и да фрлите поглед на функциите INDEX и MATCH на Excel. Ќе го дознаеме вработениот со ID поголем од 400 и плата поголема од 40000$ користејќи ја формулата INDEX-MATCH . Ајде да ги следиме упатствата подолу:
Чекори:
- Прво, изберете ја ќелијата G7 и запишете ја следнава формула.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- Потоа, притиснете Enter на вашата тастатура. Како резултат на тоа, најдовме вработен со ID поголем од 400 и плата поголема од 40000 $ , Ричард Семјуелсон .
Разложување на формулата
- B5:B16>400 поминува низ сите IDs во колоната B и враќа низа од TRUE и FALSE , TRUE кога ID е поголемо од 400 , инаку НЕТОЧНО .
- E5:E16>40000 ги поминува сите плати во колоната E и враќа низа од TRUE и FALSE , TRUE кога платата е поголема од $40.000 , во спротивно FALSE.
- (B5:B16>400)*(E5:E16>40000) ги множи двете низи од TRUE и FALSE и враќа 1 кога ID е поголем од 400 а платата е поголема од $40.000 . Во спротивно враќа 0 .
- MATCH(1,(B5:B16>400)*(E5:E16>40000),0) поминува низ низата (B5:B16>400)*(E5:E16>40000) и го враќа серискиот број на првиот 1 на кој ќе се сретне.
- Во овој случај, враќа 5 бидејќи првата 1 е во серискиот број 5.
- Конечно, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5 :E16>40000),0),1) го враќа името на вработениот од опсегот C5:C16 , со број на ред еднаков на излезот од функцијата и колоната MATCH број еднаков на 1 .
- Ова е бараниот вработен со ID поголем од 400 и плата поголема од 40.000$ . Сега, ако го разбираш ова, можеш ли да ми ја кажеш формулата за да го дознаам работникот кој се приклучил пред 31 декември 2009 , но сепак зема плата помалку од 25.000 долари .
- Потоа, напишете ја формулата подолу во ќелијата G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16
- Оттука, притиснете Enter . Понатаму, ќе добиете Ангела Хопкинс како враќање на формулата.
Прочитајте повеќе: 7 типови на пребарување што можете да ги користите во Excel
1.2 Користење на функцијата XLOOKUP
Можеме да ја извршиме претходната задача користејќи ја и функцијата XLOOKUP на Excel. Но запомнете, XLOOKUP е достапна само во Office 365 . Пред да отидете на главната поента, можете да фрлите погледво функцијата XLOOKUP на Excel. Сега, го дознаваме вработениот со ID поголем од 400 и плата поголема од 40.000$ користејќи ја функцијата XLOOKUP . Ајде да ги следиме упатствата подолу за да научиме!
Чекори:
- Прво, напишете ја формулата подолу во ќелијата G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- Како резултат на тоа, го добивме истиот вработен како порано, Ричард Семјуелсон . Ова е името на вработениот со ID поголем од 400 и плата поголема од 40.000$ .
Разложување на формулата
- (B5:B16>400)*(E5:E16>40000) враќа низа од 1 и 0 , 1 кога ID е поголем од 400 а платата е поголема од 40.000$ . 0 инаку.
- XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) прво бара 1 во низата (B5:B16>400)*(E5:E16>40000). Кога ќе најде еден, ја враќа вредноста од неговата соседна ќелија во опсегот C5:C16 .
Прочитај повеќе: Како да се користи функцијата LOOKUP во Excel (4 соодветни примери)
1.3 Примена на функцијата FILTER
INDEX-MATCH и XLOOKUP формулата има едно ограничување. Доколку повеќе од една вредност ги исполнува дадените критериуми, тие ја враќаат само првата вредност. На пример, во претходниот пример, ако погледнете внимателно, ќе откриете дека има двајца вработени со ID поголема од 400 и плата поголема од 40.000$ . Тие се Ричард Семјуелсон и Усман Малик. Но, формулите INDEX-MATCH и XLOOKUP го враќаат само првиот вработен, Ричард Семјуелсон . За да ги добиете сите вредности кои ги задоволуваат дадените критериуми, можете да ја користите функцијата FILTER на Excel. Но запомнете, функцијата FILTER е достапна само во Office 365 .
Чекори:
- До дознајте ги вработените со ID поголема од 400 и плата поголема од 40.000$ формулата FILTER ќе биде:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- Потоа, овој пат ги имаме сите вработени кои ги одржуваат сите критериуми, Ричард Самуелсон и Усман Малик .
Разложување на формулата
- (B5:B16>400)*(E5:E16>40000) враќа низа од 1 и 0 , 1 кога ID е поголема од 400, а платата е поголема од 40.000 долари. 0 во спротивно (Видете го делот INDEX-MATCH ).
- ФИЛТЕР(C5:C16,(B5:B16>400)*(E5:E16> ;40000)) поминува низ сите вредности во низата (B5:B16>400)*(E5:E16>40000), и кога ќе најде 1 , ја враќа соседната вредност од опсегот C5:C16 .
- Така ги добиваме сите вработени со ID поголем од 400 и плата поголемаод $40.000 .
- Сега, ако го разбирате ова, можете ли да ми ја кажете формулата за да ги дознаам вработените кои се приклучиле помеѓу 1 јануари 2014 година, и 31 декември 2016 година , но сте добиле плата од најмалку 30.000 американски долари ? Да. Во право си. Формулата ќе биде:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
Прочитај повеќе: Како да пребарувате повеќе вредности во Excel (10 начини)
Метод 2: Барајте повеќе критериуми од типот ИЛИ
Сега, ќе се обидеме да побараме некои вредности што задоволуваат повеќе критериуми од типот ИЛИ . Овде, критериумите за тип ИЛИ значат дека една вредност треба да задоволува барем еден критериум од сите критериуми што треба да се изберат. Ајде да се обидеме да го дознаеме вработениот кој се приклучил пред 1 јануари 2010 година или добива плата поголема од 30.000 американски долари .
2.1 Спојување на ИНДЕКС и Функции на ПОСТАВУВАЊЕ во опсег на датуми
Кликнете овде за да ја посетите функцијата INDEX и кликнете овде за да ја посетите функцијата MATCH пред да продолжите, доколку сакате.
Чекори:
- Формулата INDEX-MATCH ќе биде како што е прикажано во полето за формула подолу.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- Видете, имаме Џек Симпсон , првиот вработен со датум за приклучување пред 1 јануари 2010 или плата поголема од $30.000 . Но, има многу повеќе вработени. Користејќи го INDEX-MATCH, го добиваме само првиот.
- Подоцна ќе ги собереме сите вработени со користење на FILTER функционира подоцна. Ова е потребниот вработен кој одговара на најмалку еден критериум.
Разложување на формулата
- D5:D16
="" strong=""> враќа низа од TRUE и FALSE . ТОЧНО кога датумот на спојување во колоната D е помал од 1 јануари 2010 година. НЕТОЧНО во спротивно. - E5:E16>30000 исто така враќа низа од TRUE и FALSE . ТОЧНО кога платата е поголема од 30.000 долари. FALSE инаку.
- (D5:D1630000) ги додава двете низи и враќа друга низа од 0, 1, или 2 . 0 кога ниту еден критериум не е задоволен, 1 кога е задоволен само еден критериум и 2 кога двата критериуми се задоволени.
- ((D5:D1630000))>0 поминува низ сите вредности на низата (D5:D1630000) и враќа TRUE ако вредноста е поголема од 0 ( 1 и 2 ), и НЕТОЧНО во спротивно ( 0 ).
- MATCH(TRUE,((D5:D1630000))>0,0) поминува низ сите вредности во низата ((D5:D1630000))>0 и го враќа првиот сериски број каде што добива TRUE .
- Во овој случај, враќа 3 бидејќи првиот TRUE е во серискиот 3 .
- Конечно, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) го враќа името на вработениот од опсегот C5:C16 со серискиот број вратен со функцијата MATCH .
Сега, акого разбираш ова, можеш ли да ми ја кажеш формулата за да го дознаам вработениот со ID помалку од 300, или датум на приклучување помал од јануари 1, 2012, или плата поголема од 30.000$ ?
Да. Во право си. Формулата ќе биде:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
Прочитај повеќе: Како да Пребарување текст во Excel (7 соодветни методи)
2.2 Примена на функцијата XLOOKUP
Можете да ја извршите истата задача користејќи ја функцијата XLOOKUP во Excel. XLOOKUP е достапна само во Office 365 .
Чекори:
- Формулата за наоѓање на вработениот со датум за приклучување пред 1 јануари 2010 година, или плата поголема од 30.000$ ќе биде:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- Видете, го добивме истиот вработен како порано, Џек Симпсон . Но, како и кај формулата INDEX-MATCH , повеќе вработени ги исполнуваат дадените критериуми. Го добивме само првиот.
Прелистување на формулата
- (D5: D1630000. Видете го горниот дел.
- XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) потоа го враќа името на вработениот од колоната C5:C16 , каде што го добива првиот TRUE .
Прочитајте повеќе: Како да ја побарате вредноста од друг лист во Excel (3 лесни методи )
2.3 Користење на функцијата FILTER
Конечно, ќеостварете ја истата задача користејќи ја функцијата FILTER во Excel. Функцијата FILTER е достапна само во Office 365 . Овој пат ќе ги добиеме сите вработени кои се приклучиле пред 1 јануари 2010 година, или земале плати поголеми од 30.000 американски долари .
Чекори:
- Формулата ќе биде иста како што е прикажана во полето за формула подолу.
=FILTER(C5:C16,((D5:D1630000))>0)
- Така ги враќа сите вработени кои исполнуваат барем еден од дадените критериуми.
- Видете, овој пат ги добивме сите вработени кои ги исполнуваат нашите дадени критериуми, датумот на зачленување пред 1 јануари, 2010 година, или плата поголема од 30.000 американски долари .
Поделба на формулата
- ((D5:D1630000))>0 враќа ТОЧНО кога е исполнет барем еден од двата критериуми, во спротивно FALSE . Видете го делот INDEX-MATCH .
- FILTER(C5:C16,((D5:D1630000))>0) поминува низ сите ќелии во опсегот C5:C16 но ги враќа само оние кога ќе наиде на TRUE .
Прочитајте повеќе: Како да побарате Табела во Excel (8 методи)
Заклучок
Користејќи ги овие методи, можете да побарате одредена вредност што задоволува повеќе критериуми од кој било сет на податоци. Дали знаете некој друг метод? Или имате какви било прашања? Слободно прашајте не.