Isi kandungan
Tutorial menerangkan cara menggunakan fungsi IF bersarang dalam Excel untuk menyemak berbilang syarat. Anda juga akan mempelajari beberapa fungsi lain yang boleh menjadi alternatif yang baik untuk menggunakan formula bersarang dalam Excel.
Bagaimanakah anda biasanya melaksanakan logik membuat keputusan dalam lembaran kerja Excel anda? Dalam kebanyakan kes, anda akan menggunakan formula IF untuk menguji keadaan anda dan mengembalikan satu nilai jika syarat dipenuhi, nilai lain jika syarat tidak dipenuhi. Untuk menilai lebih daripada satu syarat dan mengembalikan nilai berbeza bergantung pada keputusan, anda menyarangkan berbilang IF di dalam satu sama lain.
Walaupun sangat popular, pernyataan IF bersarang bukan satu-satunya cara untuk menyemak berbilang syarat dalam Excel. Dalam tutorial ini, anda akan menemui segelintir alternatif yang pasti berbaloi untuk diterokai.
Pernyataan IF bersarang Excel
Berikut ialah formula IF bersarang Excel klasik dalam bentuk generik :
IF( condition1, result1, IF( condition2, result2, IF( condition3, result3, result4)))Anda boleh melihat bahawa setiap fungsi IF berikutnya dibenamkan ke dalam argumen value_if_false bagi fungsi sebelumnya. Setiap fungsi IF disertakan dalam set kurungan sendiri, tetapi semua kurungan penutup berada di penghujung formula.
Formula IF bersarang generik kami menilai 3 syarat dan mengembalikan 4 hasil yang berbeza (hasil 4 dikembalikan jika tiada satu punbuku kerja untuk muat turun
Excel nested If statement - contoh (fail.xlsx)
syarat adalah BENAR). Diterjemah ke dalam bahasa manusia, pernyataan IF bersarang ini memberitahu Excel untuk melakukan perkara berikut:Uji keadaan1, jika BENAR - kembalikan hasil1, jika SALAH -ujian keadaan2 , jika BENAR - kembalikan r hasil2 , jika SALAH -
ujian keadaan3 , jika BENAR - kembalikan hasil3 , jika SALAH -
pulangan hasil4
Sebagai contoh, mari kita ketahui komisen untuk beberapa penjual berdasarkan jumlah jualan yang telah mereka buat:
Komisen | Jualan |
3% | $1 - $50 |
5% | $51 - $100 |
7% | $101 - $150 |
10% | Melebihi $150 |
Dalam matematik, menukar susunan tambahan tidak mengubah jumlah. Dalam Excel, menukar susunan fungsi IF mengubah hasilnya. kenapa? Kerana formula IF bersarang mengembalikan nilai yang sepadan dengan syarat TRUE pertama . Oleh itu, dalam pernyataan IF bersarang anda, adalah sangat penting untuk mengatur keadaan ke arah yang betul - tinggi ke rendah atau rendah ke tinggi, bergantung pada logik formula anda. Dalam kes kami, kami menyemak keadaan "tertinggi" dahulu, kemudian "kedua tertinggi", dan seterusnya:
=IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))
Jika kami meletakkan keadaan dalam susunan terbalik, dari bawah ke atas, keputusan semuanya salah kerana formula kami akan berhenti selepas ujian logik pertama (B2>=1) untuk sebarang nilai yang lebih besar daripada 1. Katakan, kami mempunyai $100dalam jualan - ia lebih besar daripada 1, jadi formula tidak akan menyemak syarat lain dan mengembalikan 3% sebagai hasilnya.
Jika anda lebih suka mengatur keadaan dari rendah ke tinggi, kemudian gunakan "kurang daripada " operator dan nilaikan keadaan "paling rendah" dahulu, kemudian "kedua terendah", dan seterusnya:
=IF($B2<1, 0%, IF($B2<51, 3%, IF($B2<101, 5%, IF($B2<=150, 7%, 10%))))
Seperti yang anda lihat, ia memerlukan banyak pemikiran untuk membina logik daripada pernyataan IF bersarang dengan betul sehingga ke akhir. Dan walaupun Microsoft Excel membenarkan menyusun sehingga 64 fungsi IF dalam satu formula, ia bukanlah sesuatu yang anda benar-benar mahu lakukan dalam lembaran kerja anda. Jadi, jika anda (atau orang lain) melihat formula IF bersarang Excel anda cuba untuk mengetahui apa yang sebenarnya dilakukannya, sudah tiba masanya untuk mempertimbangkan semula strategi anda dan mungkin memilih alat lain dalam senjata anda.
Untuk mendapatkan maklumat lanjut , sila lihat pernyataan IF bersarang Excel.
JIKA Bersarang dengan syarat ATAU/DAN
Sekiranya anda perlu menilai beberapa set keadaan berbeza, anda boleh menyatakan syarat tersebut menggunakan ATAU serta Fungsi DAN, sarangkan fungsi di dalam penyataan IF, dan kemudian sarang penyataan IF antara satu sama lain.
Bersarang IF dalam Excel dengan penyataan OR
Dengan menggunakan fungsi OR anda boleh menyemak dua atau lebih keadaan berbeza dalam ujian logik setiap fungsi IF dan kembalikan BENAR jika ada (sekurang-kurangnya satu) argumen OR dinilai kepada BENAR. Untuk melihat cara ia sebenarnya berfungsi, sila pertimbangkancontoh berikut.
Andaikata, anda mempunyai dua lajur jualan, katakan jualan Januari dalam lajur B dan jualan Februari dalam lajur C. Anda ingin menyemak nombor dalam kedua-dua lajur dan mengira komisen berdasarkan nombor yang lebih tinggi. Dalam erti kata lain, anda membina formula dengan logik berikut: jika jualan Jan atau Feb melebihi $150, penjual mendapat 10% komisen, jika jualan Jan atau Feb lebih besar daripada atau sama dengan $101, penjual mendapat 7% komisen , dan seterusnya.
Untuk melakukannya, tulis beberapa penyataan OF seperti OR(B2>150, C2>150) dan sarangkannya ke dalam ujian logik fungsi IF yang dibincangkan di atas. Hasilnya, anda mendapat formula ini:
=IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))
Dan berikan komisen berdasarkan jumlah jualan yang lebih tinggi:
Untuk lebih banyak contoh formula, sila lihat penyataan Excel IF OR.
Bersarang IF dalam Excel dengan penyataan DAN
Jika ujian logik anda termasuk berbilang syarat dan semua syarat tersebut harus dinilai kepada BENAR, nyatakannya dengan menggunakan fungsi AND.
Sebagai contoh, untuk menetapkan komisen berdasarkan bilangan jualan yang lebih rendah, ambil formula di atas dan gantikan ATAU dengan penyata AND. Secara berbeza, anda memberitahu Excel untuk mengembalikan 10% hanya jika jualan Jan dan Feb melebihi $150, 7% jika jualan Jan dan Feb lebih besar daripada atau sama dengan $101 dan seterusnya.
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))
Hasilnya, formula IF bersarang kami mengira komisenberdasarkan nombor yang lebih rendah dalam lajur B dan C. Jika mana-mana lajur kosong, tiada komisen langsung kerana tiada syarat AND dipenuhi:
Jika anda' d ingin mengembalikan 0% dan bukannya sel kosong, gantikan rentetan kosong (''") dalam argumen terakhir dengan 0%:
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))
Maklumat lanjut boleh didapati di sini: Excel IF dengan berbilang syarat DAN/ATAU.
VLOOKUP dan bukannya IF bersarang dalam Excel
Apabila anda berurusan dengan "skala", iaitu julat berterusan nilai berangka yang merangkumi keseluruhan julat, dalam kebanyakan kes anda boleh menggunakan fungsi VLOOKUP dan bukannya IF bersarang.
Sebagai permulaan, buat jadual rujukan seperti yang ditunjukkan dalam tangkapan skrin di bawah. Kemudian, bina formula Vlookup dengan padanan anggaran , iaitu dengan argumen julat_lookup ditetapkan kepada BENAR.
Dengan mengandaikan nilai carian berada dalam B2 dan jadual rujukan ialah F2:G5, formulanya adalah seperti berikut :
=VLOOKUP(B2,$F$2:$G$5,2,TRUE)
Sila ambil perhatian bahawa kami membetulkan table_array dengan rujukan mutlak ($F$2:$G$5) untuk formula menyalin dengan betul ke sel lain:
Dengan menetapkan hujah terakhir formula Vlookup anda kepada TRUE, anda memberitahu Excel untuk cari padanan terdekat - jika padanan tepat tidak ditemui, kembalikan nilai terbesar seterusnya yang lebih kecil daripada nilai carian. Hasilnya, formula anda akan sepadan bukan sahaja dengan nilai tepat dalam jadual carian, tetapi juga mana-mananilai yang berada di antara.
Sebagai contoh, nilai carian dalam B3 ialah $95. Nombor ini tidak wujud dalam jadual carian dan Vlookup dengan padanan tepat akan mengembalikan ralat #N/A dalam kes ini. Tetapi Vlookup dengan anggaran padanan meneruskan carian sehingga ia menemui nilai terdekat yang kurang daripada nilai carian (iaitu $50 dalam contoh kami) dan mengembalikan nilai daripada lajur kedua dalam baris yang sama (iaitu 5%).
Tetapi bagaimana jika nilai carian kurang daripada nombor terkecil dalam jadual carian atau sel carian kosong? Dalam kes ini, formula Vlookup akan mengembalikan ralat #N/A. Jika ia bukan yang anda mahukan, sarangkan VLOOKUP di dalam IFERROR dan berikan nilai kepada output apabila nilai carian tidak ditemui. Contohnya:
=IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")
Nota penting! Untuk formula Vlookup dengan anggaran padanan berfungsi dengan betul, lajur pertama dalam jadual carian mesti diisih dalam tertib menaik , daripada terkecil kepada terbesar.
Untuk mendapatkan maklumat lanjut, sila lihat Padanan tepat VLOOKUP lwn. anggaran padanan VLOOKUP.
Pernyataan IFS sebagai alternatif kepada fungsi IF bersarang
Dalam Excel 2016 dan versi yang lebih baru, Microsoft memperkenalkan fungsi khas untuk menilai berbilang keadaan - fungsi IFS.
Formula IFS boleh mengendalikan sehingga 127 pasangan logical_test / value_if_true dan ujian logik pertama yang menilai kepada TRUE "wins":
IFS(logical_test1,value_if_true1, [logical_test2, value_if_true2]...)Selaras dengan sintaks di atas, formula IF bersarang kami boleh dibina semula dengan cara ini:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)
Sila ambil perhatian bahawa Fungsi IFS mengembalikan ralat #N/A jika tiada syarat yang ditentukan dipenuhi. Untuk mengelakkan ini, anda boleh menambah satu lagi logical_test / value_if_true pada penghujung formula anda yang akan mengembalikan 0 atau rentetan kosong ("") atau apa sahaja nilai yang anda inginkan jika tiada satu pun daripada ujian logik sebelumnya adalah BENAR:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")
Hasilnya, formula kami akan mengembalikan rentetan kosong (sel kosong) dan bukannya ralat #N/A jika sel yang sepadan dalam lajur B ialah kosong atau mengandungi teks atau nombor negatif.
Nota. Seperti IF bersarang, fungsi IFS Excel mengembalikan nilai yang sepadan dengan syarat pertama yang dinilai kepada TRUE, itulah sebabnya susunan ujian logik dalam formula IFS penting.
Untuk mendapatkan maklumat lanjut, sila lihat fungsi Excel IFS sebaliknya daripada IF bersarang.
CHOOSE dan bukannya formula IF bersarang dalam Excel
Cara lain untuk menguji berbilang keadaan dalam satu formula dalam Excel ialah menggunakan fungsi CHOOSE, yang direka untuk mengembalikan nilai daripada senarai berdasarkan kedudukan nilai tersebut.
Digunakan pada set data sampel kami, formula mengambil bentuk berikut:
=CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%)
Dalam hujah pertama ( index_num ), anda menilai semua syarat dan menjumlahkan hasilnya. Diberibahawa BENAR bersamaan dengan 1 dan SALAH kepada 0, dengan cara ini anda mengira kedudukan nilai untuk dikembalikan.
Sebagai contoh, nilai dalam B2 ialah $150. Untuk nilai ini, 3 syarat pertama adalah BENAR dan yang terakhir (B2 > 150) adalah SALAH. Jadi, index_num bersamaan dengan 3, bermakna nilai ke-3 dikembalikan, iaitu 7%.
Petua. Jika tiada ujian logik adalah BENAR, index_num adalah sama dengan 0 dan formula mengembalikan #VALUE! kesilapan. Pembaikan mudah ialah membalut CHOOSE dalam fungsi IFERROR seperti ini:
=IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%), "")
Untuk mendapatkan maklumat lanjut, sila lihat fungsi Excel CHOOSE dengan contoh formula.
Fungsi SWITCH sebagai bentuk ringkas IF bersarang dalam Excel
Dalam situasi apabila anda berurusan dengan set tetap nilai pratakrif, bukan skala, fungsi SWITCH boleh menjadi alternatif padat kepada kompleks pernyataan IF bersarang:
SWITCH(ungkapan, nilai1, hasil1, nilai2, hasil2, …, [lalai])Fungsi SWITCH menilai ungkapan berbanding senarai nilai dan mengembalikan hasil sepadan dengan padanan pertama yang ditemui.
Sekiranya, anda ingin mengira komisen berdasarkan gred berikut, dan bukannya jumlah jualan, anda boleh menggunakan padat ini versi formula IF bersarang dalam Excel:
=SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")
Atau, anda boleh membuat jadual rujukan seperti yang ditunjukkan dalam tangkapan skrin di bawah dan menggunakan rujukan sel dan bukannya nilai berkod keras:
=SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")
Silaperhatikan bahawa kami mengunci semua rujukan kecuali yang pertama dengan tanda $ untuk menghalangnya daripada berubah apabila menyalin formula ke sel lain:
Nota. Fungsi SWITCH hanya tersedia dalam Excel 2016 dan lebih tinggi.
Untuk mendapatkan maklumat lanjut, sila lihat fungsi SWITCH - bentuk padat pernyataan IF bersarang.
Menggabungkan berbilang fungsi IF dalam Excel
Seperti yang dinyatakan dalam contoh sebelumnya, fungsi SWITCH diperkenalkan hanya dalam Excel 2016. Untuk mengendalikan tugas yang serupa dalam versi Excel yang lebih lama, anda boleh menggabungkan dua atau lebih pernyataan IF dengan menggunakan operator Concatenate (&) atau fungsi CONCATENATE .
Contohnya:
=(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
Atau
=CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
Seperti yang anda ada perasan, kita darabkan hasil dengan 1 dalam kedua-dua formula. Ia dilakukan untuk menukar rentetan yang dikembalikan oleh formula Concatenate kepada nombor. Jika output yang anda jangkakan ialah teks, maka operasi pendaraban tidak diperlukan.
Untuk mendapatkan maklumat lanjut, sila lihat fungsi CONCATENATE dalam Excel.
Anda dapat melihat bahawa Microsoft Excel menyediakan beberapa alternatif yang baik kepada formula IF bersarang, dan semoga tutorial ini telah memberi anda beberapa petunjuk tentang cara memanfaatkannya dalam lembaran kerja anda. Untuk melihat dengan lebih dekat contoh yang dibincangkan dalam tutorial ini, anda dialu-alukan untuk memuat turun contoh buku kerja kami di bawah. Saya berterima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!