Formula Excel: Hitung tarikh unik -

Isi kandungan

Formula generik

=COUNT(UNIQUE(date))

Ringkasan

Untuk mengira tarikh unik ("hari perdagangan" dalam contoh) anda boleh menggunakan fungsi UNIK dengan fungsi COUNT, atau formula berdasarkan fungsi COUNTIF. Dalam contoh yang ditunjukkan, formula dalam sel G8 adalah:

=COUNT(UNIQUE(date))

di mana tarikh adalah julat bernama B5: B16.

Penjelasan

Secara tradisinya, mengira item unik dengan formula Excel telah menjadi masalah yang sukar, kerana belum ada fungsi unik khusus. Namun, itu berubah apabila tatasusunan dinamik ditambahkan ke Excel 365, bersama dengan beberapa fungsi baru, termasuk UNIK.

Catatan: Dalam versi Excel yang lebih lama, anda dapat menghitung item unik dengan fungsi COUNTIF, atau fungsi FREQUENCY, seperti yang dijelaskan di bawah.

Dalam contoh yang ditunjukkan, setiap baris dalam jadual mewakili perdagangan saham. Satu tarikh, lebih dari satu perdagangan dilakukan. Tujuannya adalah mengira hari perdagangan - bilangan tarikh unik di mana beberapa jenis perdagangan berlaku. Formula dalam sel G8 adalah:

=COUNT(UNIQUE(date))

Berfungsi dari dalam ke luar, fungsi UNIK digunakan untuk mengekstrak senarai tarikh unik dari julat bernama "tarikh":

UNIQUE(date) // extract unique values

Hasilnya ialah susunan dengan 5 nombor seperti ini:

(44105;44109;44111;44113;44116)

Setiap nombor mewakili tarikh Excel, tanpa pemformatan tarikh. 5 tarikh tersebut adalah 1-Okt-20, 5-Oct-20, 7-Oct-20, 9-Oct-20, dan 12-Oct-20.

Susunan ini dihantar terus ke fungsi COUNT:

=COUNT((44105;44109;44111;44113;44116)) // returns 5

yang mengembalikan kiraan nilai numerik, 5, sebagai hasil akhir.

Catatan: Fungsi COUNT menghitung nilai angka, sementara fungsi COUNTA akan menghitung nilai angka dan teks. Bergantung pada keadaan, mungkin masuk akal untuk menggunakan satu atau yang lain. Dalam kes ini, kerana tarikh adalah angka, kami menggunakan COUNT.

Dengan MAJLIS

Dalam versi Excel yang lebih lama, anda boleh menggunakan fungsi COUNTIF untuk mengira tarikh yang unik dengan formula seperti ini:

=SUMPRODUCT(1/COUNTIF(date,date))

Bekerja dari dalam ke luar, COUNTIF mengembalikan array dengan kiraan untuk setiap tarikh dalam senarai:

COUNTIF(date,date) // returns (2;2;3;3;3;2;2;2;2;3;3;3)

Pada ketika ini, kami mempunyai:

=SUMPRODUCT(1/(2;2;3;3;3;2;2;2;2;3;3;3))

Setelah 1 dibahagi dengan tatasusunan ini, kita mempunyai susunan nilai pecahan:

(0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5;0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333)

Susunan ini dihantar secara langsung fungsi SUMPRODUCT. SUMPRODUCT kemudian menjumlahkan item dalam array dan mengembalikan jumlahnya, 5.

Dengan KEBERKESANAN

Sekiranya anda menggunakan sekumpulan data yang banyak, anda mungkin menghadapi masalah prestasi dengan formula COUNTIF di atas. Sekiranya demikian, anda boleh beralih ke formula larik berdasarkan fungsi FREQUENCY:

(=SUM(--(FREQUENCY(date,date)>0)))

Catatan: Ini adalah formula larik dan mesti dimasukkan dengan kawalan + shift + enter, kecuali di Excel 365.

Formula ini akan dikira lebih pantas daripada versi COUNTIF di atas, tetapi ia hanya akan berfungsi dengan nilai berangka. Untuk keterangan lebih lanjut, lihat artikel ini.

Artikel menarik...