Mezonlar asosida Excelda dinamik ro'yxatni qanday yaratish mumkin (3 usul)

  • Buni Baham Ko'Ring
Hugh West

Bugun men Excelda bir yoki bir nechta mezonlarga asoslangan dinamik roʻyxatni qanday yaratishni koʻrsataman.

Mashqlar kitobini yuklab oling

Criteria.xlsx asosidagi dinamik ro'yxat

Excelda dinamik ro'yxat nima?

Dinamik roʻyxat - bu maʼlumotlar toʻplamidan yaratilgan va dastlabki maʼlumotlar toʻplamidagi istalgan qiymat oʻzgartirilganda yoki dastlabki maʼlumotlar toʻplamiga yangi qiymatlar qoʻshilganda avtomatik ravishda yangilanadigan roʻyxat.

Bu rasmda imtihonda 60 dan yuqori ball olgan barcha talabalarning ism-shariflari roʻyxati keltirilgan.

Endi agar siz Jennifer Marloning belgilarini 68 dan 58 ga o'zgartirsangiz va jadvalga 81 belgilari bilan Ross Smit ismli yangi talabani qo'shsangiz, ro'yxat quyidagicha bo'ladi. o'zini avtomatik ravishda sozlaydi.

Bu dinamik ro'yxat deb ataladi.

Mezonlar asosida Excelda dinamik ro'yxat yaratishning 3 usuli

Bu yerda biz Ayçiçek bolalar bog'chasi deb nomlangan maktabdagi ba'zi o'quvchilarning O'quvchi identifikatorlari, Ismlari va Belgilari bilan ma'lumotlar to'plamini oldik.

Bugungi maqsadimiz ushbu ma'lumotlar to'plamidan mezonlar asosida dinamik ro'yxat tuzishdir. Biz bugun bitta va bir nechta mezonlardan foydalanamiz.

1. FILTER va OFFSET funksiyalaridan foydalanish (Excelning yangi versiyalari uchun)

Avvalo, biz FILTER , OFFSET va COUNTA Excel funksiyalari.

FILTER funksiyasifaqat Office 365 da mavjud. Bu faqat Office 365 obunasi bo'lganlar uchun.

1-holat: Yagona mezon asosida

Keling, dinamikani yaratishga harakat qilaylik. O'rtacha baholari 60 dan katta yoki teng bo'lgan talabalar ro'yxati.

Siz ushbu formuladan foydalanishingiz mumkin:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Ko'rib turganingizdek, bizda 60 dan ortiq ball olgan barcha talabalar ro'yxati mavjud.

Va aniqki, bu dinamik ro'yxati. Siz maʼlumotlar toʻplamidagi istalgan qiymatni oʻzgartirasiz yoki maʼlumotlar toʻplamiga har qanday yangi qiymat qoʻshasiz.

Roʻyxat avtomatik ravishda oʻrnatiladi.

Formula tushuntirishi:

  • COUNTA(C:C) C ustunidagi bo'sh bo'lmagan qatorlar sonini qaytaradi. Shunday qilib, COUNTA(C:C)-1 Ustun sarlavhasi (bu misolda Talaba nomi )siz qiymatlarga ega boʻlgan qatorlar sonini qaytaradi.
  • Agar qilmasangiz. t ustun sarlavhasi ga ega, COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) yacheykadan boshlanadi C5 (birinchi talabaning ismi) va barcha talabalar ismlari qatorini qaytaradi.
  • Formula dinamikligini saqlash uchun OFFSET funksiyasi COUNTIF funksiyasi bilan birgalikda ishlatilgan. Agar ma'lumotlar to'plamiga yana bitta talaba qo'shilsa, COUNTA(C:C)-1 formula 1 ga ortadi va OFFSET funktsiyasi talabani o'z ichiga oladi.
  • Shunga o‘xshab, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 dan katta yoki teng bo‘lgan barcha belgilar uchun TRUE qaytadi 60 .
  • Nihoyat, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) 60 dan yuqori ball olgan barcha talabalar roʻyxatini qaytaradi.
  • Agar ma'lumotlar to'plamiga har qanday yangi talaba qo'shiladi, COUNTA(C:C)-1 1 ga ortadi va FILTER funksiyasi hisobni, shu jumladan, yangilaydi.
  • Shunday qilib formula har doim dinamik bo'lib qoladi.

Eslatma:

Agar siz ro'yxatdagi nomlar bilan birga belgilarni olishni istasangiz, shunchaki beshinchi argumentni o'zgartiring. birinchi OFFSET funksiyasi 1 dan 2 gacha.

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

2-holat: Ko‘p mezonlarga asoslanib

Bu safar bir nechta mezonlarni sinab ko‘raylik.

Biz talabalarning dinamik ro‘yxatini tuzishga harakat qilamiz. 60 dan ortiq yoki unga teng ball olgan, lekin identifikatorlari 200 dan kichik yoki teng boʻlganlar.

Bu formuladan foydalanishingiz mumkin:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Ko'rib turganingizdek, bizda 60 dan yuqori ball olgan barcha talabalar ro'yxati mavjud. ID s 200 dan kam.

Aytishga hojat yo'q, bu dinamik ro'yxat.

Agar siz biron bir qiymatni o'zgartirsangiz yoki ma'lumotlar to'plamiga biron bir yangi talabani qo'shsangiz, ro'yxat avtomatik ravishda o'rnatiladi.

Formula izohi:

  • Bu erda biz ikkita dinamik mezon diapazonini ko'paytirdik, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Agar sizda 2 dan ortiq mezon bo'lsa, barcha diapazonlarni ko'paytiring. mezonlar xuddi shu tarzda.
  • Qolganlari oldingi misol bilan bir xil (bitta mezondan). OFFSET funksiyasi COUNTA funksiyasi bilan birgalikda formulani dinamik saqlash uchun ishlatilgan.

Izoh:

Agar siz roʻyxatdagi barcha ustunlarni ( Ushbu misolda B, C, va D ustunlari) koʻrishni istasangiz, birinchi OFFSET argumentini oʻzgartiring. funktsiyasi birinchi ustunga ( B5 bu misolda) va beshinchi argument ustunlar umumiy soniga (bu misolda 3 ).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Batafsil o'qing: Excel dinamik yaratish Jadvaldagi roʻyxat (3 oson yoʻl)

2. INDEX-MATCH-dan boshqa funksiyalar bilan foydalanish (eski versiyalar uchun)

Ushbu funksiyaga ega boʻlmaganlar Office 365 obunasi yuqoridagi formuladan foydalana olmaydi.

Men Excelning eski versiyasini ishlatadiganlar uchun INDEX-MATCH, Excelning OFFSET, KICHIK, IF, QAT, COUNTIF, va COUNTIFS funksiyalari. E'tibor bering, bu formulalar massiv formulalaridir. Shunday qilib, ularni Excelning eski versiyalarida qo‘llash uchun Enter o‘rniga Ctrl+Shift+Enter tugmalarini bosishingiz kerak.

1-holat: Yagona mezon asosida

60 dan ortiq yoki teng ball olgan talabalarning dinamik ro'yxatini yaratish formulasi quyidagicha bo'ladi:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Ko'rib turganingizdek, biz yana 60 dan ko'p yoki teng olgan barcha talabalarning ismlarini oldik. .

Bu safar biz yuqoriga ko'tarildikraqamlar tartibi.

Ha, ro'yxat dinamik. Ma'lumotlar to'plamiga yangi talaba qo'shing yoki ma'lumotlar to'plamidagi istalgan talabaning baholarini o'zgartiring.

Ro'yxat avtomatik ravishda o'z-o'zidan o'rnatiladi.

Tushuntirish Formula:

  • Bu yerda C:C biz roʻyxat mazmunini chiqarmoqchi boʻlgan ustundir (bu erda Talaba ismi ). misol). Siz o'zingizdan foydalanasiz.
  • D:D - mezon joylashgan ustun (bu misolda O'rtacha ball ). Siz oʻzingizdan foydalanasiz.
  • C5 va D5 bu mening maʼlumotlarim boshlangan hujayralardir ( ustun sarlavhalari ostida). Siz o'zingizning mezoningizdan foydalanasiz.
  • “>=60” mening mezonim (Ushbu misolda 60 dan katta yoki teng). Siz oʻzingizdan foydalanasiz.
  • Ushbu bir nechta oʻzgarishlardan tashqari formulaning qolgan qismini oʻzgarmagan holda saqlang va maʼlumotlar toʻplamida foydalaning. Siz xohlagan mezon bo'yicha dinamik ro'yxatni olasiz.

2-holat: Ko'p mezonlarga asoslangan

INDEX-MATCH bir nechta mezonlarga asoslangan dinamik ro'yxat formulasi biroz murakkabroq. Shunga qaramay, men buni ko'rsatyapman.

60 dan katta yoki unga teng ball olgan, lekin ID dan kichik ball olgan talabalarning ismlarini olish formulasi 200 bo'ladi;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Formulaning izohi:

  • Bu yerda C:C - biz kerakli ustun. uchunro'yxat mazmunini chiqarib oling (bu misolda Talaba ismi ). Siz oʻzingizdan foydalanasiz.
  • B:B va D:D mezonlar joylashgan ustunlardir ( Talaba ID va Ushbu misolda o'rtacha belgilar ). Siz oʻzingizdan foydalanasiz.
  • B5, C5, va D5 bu mening maʼlumotlarim boshlangan hujayralardir ( ustun sarlavhalari<4 ostida)>). Siz o'zingizning mezoningizni ishlatasiz.
  • Men bu erda ikkita mezonni ko'paytirdim: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Agar sizda ikkitadan ortiq mezon bo'lsa, shunga mos ravishda ko'paytiring.
  • Men yana ikkita mezondan foydalandim. ushbu COUNTIFS funktsiyasi ichida: COUNTIFS(B:B,"=60") . Siz o'zlaringizdan mos ravishda foydalanasiz.
  • Formulaning qolgan qismini o'zgarmagan holda saqlang va ma'lumotlar to'plamida foydalaning. Siz bir nechta mezonlarga ega dinamik ro'yxatni olasiz.

Batafsil o'qing: Excelda VBA yordamida dinamik ma'lumotlarni tekshirish ro'yxatini qanday qilish kerak

3 . Ma'lumotlarni tekshirish vositasi yordamida mezonlarga asoslangan dinamik ochiladigan ro'yxatni yarating

Endi biz dinamik ro'yxatni yaratdik. Agar xohlasangiz, ishchi varaqingizning istalgan katagida dinamik ochiladigan roʻyxatni yaratishingiz mumkin.

  • Dinamik ochiladigan roʻyxatni yaratish uchun ishchi varaqingizdagi istalgan katakni tanlang. va Ma'lumotlar > Ma'lumotlarni tekshirish > Ma'lumotlarni tekshirish Ma'lumotlar asboblari bo'limida.

  • Siz Ma'lumotlarni tekshirish ni olasiz. dialog oynasi. Ruxsat berish opsiyasi ostida Roʻyxat -ni tanlang. Va Manba opsiyasi ostida,Ish varag‘ingizdagi ro‘yxat joylashgan birinchi katakning havolasini HashTag (#) (bu misolda $E$5# ) bilan birga kiriting.

  • Keyin OK tugmasini bosing. Siz tanlagan katakchada shunday ochiladigan ro'yxatni olasiz.

Batafsil o'qing: Excelda VBA yordamida dinamik ochiladigan ro'yxatni qanday yaratish mumkin

Kriteriyalar asosida Excelda dinamik noyob ro'yxatni qanday yaratish mumkin

Ushbu bo'limda Excelda qanday qilib noyob ro'yxat yaratishni ko'rsatamiz. mezonlar. Biz UNIQUE va FILTER funksiyalarining kombinatsiyasidan foydalanamiz. Biz ma'lumotlar to'plamini o'zgartirdik va har bir talabaning sevimli o'yinlarini qo'shdik. Endi mezonlar bilan dublikatlarni olib tashlaydigan o'yinlar nomini bilmoqchisiz. Mezonlar talabalarning o'rtacha baholari 60 dan katta bo'lishi kerak.

📌 Qadamlar:

  • Formulani UNIQUE va FILTER funktsiyalari kombinatsiyasiga asoslangan holda G5 uyasiga qo'ying.
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Biz mezonlarga asoslangan noyob ro'yxatni olamiz.

Tushuntirish Formula:

  • FILTER(E5:E25,(D5:D25>60)

Bu <3 qiymatlarini filtrlaydi>E5 diapazoni:E25 , oʻrtacha ballar 60 dan yuqori boʻlishi sharti bilan.

Natija: [Tennis, voleybol, regbi, tennis, futbol, ​​regbi, Regbi, Futbol]

  • UNIQUE(FILTER(E5:E25,(D5:D25>60))

Bu qaytaradi hammasi o'ziga xosoldingi natijadagi qiymatlar.

Natija: [Tennis, voleybol, regbi, futbol]

Xulosa

Bulardan foydalanish usullardan foydalangan holda, Excel-dagi har qanday ma'lumotlar to'plamida bitta yoki bir nechta mezonlarga asoslangan dinamik ro'yxat yaratishingiz mumkin. Iltimos, ExcelWIKI veb-saytimizni ko'rib chiqing va sharhlar maydoniga takliflaringizni qoldiring.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.