Лако је потражити вредност једним јединственим кључем у табели. Можемо једноставно користити функцију ВЛООКУП. Али када немате ту јединствену колону у својим подацима и морате да тражите у више колона да бисте се подударали са вредношћу, ВЛООКУП не помаже.
Дакле, за тражење вредности у табели са више критеријума користићемо формулу ИНДЕКС-МАТЦХ-ИНДЕКС.
Општа формула за тражење више критеријума
= ИНДЕКС (опсег претраживања, МАТЦХ (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 Екцел пречица за повећање продуктивности
Како се користи функција ВЛООКУП у програму Екцел
Како се користи функција ЦОУНТИФ у програму Екцел
Како се користи функција СУМИФ у програму Екцел