Як выкарыстоўваць INDEX MATCH з некалькімі крытэрыямі для дыяпазону дат

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

Зменныя (такія як цана тавару, доля, працэнтная стаўка і г.д.), якія залежаць ад дат, выклікаюць у людзей паніку, бо іх цэны залежаць ад дат. СУДПАВЕДЗЕННЕ ІНДЭКСА дыяпазон дат з некалькімі крытэрыямі можа атрымаць цэны з зададзенага дыяпазону дат.

Дапусцім, у нас ёсць пэўныя прадукты, цэны на якія стабільныя на працягу пэўнага перыяду часу. І мы хочам INDEX MATCH цэны для зададзеных крытэрыяў.

У гэтым артыкуле мы выкарыстоўваем некалькі функцый для INDEX MATCH дыяпазон дат з некалькімі крытэрыямі.

Спампаваць кнігу Excel

Дыяпазон дат з некалькімі крытэрыямі.xlsx

3 простыя спосабы выкарыстання INDEX MATCH для некалькіх крытэрыяў дыяпазону дат

Метад 1: Выкарыстанне функцый INDEX MATCH для некалькіх крытэрыяў дыяпазону дат

Мы хочам атрымаць цану на пэўны тавар на пэўную дату. Выкажам здагадку, што мы хочам убачыць цану на Марожанае на 02-10-22 ( месяц-дзень-год ). Калі дадзеная дата прыпадае на прапанаваны перыяд часу, мы атрымаем цану ў любой пустой ячэйцы.

Этапы: Устаўце наступную формулу ў любую пустую ячэйку (напрыклад, I5 ). У якасці формулы ў формуле масіва націсніце CTRL+SHIFT+ENTER , каб прымяніць яе. Формула імгненна вяртае цану Прадукту , калі яна падае ў дадзены перыяд часу (напрыклад, дыяпазон дат ), як паказана ніжэй.

=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))

🔄 Формула выкрыцця:

Функцыя Excel INDEX знаходзіць значэнне ў зададзеным месцы ў зададзеным дыяпазоне. У нашым выпадку мы выкарыстоўваем функцыю MATCH , выкліканую функцыяй INDEX . Функцыя MATCH перадае свой вынік як нумар радка для запісаў, якія задавальняюць зададзеным крытэрам. Сінтаксіс функцыі INDEX :

INDEX(array, row_num, [col_num])

У формуле $E$5$E$16 спасылаецца на аргумент масіў . Унутры функцыі MATCH $B$5:$B$16=G5 , $D$5:$D$16>=H5 і $C$5:$C$16<=H5 дэкларуюць крытэрыі. Каб забяспечыць лепшую ідэнтыфікацыю, мы афарбоўваем адпаведныя дыяпазоны ў прамавугольнікі.

Функцыя MATCH знаходзіць пазіцыю зададзенага значэння ў межах радок, слупок або табліца. Як мы ўжо казалі раней, частка MATCH перадае нумар радка для функцыі INDEX . Сінтаксіс функцыі MATCH :

MATCH (lookup_value, lookup_array, [match_type])

Частка MATCH :

=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)

Частка MATCH прызначае 1 як lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) як lookup_array і 0 абвяшчае [тып_супадзення] як дакладнае супадзенне.

Выкарыстоўваная формула MATCH вяртае 3 як знаходзіць марожанае ў радку нумар 3 .

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

камбінаваная формула INDEX MATCH выбірае Цэны па ягоаргументы, якія задавальняюць крытэрам. Інакш прыводзіць да памылкі #N/A , як паказана на скрыншоце вышэй.

Больш падрабязна: СУПАДЗЕННЕ INDEX VBA на аснове некалькіх крытэрыяў у Excel ( 3 Метады)

Метад 2: Функцыя XLOOKUP для працы з некалькімі крытэрыямі

Падобна Метаду 1 , мы можам выкарыстоўваць <Функцыя 1>XLOOKUP (даступна толькі ў Excel 365 ) для INDEX MATCH дыяпазону дат з некалькімі крытэрыямі. Сінтаксіс функцыі XLOOKUP :

XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])

Этапы: Выкарыстоўвайце наступную формулу ў ячэйцы I5 затым націсніце ENTER .

=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")

Формула XLOOKUP вяртае паважаную цану, якая задавальняе зададзеным крытэрам (напрыклад, Прадукт і Дата ), як паказана на малюнку вышэй.

🔄 Формула выкрыцця:

XLOOKUP прызначае 1 у якасці аргумента пошуку , (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) як пошукавы_масіў, $E$5:$E$16 як зваротны_масіў . Акрамя таго, формула адлюстроўвае тэкст Не знойдзена у выпадку, калі запісы не трапляюць у дыяпазон дат. Мы паказваем прызначаныя крытэрыі каляровымі прамавугольнікамі, як паказана на наступным малюнку.

Для некалькіх прадуктаў, вы можаце ўжыць формулу XLOOKUP і атрымаць цэны пры задавальненні зададзеных крытэраў. Акрамя таго, формула адлюстроўвае Не знойдзена , калі крытэрыі дадзенай даты не пашыраюцца ў межах дадзенай датыдыяпазон.

Вы можаце дадаць больш крытэрыяў, чым выкарыстоўваецца ў формуле. Для атрымання простых і зразумелых сцэнарыяў выкарыстоўваліся мінімальныя крытэрыі.

Больш падрабязна: XLOOKUP з некалькімі крытэрыямі ў Excel (4 простыя спосабы)

Метад 3: Функцыі INDEX і AGGREGATE для вылучэння нестабільнай цаны з дыяпазону дат

Цэны на некаторыя прадукты (напрыклад, сырую нафту, валюту і г.д.) настолькі зменлівыя, што яны вагаюцца на працягу некалькіх тыдняў ці нават дзён. У нас ёсць цэны на пэўны тавар з інтэрвалам у тыдзень. Мы хочам знайсці цану на зададзеныя даты. Каб знайсці цану для зададзенага дыяпазону дат, мы можам выкарыстоўваць камбінаваную функцыю INDEX AGGREGATE . Сінтаксіс функцыі AGGREGATE такі:

AGGREGATE (function_num, options, ref1, ref2)

Этапы: Увядзіце наступную формулу ў любую пустую ячэйку (г.зн. , E8 ).

=IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")

1-я цана пэўнага прадукту на даты 02-15-22 па 02-25-22 складае $0,84 . Можа быць даступная 2-я або 3-я цана, але спачатку мы прытрымліваемся 1-й цаны.

🔄 Formula Autopsy :

У формуле частка =IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"") ;

AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))) забяспечвае нумар радка ў <Функцыя 1>INDEX . C$5:C$13 - гэта аргумент масіў функцыі INDEX .

Унутры формулы AGGREGATE ,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) вяртае 1 або 0 у залежнасці ад таго, ці ўваходзяць даты набору даных удыяпазон ці не.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) вяртае масіў нумароў радкоў у залежнасці ад задавальнення крытэру даты. У адваротным выпадку прыводзіць да значэнняў памылак.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 as ref1 прыводзіць да масіва нумароў радкоў, пераўтвораных у нумары індэксаў, інакш у значэнні памылак.

ROWS(E$8:E8) як ref2 вынікае нумар радка, і гэта просты спосаб атрымаць нумар радка, ужываючы формулу ўніз.

Лік 15 = нумар_функцыі (г.зн. МАЛЫ ), 6 = параметры (г.зн. ігнараваць значэнні памылак ). Вы можаце выбраць function_num з 19 розных функцый і Options з 8 розных варыянтаў.

Нарэшце, AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))) перадае n-ы найменшы нумар індэкса радка, які задавальняе зададзеным крытэрыям.

У выпадку ўзнікнення якой-небудзь памылкі IFERROR(INDEX...),"") ігнаруе ўсе тыпы памылак і ператварае іх у прабелы.

➤ Перацягніце Маркер запаўнення , каб атрымаць іншыя адпаведныя цэны ў дыяпазоне дат крытэрыяў. А функцыя IFERROR прыводзіць да пустых вочак, калі формула сустракае якія-небудзь памылкі.

Больш падрабязна: VLOOKUP з Некалькі крытэрыяў, уключаючы дыяпазон дат у Excel (2 спосабы)

Выснова

У гэтым артыкуле мы дэманструем некалькі спосабаў СУДПАВЯДЗЕННЯ INDEX некалькі крытэраў дыяпазон дат. Мы выкарыстоўваем такія функцыі, як INDEX , MATCH . XLOOKUP і AGGREGATE для фарміравання формул, якія індэксуюцьадпавядаць запісам, якія задавальняюць крытэрам. Спадзяюся, гэтыя вышэйзгаданыя выхады дапамогуць вам справіцца з вашай сітуацыяй. Каментуйце, калі ў вас ёсць дадатковыя запыты або ёсць што дадаць.

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