Змест
Зменныя (такія як цана тавару, доля, працэнтная стаўка і г.д.), якія залежаць ад дат, выклікаюць у людзей паніку, бо іх цэны залежаць ад дат. СУДПАВЕДЗЕННЕ ІНДЭКСА дыяпазон дат з некалькімі крытэрыямі можа атрымаць цэны з зададзенага дыяпазону дат.
Дапусцім, у нас ёсць пэўныя прадукты, цэны на якія стабільныя на працягу пэўнага перыяду часу. І мы хочам 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 для фарміравання формул, якія індэксуюцьадпавядаць запісам, якія задавальняюць крытэрам. Спадзяюся, гэтыя вышэйзгаданыя выхады дапамогуць вам справіцца з вашай сітуацыяй. Каментуйце, калі ў вас ёсць дадатковыя запыты або ёсць што дадаць.