Formula Excel: JIKA dengan logik boolean -

Isi kandungan

Formula generik

= IF(criteria1*criteria2*criteria3,result)

Ringkasan

Dalam contoh yang ditunjukkan, formula dalam F8 adalah:

(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))

Catatan: ini adalah formula larik, dan mesti dimasukkan dengan kawalan + shift + enter.

Penjelasan

Catatan: Contoh ini menunjukkan cara mengganti formula IF bersarang dengan IF tunggal dalam formula array menggunakan logik boolean. Teknik ini boleh digunakan untuk mengurangkan kerumitan dalam formula kompleks. Walau bagaimanapun, contohnya hanya untuk ilustrasi. Masalah khusus ini dapat diselesaikan dengan mudah dengan SUMIFS atau SUMPRODUCT.

Rumus dalam F7 dan F8 memberikan hasil yang sama, tetapi mempunyai pendekatan yang berbeza. Di sel F7, kami mempunyai formula berikut, menggunakan pendekatan IF bersarang:

(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))

Ini adalah bagaimana Excel menilai IF di dalam SUM:

=IF((TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE), IF((TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE), IF((FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE),quantity)))

Pada hakikatnya, setiap IF "menyaring" nilai ke IF berikutnya, dan hanya kuantiti di mana ketiga-tiga ujian logik mengembalikan BENAR "bertahan" operasi. Kuantiti lain menjadi SALAH dan dinilai oleh SUM sebagai sifar. Hasil akhir di dalam SUM adalah pelbagai nilai seperti ini:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Nilai FALSE dinilai menjadi sifar, dan fungsi SUM mengembalikan hasil akhir dari 18.

Di F8 kita mempunyai formula ini, yang menggunakan logik IF dan boolean tunggal:

=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))

Setiap ungkapan logik mengembalikan susunan nilai BENAR dan SALAH. Apabila tatasusunan ini didarabkan bersama, operasi matematik mengumpulkan nilai kepada satu dan sifar dalam satu susunan seperti ini:

IF((0;0;0;0;0;0;1;0;1),quantity)

Susunan 1s dan 0s menyaring data yang tidak berkaitan, dan hasil yang sama dihantar ke SUM:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Seperti sebelumnya, SUM mengembalikan keputusan akhir sebanyak 18.

Artikel menarik...