Mundarija
Sanaga bog'liq bo'lgan o'zgaruvchilar (masalan, tovar narxi, ulush, foiz stavkasi va boshqalar) umumiy odamlarni vahima qo'zg'atadi, chunki ularning narxi sanaga bog'liq. INDEX MATCH bir nechta mezonli sana diapazoni ma'lum bir sana oralig'idan narxlarni chiqarishi mumkin.
Aytaylik, bizda narxlari ma'lum vaqt davomida barqaror bo'lgan ayrim mahsulotlar mavjud. Va biz berilgan mezonlar uchun narxlarni INDEX MATCH qilmoqchimiz.
Ushbu maqolada biz INDEX MATCH<2 uchun bir nechta funksiyalardan foydalanamiz> bir nechta mezon sanalari diapazoni.
Excel ish kitobini yuklab olish
Bir nechta mezon sanalari diapazoni.xlsx
Sana diapazonining bir nechta mezonlari uchun INDEX MATCH-dan foydalanishning 3 ta oson usuli
1-usul: INDEX MATCH funksiyalaridan sana diapazonining bir nechta mezonlari uchun foydalanish
Biz ma'lum bir sanada ma'lum bir mahsulot narxini chiqarish. Faraz qilaylik, biz Muzqaymoq narxini 02-10-22 ( oy-kun-yil ) da koʻrmoqchimiz. Agar berilgan sana taklif qilingan vaqt oralig‘iga to‘g‘ri kelsa, biz narxni istalgan bo‘sh katakchaga chiqaramiz.
Qadamlar: Quyidagi formulani istalgan bo‘sh katakchaga kiriting (ya’ni, I5 ). Massiv formulasidagi formula sifatida uni qo'llash uchun CTRL+SHIFT+ENTER tugmalarini bosing. Formula quyida ko'rsatilgan vaqt oralig'iga (ya'ni, Sana diapazoniga) to'g'ri kelsa, Mahsulot narxini darhol qaytaradi.
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))
🔄 Formula otopsisi:
Excel INDEX funksiyasi berilgan oraliqda berilgan joyning qiymatini topadi. Bizning holatimizda INDEX funksiyasi bilan induktsiya qilingan MATCH funksiyasidan foydalanamiz. MATCH funktsiyasi berilgan mezonlarga javob beradigan yozuvlar uchun o'z natijasini satr raqami sifatida uzatadi. INDEX funksiyasining sintaksisi
INDEX(array, row_num, [col_num])
Formulada $E$5$E$16 quyidagiga ishora qiladi massiv argumenti. MATCH funksiyasi ichida $B$5:$B$16=G5
, $D$5:$D$16>=H5
va $C$5:$C$16<=H5
mezonlarni e'lon qiladi. Yaxshiroq identifikatsiya qilish uchun biz tegishli diapazonlarni toʻrtburchaklar ichida ranglaymiz.
MATCH funksiyasi berilgan qiymatning oʻrnini ichida aniqlaydi. qator, ustun yoki jadval. Yuqorida aytib o'tganimizdek, MATCH qismi INDEX funktsiyasi uchun qator raqamini o'tkazadi. MATCH funksiyasining sintaksisi
MATCH (lookup_value, lookup_array, [match_type])
MATCH qismi
=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)
MATCH qismi 1 ni qidiruv_qiymati , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)
ni qidiruv_massivi
Ishlatilgan MATCH formulasi 3<2 ni qaytaradi> u qator raqamida 3 Muzqaymoq ni topgani uchun.
Agar bizda ularning narxini olish uchun bir nechta mahsulot bor ma'lumotlar to'plami. Bu quyidagi rasmga o'xshaydi,
INDEX MATCH kombinatsiyalangan formulasi Narxlar ni oladi uningmezonlarga javob beradigan dalillar. Aks holda, yuqoridagi skrinshotda tasvirlangan #N/A xatolikka olib keladi.
Batafsil oʻqing: VBA INDEX MATCH Excelda bir nechta mezonlarga asoslangan ( 3-usul)
2-usul: XLOOKUP funksiyasi bir nechta mezonlar bilan shug'ullanish uchun
1-usul ga o'xshab, biz
XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])
Qadamlar: I5 katakchada quyidagi formuladan foydalaning keyin ENTER tugmasini bosing.
=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")
XLOOKUP formulasi berilgan mezonlarga javob beradigan hurmatli narxni qaytaradi. (ya'ni, Mahsulot va Sana ) yuqoridagi rasmda ko'rsatilganidek.
🔄 Formula otopsi:
XLOOKUP 1 ni qidiruv argumenti sifatida tayinlaydi, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5)
<1 sifatida> qidirish_massivi, $E$5:$E$16 sifatida qaytish_massivi . Bundan tashqari, agar yozuvlar sana oralig'iga to'g'ri kelmasa, formula Topilmadi matnini ko'rsatadi. Belgilangan mezonlarni quyidagi rasmda ko'rsatilgandek rangli to'rtburchaklar shaklida ko'rsatamiz.
➤ Bir nechta Mahsulotlar uchun, siz XLOOKUP formulasini qo'llashingiz va berilgan mezonlarga javob bergan holda narxlarni chiqarishingiz mumkin. Bundan tashqari, agar berilgan sana mezonlari berilgan sana ichida kengaymasa, formula Topilmadi ni ko'rsatadi.diapazon.
Siz formulada ishlatilganidan ko'proq mezon qo'shishingiz mumkin. Oddiy va tushunarli stsenariylarni berish uchun minimal mezonlardan foydalanilgan.
Batafsil o'qing: Excelda bir nechta mezon bilan XLOOKUP (4 oson yo'l)
3-usul: Sana oralig'idan o'zgaruvchan narxni olish uchun INDEX va AGGREGATE funktsiyalari
Ba'zi mahsulotlar narxlari (masalan, xom neft, valyuta va boshqalar) shunchalik o'zgaruvchanki, ular o'zgarib turadi. haftalar yoki hatto kunlar uchun. Bizda bir hafta oralig'ida ma'lum bir mahsulot narxi bor. Biz belgilangan sanalar uchun narxni topmoqchimiz. Berilgan sana oralig'idagi narxni topish uchun biz birlashtirilgan INDEX AGGREGATE funktsiyasidan foydalanishimiz mumkin. AGGREGATE funktsiyasining sintaksisi
AGGREGATE (function_num, options, ref1, ref2)
Qadamlar: Har qanday bo'sh katakka quyidagi formulani kiriting (ya'ni. , 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))),"")
Muayyan mahsulot sanasi 15-22 dan 02-25-22 uchun 1- narxi $0,84 . 2-chi yoki 3-chi narx mavjud boʻlishi mumkin, lekin avvaliga biz 1-chi narxga amal qilamiz.
🔄 Formula otopsisi :
Formulada =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)))
qismi
AGGREGATE formulasi ichida,
(B$5:B$13>=F$4)*(B$5:B$13<=F$5)
maʼlumotlar toʻplami sanalari toʻgʻri kelishiga qarab 1 yoki 0 qaytaradi.diapazon yoki yo'q.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))
sana mezonini qondirishga qarab qator raqamlari qatorini qaytaradi. Aks holda, xato qiymatlari paydo bo'ladi.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1
as ref1 natijada qator raqamlari indeks raqamlariga aylantiriladi, aks holda xato qiymatlarida
ROWS(E$8:E8) sifatida ref2 natijasi qator raqamini beradi va bu formulani pastga qarab qo'llaganingizda qator raqamini olishning oson yo'lidir.
Raqam 15 = funksiya_num (ya'ni, KICHIK ), 6 = variantlar (ya'ni, xato qiymatlarini e'tiborsiz qoldiradi ). Siz 19 turli funksiyalardan funksiya_num va 8 turli xil opsiyalardan Tanlovlar ni tanlashingiz mumkin.
Nihoyat, 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)))
berilgan mezonlarga javob beradigan qatorning n-chi eng kichik indeks raqamidan o'tadi.
Agar biron bir xatolik yuz bersa, IFERROR(INDEX...),"")
barcha turdagi xatolarga e'tibor bermaydi. va ularni boʻsh joylarga aylantiradi.
➤ Mezonlar sanasi oraligʻidagi boshqa mos narxlarni olish uchun Toʻldirish dastagini torting. Va IFERROR funksiyasi formulada xatolarga duch kelsa, bo'sh katakchalarga olib keladi.
Batafsil o'qing: VLOOKUP Excelda sana oralig'ini o'z ichiga olgan bir nechta mezonlar (2 usul)
Xulosa
Ushbu maqolada biz INDEX MATCH ning bir nechta usullarini ko'rsatamiz. bir nechta mezonlar sana oralig'i. Biz INDEX , MATCH kabi funksiyalardan foydalanamiz. XLOOKUP va AGGREGATE indekslanadigan formulalar hosil qilish uchunmezonlarga javob beradigan yozuvlarga mos keladi. Umid qilamanki, yuqorida aytib o'tilgan usullar sizning vaziyatingizni hal qilishga yordam beradi. Agar qo'shimcha savollaringiz bo'lsa yoki qo'shadigan biror narsangiz bo'lsa, izoh qoldiring.