Потражи вредност са више критеријума

Anonim

Лако је потражити вредност једним јединственим кључем у табели. Можемо једноставно користити функцију ВЛООКУП. Али када немате ту јединствену колону у својим подацима и морате да тражите у више колона да бисте се подударали са вредношћу, ВЛООКУП не помаже.

Дакле, за тражење вредности у табели са више критеријума користићемо формулу ИНДЕКС-МАТЦХ-ИНДЕКС.

Општа формула за тражење више критеријума

= ИНДЕКС (опсег претраживања, МАТЦХ (1, ИНДЕКС ((критеријуми1 = опсег1)**критеријум2 = опсег2)*(критеријумН = опсегН), 0,1), 0))

лоокуп_ранге: То је опсег из којег желите да преузмете вредност.

Критеријуми1, критеријуми2, критеријуми Н: Ово су критеријуми којима желите да се подударате у опсегу 1, опсегу2 и распону Н. Можете да имате до 270 критеријума - парове опсега.

Опсег1, опсег2, опсегН: Ово су опсези у којима ћете испунити одговарајуће критеријуме.

Како ће то функционисати? Хајде да видимо…

ИНДЕКС и МАТЦХ са примером више критеријума

Овде имам табелу података. Желим да извучем име корисника користећи Датум резервације, Градитеља и Површину. Дакле, овде имам три критеријума и један опсег претраживања.

Напишите ову формулу у ћелију И4 притисните ентер.

= ИНДЕКС (Е2: Е16, МАТЦХ (1, ИНДЕКС ((И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16), 0,1), 0))


Како то ради:
Већ знамо како функције ИНДЕКС и МАТЦХ раде у ЕКСЦЕЛ -у, па то нећу овде објашњавати. Овде ћемо говорити о трику који смо користили.

(И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16): Главни део је ово. Сваки део ове изјаве враћа низ истинитих нетачних.
Када се логичке вредности помноже, враћају низ од 0 и 1. Множење функционише као оператор АНД. Дакле, када су све вредности тачне, тада враћа 1 елсе 0
(И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16) Ово ће се у потпуности вратити

{ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ТРУЕ; ТРУЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ}* {ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ТРУЕ; ТРУЕ; ТРУЕ; ТРУЕ; ТРУЕ; ФАЛСЕ; ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ТРУЕ}* {ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ТРУЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ТРУЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ; ФАЛСЕ} 

Што ће се превести у

{0;0;0;0;0;0;0;1;0;0;0;0;0;0;0} 

ИНДЕКС((И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16), 0,1): Функција ИНДЕКС ће вратити исти низ ({0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0}) на функцију МАТЦХ као низ за тражење.

УТАКМИЦА(1,ИНДЕКС((И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16), 0,1): МАТЦХ функција ће тражити 1 у низу {0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0}. И вратиће индексни број првог 1 пронађеног у низу. Што је овде 8.

ИНДЕКС(Е2: Е16,УТАКМИЦА(1,ИНДЕКС((И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16), 0,1), 0)): Коначно, ИНДЕКС ће вратити вредност из задатог опсега (Е2: Е16) када се пронађе индекс (8).

Једноставно ????. Нажалост, не могу учинити једноставнијим.

Решење низа

Ако после тога можете притиснути ЦТРЛ + СХИФТ + ЕНТЕР, тада можете уклонити унутрашњу функцију ИНДЕКС. Само напишите ову формулу и притисните ЦТРЛ + СХИФТ + ЕНТЕР.

= ИНДЕКС (Е2: Е16, МАТЦХ (1, (И1 = А2: А16)*(И2 = Б2: Б16)*(И3 = Ц2: Ц16), 0))

Општа формула низа за тражење више критеријума

= ИНДЕКС (опсег_прегледавања, МАТЦХ (1, (критеријум1 = опсег1)**(критеријум2 = опсег2)*(критеријумН = опсегН), 0))

Формула ради исто као горе објашњење.

Дао сам све од себе да то објасним што је могуће једноставније. Али ако нисам био довољно јасан, јавите ми то у одељку за коментаре испод. Успут, не морате знати како мотор ради за вожњу аутомобила. Само треба да знате како да га возите. И ти то врло добро знаш.

Како да пронађете топ 5 вредности са дупликатом вредности помоћу ИНДЕКС-МАТЦХ у Екцелу

Како ВЛООКУП више вредности у Екцелу

Како ВЛООКУП са Динамиц Цол Индек у Екцелу

Како се користи ВЛООКУП из две или више табела за претраживање у Екцелу

Популарни чланци:

50 Екцел пречица за повећање продуктивности

Како се користи функција ВЛООКУП у програму Екцел

Како се користи функција ЦОУНТИФ у програму Екцел

Како се користи функција СУМИФ у програму Екцел