Formula Excel: FILTER dengan pelbagai kriteria kompleks -

Isi kandungan

Ringkasan

Untuk menapis dan mengekstrak data berdasarkan beberapa kriteria kompleks, anda dapat menggunakan fungsi FILTER dengan rangkaian ekspresi yang menggunakan logik boolean. Dalam contoh yang ditunjukkan, formula dalam G5 adalah:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))

Formula ini mengembalikan data di mana:

akaun bermula dengan "x" DAN wilayah adalah "timur", dan bulan TIDAK April.

Penjelasan

Dalam contoh ini, kita perlu membina logik yang menyaring data untuk merangkumi:

akaun bermula dengan "x" DAN wilayah adalah "timur", dan bulan TIDAK April.

Logik penyaringan formula ini (argumen include) dibuat dengan mengikat tiga ungkapan yang menggunakan logik boolean pada tatasusunan dalam data. Ungkapan pertama menggunakan fungsi KIRI untuk menguji sama ada Akaun bermula dengan "x":

LEFT(B5:B16)="x" // account begins with "x"

Hasilnya adalah pelbagai nilai BENAR BENAR seperti ini:

(TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE)

Ungkapan kedua menguji jika Wilayah adalah "timur" dengan operator yang sama dengan (=):

C5:C16="east" // region is east

Hasilnya adalah susunan lain:

(FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE)

Ungkapan ketiga menggunakan fungsi BULAN dengan fungsi TIDAK untuk menguji apakah bulan itu bukan bulan April:

NOT(MONTH(D5:D16)=4) // month is not april

yang menghasilkan:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Perhatikan bahawa fungsi NOT membalikkan hasil dari ungkapan BULAN.

Ketiga-tiga susunan digandakan bersama. Operasi matematik menyatukan nilai BENAR dan SALAH hingga 1 dan 0, jadi pada ketika ini kita dapat menggambarkan argumen termasuk seperti ini:

(1;0;1;1;1;0;0;0;1;1;0;1)* (0;0;1;1;1;0;1;0;0;1;0;1)* (0;0;0;1;1;1;1;1;1;1;1;1)

Pendaraban Boolean sesuai dengan fungsi logik AND, jadi hasil akhir adalah satu array seperti ini:

(0;0;0;1;1;0;0;0;0;1;0;1)

Fungsi FILTER menggunakan array ini untuk menyaring data, dan mengembalikan empat baris yang sesuai dengan 1s dalam array.

Memperluas kriteria

Ungkapan-ungkapan yang digunakan untuk membuat argumen include di filter dapat diperluas sesuai keperluan untuk menangani filter yang lebih kompleks. Sebagai contoh, untuk menapis data lebih jauh sehingga hanya memasukkan baris dengan jumlah> 10000, anda boleh menggunakan formula seperti ini:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))

Artikel menarik...