Cara Membuat Senarai Dinamik dalam Excel Berdasarkan Kriteria (3 Cara)

  • Berkongsi Ini
Hugh West

Hari ini saya akan menunjukkan cara membuat senarai dinamik berdasarkan kriteria tunggal atau berbilang dalam Excel.

Muat Turun Buku Kerja Amalan

Senarai Dinamik Berdasarkan Kriteria.xlsx

Apakah Senarai Dinamik dalam Excel?

Senarai dinamik ialah senarai yang dibuat daripada set data dan dikemas kini secara automatik apabila sebarang nilai dalam set data asal ditukar atau nilai baharu ditambahkan pada set data asal.

Dalam imej yang diberikan, kami mempunyai senarai nama semua pelajar yang mendapat markah lebih daripada 60 dalam peperiksaan.

Sekarang jika anda menukar markah Jennifer Marlo daripada 68 kepada 58 dan menambah pelajar baharu yang dipanggil Ross Smith dengan markah 81 dalam jadual, senarai itu akan laraskan sendiri secara automatik.

Ini dipanggil senarai dinamik.

3 Cara Membuat Senarai Dinamik dalam Excel Berdasarkan Kriteria

Di sini kami mempunyai set data dengan ID Pelajar, Nama, dan Markah beberapa pelajar di Sekolah yang dipanggil tadika Bunga Matahari.

Objektif kami hari ini adalah untuk membuat senarai dinamik berdasarkan kriteria daripada set data ini. Kami akan menggunakan kedua-dua kriteria tunggal dan berbilang hari ini.

1. Menggunakan Fungsi FILTER dan OFFSET (Untuk Versi Excel Baharu)

Pertama sekali, kami akan menggunakan gabungan FILTER , OFFSET dan COUNTA fungsi Excel.

Fungsi FILTER tersedia dalam Office 365 sahaja. Jadi ini hanya untuk mereka yang mempunyai langganan Office 365 .

Kes 1: Berdasarkan Kriteria Tunggal

Mari cuba buat dinamik senarai pelajar yang purata markahnya lebih besar daripada atau sama dengan 60 .

Anda boleh menggunakan formula ini:

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

Seperti yang anda lihat, kami telah mendapat senarai semua pelajar yang mendapat lebih daripada 60 .

Dan jelas sekali, ini adalah dinamik senarai. Anda menukar sebarang nilai dalam set data atau menambah sebarang nilai baharu dalam set data.

Senarai akan melaraskan secara automatik.

Penjelasan Formula:

  • COUNTA(C:C) mengembalikan bilangan baris dalam lajur C yang tidak kosong. Jadi COUNTA(C:C)-1 mengembalikan bilangan baris yang mempunyai nilai tanpa Pengepala Lajur ( Nama Pelajar dalam contoh ini).
  • Jika anda tidak' t mempunyai Pengepala Lajur , gunakan COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) bermula dari sel C5 (Nama pelajar pertama) dan mengembalikan julat nama semua pelajar.
  • Fungsi OFFSET digabungkan dengan Fungsi COUNTIF telah digunakan untuk memastikan formula dinamik. Jika seorang lagi pelajar ditambahkan pada set data, formula COUNTA(C:C)-1 akan meningkat sebanyak 1 dan fungsi OFFSET akan menyertakan pelajar.
  • Begitu juga, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 mengembalikan TRUE untuk semua markah yang lebih besar daripada atau sama dengan 60 .
  • Akhir sekali, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) mengembalikan senarai semua pelajar yang mendapat markah lebih daripada 60 .
  • Jika mana-mana pelajar baharu ditambahkan pada set data, COUNTA(C:C)-1 meningkat sebanyak 1 dan fungsi FILTER menyegarkan semula pengiraan termasuk pengiraan itu.
  • Oleh itu formula sentiasa kekal dinamik.

Nota:

Jika anda ingin mendapatkan markah bersama-sama dengan nama dalam senarai, cuma tukar argumen kelima bagi fungsi OFFSET pertama daripada 1 hingga 2 .

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

Kes 2: Berdasarkan Pelbagai Kriteria

Mari cuba berbilang kriteria kali ini.

Kami akan cuba membuat senarai dinamik pelajar yang mendapat markah lebih daripada atau sama dengan 60, tetapi ID yang kurang daripada atau sama dengan 200 .

Anda boleh menggunakan formula ini:

=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))

Seperti yang anda lihat, kami telah mendapat senarai semua pelajar yang mendapat markah lebih daripada 60 dan mempunyai ID kurang daripada 200 .

Dan tidak perlu diberitahu, ini ialah senarai dinamik.

Jika anda menukar sebarang nilai atau menambah mana-mana pelajar baharu pada set data, senarai akan melaraskan secara automatik.

Penjelasan Formula:

  • Di sini kami telah mendarabkan dua julat dinamik kriteria, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Jika anda mempunyai lebih daripada 2 kriteria, darabkan semua julat kriteria dengan cara yang sama.
  • Selebihnya adalah sama seperti contoh sebelumnya (kriteria tunggal).Fungsi OFFSET digabungkan dengan fungsi COUNTA telah digunakan untuk memastikan formula dinamik.

Nota:

Jika anda mahu melihat semua lajur dalam senarai ( Lajur B, C, dan D dalam contoh ini), tukar argumen pertama OFFSET pertama berfungsi kepada lajur pertama ( B5 dalam contoh ini) dan argumen kelima kepada jumlah bilangan lajur ( 3 dalam contoh ini).

=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))

Baca Lagi: Excel Cipta Dinamik Senarai daripada Jadual (3 Cara Mudah)

2. Menggunakan INDEX-MATCH dengan Fungsi Lain (Untuk Versi Lama)

Mereka yang tidak mempunyai Langganan Office 365 tidak boleh menggunakan formula di atas.

Saya menunjukkan cara yang lebih kompleks untuk mereka, yang menggunakan versi Excel yang lebih lama, menggunakan INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, dan COUNTIFS fungsi Excel. Ambil perhatian bahawa formula ini ialah formula tatasusunan. Jadi, untuk menggunakannya dalam versi Excel yang lebih lama, anda perlu menekan Ctrl+Shift+Enter dan bukannya Enter sahaja.

Kes 1: Berdasarkan Kriteria Tunggal

Formula untuk membuat senarai dinamik pelajar yang mendapat lebih daripada atau sama dengan 60 ialah:

=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)

Seperti yang anda lihat, kami sekali lagi mendapat nama semua pelajar yang mendapat lebih daripada atau sama dengan 60 .

Kali ini kita telah masuk ke atassusunan nombor.

Dan ya, senarai itu dinamik. Tambahkan pelajar baharu pada set data atau tukar markah mana-mana pelajar dalam set data.

Senarai akan melaraskan dirinya secara automatik.

Penjelasan tentang Formula:

  • Di sini C:C ialah lajur yang kami mahu keluarkan kandungan senarai ( Nama Pelajar dalam ini contoh). Anda gunakan yang anda.
  • D:D ialah lajur di mana kriteria terletak ( Markah Purata dalam contoh ini). Anda gunakan satu anda.
  • C5 dan D5 adalah sel dari mana data saya telah dimulakan (tepat di bawah Pengepala Lajur ). Anda gunakan satu anda.
  • “>=60” ialah kriteria saya (Lebih besar daripada atau sama dengan 60 dalam contoh ini). Anda menggunakan satu anda.
  • Selain daripada beberapa perubahan ini, pastikan formula yang lain tidak berubah dan gunakannya dalam set data anda. Anda akan mendapat senarai dinamik mengikut kriteria yang anda inginkan.

Kes 2: Berdasarkan Berbilang Kriteria

INDEX-MACH formula untuk senarai dinamik berdasarkan pelbagai kriteria adalah lebih kompleks. Namun, saya menunjukkannya.

Formula untuk mendapatkan nama pelajar yang mendapat markah lebih besar daripada atau sama dengan 60 , tetapi mempunyai ID kurang daripada 200 akan menjadi;

=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)

Penjelasan Formula:

  • Di sini C:C ialah lajur yang kami mahukan kepadaekstrak kandungan senarai ( Nama Pelajar dalam contoh ini). Anda gunakan yang anda.
  • B:B dan D:D ialah lajur yang kriterianya terletak ( ID Pelajar dan Purata Markah dalam contoh ini). Anda menggunakan satu anda.
  • B5, C5, dan D5 adalah sel dari mana data saya telah dimulakan (tepat di bawah Pengepala Lajur ). Anda gunakan satu anda.
  • Saya telah mendarabkan dua kriteria di sini: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Jika anda mempunyai lebih daripada dua kriteria, darabkan dengan sewajarnya.
  • Saya telah menggunakan kedua-dua kriteria itu sekali lagi dalam fungsi COUNTIFS ini: COUNTIFS(B:B,"=60") . Anda menggunakan formula anda dengan sewajarnya.
  • Pastikan formula yang selebihnya tidak berubah dan gunakannya dalam set data anda. Anda akan mendapat senarai dinamik dengan berbilang kriteria.

Baca Lagi: Cara Membuat Senarai Pengesahan Data Dinamik Menggunakan VBA dalam Excel

3 . Buat Senarai Jatuh Bawah Dinamik Berdasarkan Kriteria Menggunakan Alat Pengesahan Data

Kini kami telah mencipta senarai dinamik. Jika anda mahu, anda boleh membuat senarai lungsur turun dinamik dalam mana-mana sel lembaran kerja anda.

  • Untuk mencipta senarai lungsur turun dinamik, pilih mana-mana sel dalam lembaran kerja anda dan pergi ke Data > Pengesahan Data > Pengesahan Data di bawah bahagian Alat Data .

  • Anda akan mendapat Pengesahan Data kotak dialog. Di bawah Pilihan Benarkan , pilih Senarai . Dan di bawah pilihan Sumber ,masukkan rujukan sel pertama di mana senarainya berada dalam lembaran kerja anda bersama dengan HashTag (#) ( $E$5# dalam contoh ini).

  • Kemudian klik OK . Anda akan mendapat senarai juntai bawah dalam sel pilihan anda seperti ini.

Baca Lagi: Cara Membuat Senarai Jatuh Dinamik Menggunakan VBA dalam Excel

Cara Membuat Senarai Unik Dinamik dalam Excel Berdasarkan Kriteria

Dalam bahagian ini, kami akan menunjukkan cara membuat senarai unik dalam Excel berdasarkan kriteria. Kami akan menggunakan gabungan fungsi UNIQUE dan FILTER . Kami mengubah suai set data dan menambah permainan kegemaran setiap pelajar. Sekarang, ingin tahu nama permainan yang mengalih keluar pendua dengan kriteria. Kriterianya ialah purata markah pelajar mestilah lebih daripada 60 .

📌 Langkah:

  • Letakkan formula berdasarkan gabungan fungsi UNIK dan FILTER pada Sel G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Kami mendapat senarai unik berdasarkan kriteria.

Penjelasan tentang Formula:

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

Ini menapis nilai Julat E5:E25 , dengan syarat purata markah mestilah melebihi 60 .

Keputusan: [Tenis, Bola Tampar, Ragbi, Tenis, Bola Sepak, Ragbi, Ragbi, Bola Sepak]

  • UNIK(PENAPIS(E5:E25,(D5:D25>60)))

Ini kembali semua uniknilai daripada keputusan sebelumnya.

Keputusan: [Tenis, Bola Tampar, Ragbi, Bola Sepak]

Kesimpulan

Menggunakan ini kaedah, anda boleh membuat senarai dinamik berdasarkan kriteria tunggal atau berbilang dalam mana-mana set data dalam Excel. Sila lihat laman web kami ExcelWIKI dan berikan cadangan anda dalam kotak komen.

Hugh West ialah jurulatih dan penganalisis Excel yang sangat berpengalaman dengan lebih 10 tahun pengalaman dalam industri. Beliau memiliki Ijazah Sarjana Muda Perakaunan dan Kewangan serta Ijazah Sarjana dalam Pentadbiran Perniagaan. Hugh mempunyai minat untuk mengajar dan telah membangunkan pendekatan pengajaran yang unik yang mudah diikuti dan difahami. Pengetahuan pakar Excel beliau telah membantu beribu-ribu pelajar dan profesional di seluruh dunia meningkatkan kemahiran mereka dan cemerlang dalam kerjaya mereka. Melalui blognya, Hugh berkongsi pengetahuannya dengan dunia, menawarkan tutorial Excel percuma dan latihan dalam talian untuk membantu individu dan perniagaan mencapai potensi penuh mereka.