Як знайсці некалькі крытэрыяў у Excel (2 простыя спосабы)

  • Падзяліцца Гэтым
Hugh West

Працуючы ў Excel, мы павінны рабіць гэта часта. Мы павінны шукаць пэўнае значэнне ў наборы даных, якое задавальняе аднаму або некалькім крытэрам. Сёння я пакажу, як вы можаце шукаць адно або некалькі значэнняў, якія задавальняюць некалькім крытэрыям у наборы даных у Excel.

Спампуйце практычны сшытак

Спампуйце гэты практычны сшытак, каб практыкавацца, пакуль вы чытаеце гэта артыкул.

Пошук з некалькімі крытэрыямі.xlsx

2 прыдатныя спосабы пошуку па некалькіх крытэрыях у Excel

Паглядзіце на даныя ўсталяваць ніжэй. У нас ёсць ідэнтыфікатары супрацоўнікаў, імёны супрацоўнікаў, даты ўступлення ў кампанію і заробкі кампаніі пад назвай Jupyter Group . Мы будзем шукаць значэнні па некалькіх крытэрыях з дапамогай функцый INDEX, MATCH, XLOOKUP, і FILTER . Вось агляд набору даных для нашай сённяшняй задачы.

Цяпер мы паспрабуем знайсці значэнні, якія адпавядаюць розным тыпам некалькіх крытэрыяў з гэтага набору даных.

Метад 1: Пошук некалькіх крытэрыяў тыпу І

Перш за ўсё, давайце паспрабуем знайсці некаторыя крытэрыі тыпу І . Тут тып AND некалькі крытэрыяў азначае, што адно значэнне павінна адпавядаць усім крытэрам для выбару. Давайце паспрабуем знайсці супрацоўніка з 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 , інакш ХЛУСНЯ.
  • (B5:B16>400)*(E5:E16>40000) памнажае два масівы ІСЦІНА і 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 .
Заўвагі Гэта Формула масіву . Таму не забывайце націскаць Ctrl + Shift + Enter , калі вы не знаходзіцеся ў Office 365 .
  • Гэта патрабаваны супрацоўнік з 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 вяртаюць толькі першага супрацоўніка, Рычарда Самуэльсана . Каб атрымаць усе значэнні, якія задавальняюць зададзеным крытэрыям, вы можаце выкарыстоўваць функцыю ФІЛЬТР Excel. Але памятайце, што функцыя FILTER таксама даступная толькі ў Office 365 .

Крокі:

  • Каб знайсці супрацоўнікаў з ID большым за 400 і заробкам большым за $40 000 формула ФІЛЬТРА будзе выглядаць так:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))

  • Пасля гэтага, на гэты раз у нас ёсць усе супрацоўнікі, якія выконваюць усе крытэрыі, Рычард Самуэльсан і Усман Малік .

Разбіўка формулы
  • (B5:B16>400)*(E5:E16>40000) вяртае масіў 1 і 0 , 1 , калі ідэнтыфікатар большы больш за 400 і заробак больш за 40 000 долараў. 0 інакш (Гл. раздзел INDEX-MATCH ).
  • FILTER(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-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 долараў. ХЛУСНЯ у адваротным выпадку.
  • (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))>0 вяртае TRUE , калі задаволены хаця б адзін з двух крытэрыяў, у адваротным выпадку FALSE . Глядзіце раздзел вышэй.
  • XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) затым вяртае імя супрацоўніка са слупка C5:C16 , дзе ён атрымлівае першы TRUE .

Больш падрабязна: Як знайсці значэнне з іншага аркуша ў Excel (3 простыя метады )

2.3 Выкарыстанне функцыі FILTER

Нарэшце, мы будземвыканаць тую ж задачу з дапамогай функцыі ФІЛЬТР у Excel. Функцыя FILTER даступна толькі ў Office 365 . На гэты раз мы атрымаем усіх супрацоўнікаў, якія далучыліся да 1 студзеня 2010 г. або атрымалі зарплату больш за $30 000 .

Крокі:

  • Формула будзе такой жа, як паказана ў полі формулы ніжэй.
=FILTER(C5:C16,((D5:D1630000))>0)

  • Такім чынам, ён вяртае ўсіх супрацоўнікаў, якія адпавядаюць прынамсі аднаму з зададзеных крытэрыяў.
  • Глядзіце, на гэты раз мы атрымалі ўсіх супрацоўнікаў, якія адпавядаюць нашым зададзеным крытэрам, даты далучэння да 1 студзеня, 2010, або заробак большы за $30 000 .

Разбіўка формулы
  • ((D5:D1630000))>0 вяртае TRUE , калі задаволены хаця б адзін з двух крытэрыяў, у адваротным выпадку FALSE . Глядзіце раздзел INDEX-MATCH .
  • FILTER(C5:C16,((D5:D1630000))>0) праходзіць праз усе ячэйкі ў дыяпазоне C5:C16 , але вяртае толькі тыя, калі сустракае TRUE .

Дадатковая інфармацыя: Як шукаць Табліца ў Excel (8 метадаў)

Выснова

Выкарыстоўваючы гэтыя метады, вы можаце знайсці нейкае значэнне, якое задавальняе некалькім крытэрыям з любога набору даных. Ці ведаеце вы які-небудзь іншы метад? Ці ў вас ёсць якія-небудзь пытанні? Не саромейцеся пытацца ў нас.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.