Double Unary Operator(--) - Pernahkah anda menemukan sebuah rumus excel yang menggunakan tanda strip ganda(--) didalamnya? Biasanya simbol ini bisa anda temukan pada sebuah rumus array.
Tanda atau simbol dua garis putus (--) ini biasa juga disebut sebagai minus ganda (double minus). Ada juga yang menyebutnya double dash. Namun, secara teknis simbol "--" ini pada microsoft excel biasa disebut sebagai double unary operator.
Apa maksud atau fungsi double unary operator ini pada rumus excel?
Pada array formula excel, simbol double unary operator ini digunakan untuk mengubah nilai Boolean TRUE atau FALSE menjadi nilai ekspresi angka 1 atau 0.
Untuk lebih jelasnya mari saya contohkan.
Pada contoh di atas saya memiliki sebuah data yang berisi tanggal acak pada kolom A. Saya ingin mengetahui jumlah sel yang berisi data tanggal dengan bulan September (9).
Untuk mendapatkan nilai bulan pada masing-masing tanggal kita bisa menggunakan fungsi MONTH. Kemudian untuk melakukan penjumlahan kita membutuhkan fungsi SUM excel. Selanjutnya untuk mengetahui jumlah data tanggal berdasarkan bulan September saya mencoba menggunakan rumus array berikut:
=SUM(MONTH(A2:A11)=9)
Ternyata rumus array ini tersebut menghasilkan nilai angka 0 (nol). Kenapa?
Jika anda pernah membaca pembahasan kita tentang fungsi SUM di sana dijelaskan bahwa jika argumen pada Rumus SUM excel akan mengabaikan sel kosong, nilai logika dan teks di dalam array atau referensi. Sehingga fungsi SUM akan mengabaikan penjumlahan Array yang dihasilkan oleh "MONTH(A2:A11)=9" berikut:
SUM({FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE})
Agar bisa dihitung nilai logika TRUE dan FALSE diatas harus dikonversi dulu menjadi ekspresi angka 1 untuk nilai TRUE dan 0 untuk nilai False. Caranya adalah dengan menambahkan double unary pada rumus excel tersebut sehingga rumus array excelnya menjadi:
=SUM(--(MONTH(A2:A11)=9))
Perhatikan tata letak tanda kurung (...) pada rumus tersebut.
Urutan kalkulasi rumus array ini adalah sebagai berikut:
=SUM(--(MONTH(A2:A11)=9))
Pada rumus tersebut fungsi MONTH akan menghasilkan angka bulan pada masing-masing format tanggal untuk range A2:A11 sehingga menjadi:
=SUM(--({10;8;8;8;9;9;10;9;8;9}=9))
Setelah itu masing-masing angka dalam array tersebut akan dibandingkan dengan angka 9 yang merupakan nilai bulan yang akan kita hitung jumlahnya. Hasil perbandingannya adalah sebagai berikut:
=SUM(--({FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE}))
Pada langkah berikutnya Double Unary akan mengubah nilai TRUE dan FALSE menjadi nilai angka 1 dan 0 yang bisa difahami oleh fungsi SUM pada microsoft excel.
=SUM({0;0;0;0;1;1;0;1;0;0})
Dan akhirnya akan menghasilkan nilai angka 4.
Bagaimana hal tersebut bisa terjadi?
Anggap saja bahwa minus pertama akan mengalikan setiap nilai Boolean TRUE/FALSE dengan angka -1 sehingga menghasilkan nilai -1/0. agar tidak menghasilkan angka negatif maka minus kedua mengalikan nilai numeric Boolean -1/0 dengan angka -1 sehingga kembali menjadi angka positif 1/0.
Nah, saya kira sekarang anda sudah bisa memahami manfaat dari strip ganda pada array formula excel ini.
Cara ini bisa juga anda terapkan pada fungsi Sumproduct untuk mengubah nilai-nilai Logika TRUE atau FALSE menjadi nilai numeric 1/0.