
Formula generik
=COUNTA(UNIQUE(data))
Ringkasan
Untuk mengira nilai unik dalam sekumpulan data, anda boleh menggunakan fungsi UNIK bersama dengan fungsi COUNTA. Dalam contoh yang ditunjukkan, formula dalam F5 adalah:
=COUNTA(UNIQUE(B5:B16))
yang mengembalikan 7, kerana terdapat tujuh warna unik di B5: B16.
Penjelasan
Contoh ini menggunakan fungsi UNIK untuk mengekstrak nilai unik. Apabila UNIK disediakan dengan julat B5: B16, yang mengandungi 12 nilai, ia mengembalikan 7 nilai unik yang dilihat dalam D5: D11. Ini dikembalikan terus ke fungsi COUNTA sebagai array seperti ini:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
Tidak seperti fungsi COUNT, yang hanya menghitung nombor, COUNTA mengira teks dan nombor. Oleh kerana terdapat tujuh item dalam array, COUNTA mengembalikan 7. Formula ini dinamik dan akan dikira semula dengan segera apabila data sumber diubah.
Dengan rujukan sel
Anda juga boleh merujuk kepada senarai nilai unik yang sudah diekstrak ke lembaran kerja dengan fungsi UNIK menggunakan jenis rujukan sel khas. Formula dalam D5 adalah:
=UNIQUE(B5:B16)
yang mengembalikan tujuh nilai yang dilihat dalam D5: D11. Untuk mengira nilai-nilai ini dengan rujukan dinamik, anda boleh menggunakan formula seperti ini:
=COUNTA(D5#)
Karakter hash (#) memberitahu Excel merujuk kepada julat tumpahan yang dibuat oleh UNIK. Seperti formula all-in-one di atas, formula ini bersifat dinamik dan akan menyesuaikan diri apabila data ditambahkan atau dikeluarkan dari julat asal.
Kira tempat kosong yang unik
Untuk mengira nilai unik sambil mengabaikan sel kosong, anda boleh menambahkan fungsi FILTER seperti ini:
=COUNTA(UNIQUE(FILTER(data,data"")))
Pendekatan ini dijelaskan dengan lebih terperinci di sini. Anda juga boleh menapis nilai unik dengan kriteria.
Tiada data
Satu batasan formula ini adalah yang salah akan mengembalikan 1 jika tidak ada nilai dalam julat data. Alternatif ini akan mengira semua nilai yang dikembalikan oleh UNIK yang mempunyai panjang lebih besar daripada sifar. Dengan kata lain, ia akan mengira semua nilai dengan sekurang-kurangnya satu watak:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Di sini, fungsi LEN digunakan untuk memeriksa panjang hasil dari UNIK. Panjangnya kemudian diperiksa untuk melihat apakah panjang lebih besar daripada sifar, dan hasilnya dihitung dengan fungsi SUM. Ini adalah contoh logik boolean. Formula ini juga akan mengecualikan sel kosong dari hasil.
Julat sumber dinamik
UNIK tidak akan mengubah julat sumber secara automatik jika data ditambahkan atau dihapus. Untuk memberikan Jangkauan dinamik yang UNIK yang akan diubah ukurannya secara automatik seperti yang diperlukan, anda boleh menggunakan Jadual Excel, atau membuat julat dinamik dengan formula.
Tiada susunan dinamik
Sekiranya anda menggunakan versi Excel yang lebih lama tanpa sokongan array dinamik, berikut adalah beberapa alternatif.