Panduan dan contoh rumus array
Applies ToExcel untuk Microsoft 365 Excel untuk Microsoft 365 untuk Mac Excel 2024 Excel 2024 untuk Mac Excel 2021 Excel 2021 untuk Mac Excel 2019 Excel 2016 Excel untuk iPad Excel untuk iPhone

Rumus array adalah rumus yang dapat melakukan beberapa perhitungan pada satu atau beberapa item dalam array. Anda dapat menganggap array sebagai baris atau kolom nilai, atau kombinasi baris dan kolom nilai. Rumus array dapat menghasilkan beberapa hasil, atau satu hasil.

Dimulai dengan pembaruan September 2018 untuk Microsoft 365, rumus apa pun yang dapat menghasilkan beberapa hasil akan secara otomatis meluapkannya ke bawah, atau ke sel yang berdekatan. Perubahan perilaku ini juga disertai dengan beberapa fungsi array dinamis baru. Rumus array dinamis, baik yang menggunakan fungsi yang ada atau fungsi array dinamis, hanya perlu dimasukkan ke dalam satu sel, lalu dikonfirmasi dengan menekan Enter. Sebelumnya, rumus array legasi mengharuskan terlebih dahulu memilih seluruh rentang output, lalu mengonfirmasi rumus dengan Ctrl+Shift+Enter. Rumus ini biasanya disebut sebagai rumus CSE.

Anda dapat menggunakan rumus array untuk melakukan tugas kompleks, seperti:

  • Membuat himpunan data sampel dengan cepat.

  • Menghitung jumlah karakter yang terdapat dalam rentang sel.

  • Menjumlahkan angka yang memenuhi syarat tertentu saja, seperti nilai terendah dalam rentang, atau angka yang berada di antara batas atas dan bawah.

  • Menjumlahkan setiap nilai ke-N dalam rentang nilai.

Contoh berikut menunjukkan cara membuat rumus array multisel dan sel tunggal. Jika memungkinkan, kami telah menyertakan contoh dengan beberapa fungsi array dinamis, serta rumus array yang sudah ada yang dimasukkan sebagai array dinamis dan legasi.

Mengunduh contoh kami

Unduh buku kerja contoh dengan semua contoh rumus array di artikel ini.

Latihan ini menunjukkan cara menggunakan rumus array multisel dan sel tunggal untuk menghitung serangkaian angka penjualan. Rangkaian langkah pertama menggunakan rumus multisel untuk menghitung rangkaian subtotal. Rangkaian kedua menggunakan rumus sel tunggal untuk menghitung jumlah total.

  • Rumus array multisel

    Fungsi array multisel dalam sel H10 =F10:F19*G10:G19 untuk menghitung jumlah mobil yang terjual berdasarkan harga satuan

  • Di sini kami menghitung Total Penjualan coupe dan sedan untuk setiap staf penjualan dengan memasukkan =F10:F19*G10:G19 di sel H10.

    Saat menekan Enter, Anda akan melihat hasil meluap ke bawah ke sel H10:H19. Perhatikan bahwa rentang luapan disorot dengan batas saat Anda memilih sel mana pun dalam rentang luapan. Anda mungkin juga melihat rumus dalam sel H10:H19 tampak keabu-abuan. Keberadaan rumus tersebut hanya untuk referensi, jadi jika ingin menyesuaikan rumus, Anda perlu memilih sel H10, tempat rumus utama berada.

  • Rumus array sel tunggal

    Rumus array sel tunggal untuk menghitung total keseluruhan dengan =SUM(F10:F19*G10:G19)

    Di sel H20 buku kerja contoh, ketik atau salin dan tempel =SUM(F10:F19*G10:G19), lalu tekan Enter.

    Dalam kasus ini, Excel mengalikan nilai dalam array (rentang sel F10 sampai G19), lalu menggunakan fungsi SUM untuk menjumlahkan totalnya. Hasilnya adalah jumlah total penjualan $1.590.000,00.

    Contoh ini menunjukkan betapa canggihnya tipe rumus ini. Sebagai contoh, misalnya Anda memiliki 1.000 baris data. Anda dapat menjumlahkan sebagian atau semua data itu dengan membuat rumus array di sel tunggal sebagai ganti menyeret rumus menuruni 1.000 baris. Perhatikan juga bahwa rumus sel tunggal di sel H20 independen sepenuhnya terhadap rumus multisel (rumus di sel H10 sampai H19). Ini adalah keunggulan lain penggunaan rumus array — fleksibilitas. Anda dapat mengubah rumus lain di kolom H tanpa memengaruhi rumus di H20. Hal ini juga merupakan praktik yang baik untuk memiliki total yang independen seperti ini, karena membantu memvalidasi keakuratan hasil.

  • Rumus array dinamis juga menawarkan keunggulan berikut:

    • Konsistensi    Jika Anda mengeklik salah satu sel dari H10 ke bawah, Anda akan melihat rumus yang sama. Konsistensi ini dapat membantu memastikan akurasi yang lebih tinggi.

    • Keamanan    Anda tidak dapat menimpa komponen rumus array multisel. Misalnya, klik sel H11, lalu tekan Delete. Excel tidak akan mengubah output array. Untuk mengubahnya, Anda harus memilih sel kiri atas dalam array, atau sel H10.

    • Ukuran file lebih kecil    Anda bisa sering menggunakan rumus array tunggal daripada beberapa rumus menengah. Misalnya, contoh penjualan mobil menggunakan satu rumus array untuk menghitung hasil di kolom E. Jika Anda telah menggunakan rumus standar seperti =F10*G10, F11*G11, F12*G12, dll., Anda akan menggunakan 11 rumus yang berbeda untuk menghitung nilai yang sama. Itu bukan masalah besar, tetapi bagaimana jika Anda memiliki ribuan baris? Maka itu dapat membuat perbedaan besar.

    • Efisiensi    Fungsi array dapat menjadi cara yang efisien untuk membangun rumus yang kompleks. Rumus array =SUM(F10:F19*G10:G19) sama dengan ini: =SUM(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

    • Peluapan    Rumus array dinamis akan secara otomatis meluap ke rentang output. Jika data sumber ada dalam tabel Excel, rumus array dinamis akan secara otomatis mengubah ukurannya saat Anda menambahkan atau menghapus data.

    • Kesalahan #SPILL!    Aray dinamis memperkenalkan kesalahan #SPILL!, yang menunjukkan bahwa rentang luapan yang dimaksud terhalang karena alasan tertentu. Saat Anda mengatasi penghalang, rumus akan meluap secara otomatis.

Barisan tetap adalah komponen dari rumus array. Anda membuat barisan tetap dengan memasukkan daftar item, lalu menutup daftar itu secara manual dengan tanda kurung kurawal ({ }), seperti ini:

={1\2\3\4\5} atau ={"January"\"February"\"March"}

Jika memisahkan item dengan koma, Anda membuat array horizontal (baris). Jika memisahkan item dengan titik koma, Anda membuat array vertikal (kolom). Untuk membuat array dua dimensi, batasi item di setiap baris dengan koma, dan batasi setiap baris dengan titik koma.

Prosedur berikut akan memberi Anda beberapa latihan dalam membuat konstanta horizontal, vertikal, dan dua dimensi. Kami akan menunjukkan contoh penggunaan fungsi SEQUENCE untuk membuat barisan tetap secara otomatis, serta memasukkan barisan tetap secara manual.

  • Membuat konstanta horizontal

    Gunakan buku kerja dari contoh sebelumnya, atau buat buku kerja baru. Pilih sel kosong, lalu masukkan =SEQUENCE(1,5). Fungsi SEQUENCE membuat array 1 baris kali 5 kolom yang sama seperti ={1\2\3\4\5}. Hasil berikut akan ditampilkan:

    Buat barisan tetap horizontal dengan =SEQUENCE(1,5) atau ={1,2,3,4,5}

  • Membuat konstanta vertikal

    Pilih sel kosong dengan ruang di bawahnya, lalu masukkan =SEQUENCE(5), atau ={1;2;3;4;5}. Hasil berikut akan ditampilkan:

    Buat barisan tetap vertikal dengan =SEQUENCE(5), or ={1;2;3;4;5}

  • Membuat konstanta dua dimensi

    Pilih sel kosong dengan ruang di sebelah kanan dan di bawahnya, lalu masukkan =SEQUENCE(3,4). Anda akan melihat hasil berikut:

    Buat barisan tetap 3 baris kali 4 kolom dengan =SEQUENCE(3,4)

    Anda juga dapat memasukkan: atau ={1\2\3\4;5\6\7\8;9\10\11\12}, tetapi Anda perlu memperhatikan tempat meletakkan titik koma versus koma.

    Seperti yang Anda lihat, opsi SEQUENCE menawarkan keuntungan yang signifikan dibandingkan memasukkan nilai barisan tetap secara manual. Terutama, menghemat waktu Anda, tetapi juga dapat membantu mengurangi kesalahan dari entri manual. Ini juga lebih mudah dibaca, terutama karena titik koma sulit dibedakan dari pemisah koma.

Berikut adalah contoh yang menggunakan barisan tetap sebagai bagian dari rumus yang lebih besar. Dalam buku kerja contoh, buka lembar kerja Konstanta dalam rumus, atau buat lembar kerja baru.

Di sel D9, kami memasukkan =SEQUENCE(1,5,3,1), tetapi Anda juga dapat memasukkan 3, 4, 5, 6, dan 7 di sel A9:H9. Tidak ada hal khusus dari pemilihan nomor tersebut, kami hanya memilih nomor selain 1-5 agar berbeda.

Di sel E11, masukkan =SUM(D9:H9*SEQUENCE(1,5)), atau =SUM(D9:H9*{1\2\3\4\5}). Rumus menghasilkan 85.

Menggunakan barisan tetap dalam rumus. Dalam contoh ini, kita menggunakan =SUM(D9:H(*SEQUENCE(1,5))

Fungsi SEQUENCE menyusun ekuivalensi barisan tetap {1\2\3\4\5}. Karena Excel mengoperasikan ekspresi yang diapit tanda kurung terlebih dahulu, dua elemen berikutnya yang dioperasikan adalah nilai sel di D9:H9, dan operator perkalian (*). Pada titik ini, rumus mengalikan nilai dalam array yang tersimpan dengan nilai yang terkait dalam konstanta. Ini ekuivalen dengan:

=SUM(D9*1,E9*2,F9*3,G9*4,H9*5), atau =SUM(3*1,4*2,5*3,6*4,7*5)

Terakhir, fungsi SUM menambahkan nilai, dan menghasilkan 85.

Untuk menghindari penggunaan array tersimpan dan mempertahankan seluruh operasi dalam memori, Anda dapat menggantinya dengan barisan tetap lain:

=SUM(SEQUENCE(1,5,3,1)*SEQUENCE(1,5)), atau =SUM({3\4\5\6\7}*{1\2\3\4\5})

Elemen yang dapat Anda gunakan dalam barisan tetap

  • Barisan tetap dapat berisi angka, teks, nilai logis (seperti TRUE dan FALSE), dan nilai kesalahan seperti #N/A. Anda dapat menggunakan angka dalam format bilangan bulat, desimal, dan notasi ilmiah. Jika menyertakan teks, Anda harus menutupnya dengan tanda kutip ("teks”).

  • Konstanta array tidak boleh berisi array, rumus, atau fungsi tambahan. Dengan kata lain, konstanta array hanya boleh berisi teks atau angka yang dipisahkan dengan koma atau titik koma. Excel menampilkan pesan peringatan apabila Anda memasukkan rumus seperti {1\2\A1:D4} atau {1\2\SUM(Q2:Z8)}. Nilai numerik juga tidak boleh berisi tanda persen, tanda dolar, koma, atau kurung.

Salah satu cara terbaik untuk menggunakan barisan tetap adalah dengan memberinya nama. Konstanta bernama lebih mudah digunakan, dan dapat menyembunyikan kerumitan rumus array Anda dari orang lain. Untuk memberi nama konstanta array dan menggunakannya dalam rumus, lakukan hal berikut:

Buka Rumus > Nama yang Ditentukan > Tentukan Nama. Di kotak Nama, ketik Quarter1. Di kotak Merujuk ke, masukkan konstanta berikut (ingat untuk mengetik tanda kurung kurawal secara manual):

={"January"\"February"\"March"}

Kotak dialog kini akan terlihat seperti ini:

Tambahkan barisan tetap bernama dari Rumus > Nama yang Ditentukan > Manajer Nama > Baru

Klik OK, lalu pilih baris apa pun dengan tiga sel kosong, lalu masukkan =Quarter1.

Hasil berikut akan ditampilkan:

Gunakan barisan tetap bernama dalam rumus, seperti =Kuartal1, ketika Kuartal1 telah ditentukan sebagai ={"Januari","Februari","Maret"}

Jika ingin hasilnya meluap secara vertikal, dan bukan horizontal, Anda dapat menggunakan =TRANSPOSE(Quarter1).

Jika ingin menampilkan daftar 12 bulan, seperti yang mungkin Anda gunakan saat membuat laporan keuangan, Anda dapat mendasarkannya pada tahun ini dengan fungsi SEQUENCE. Hal yang menarik dari fungsi ini adalah meskipun hanya bulan yang ditampilkan, ada tanggal valid di belakangnya yang dapat Anda gunakan dalam perhitungan lain. Anda akan menemukan contoh ini pada Konstanta array bernama dan lembar kerja Himpunan data sampel cepat di buku kerja contoh.

=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,12),1),"mmm")

Gunakan kombinasi fungsi TEXT, DATE, YEAR, TODAY, dan SEQUENCE untuk menyusun daftar dinamis 12 bulan

Ini menggunakan fungsi DATE untuk membuat tanggal berdasarkan tahun ini, SEQUENCE membuat barisan tetap dari 1 sampai 12 untuk Januari sampai Desember, lalu fungsi TEXT mengubah format tampilan menjadi "mmm" (Jan, Feb, Mar, dll.). Jika ingin menampilkan nama lengkap bulan, seperti Januari, Anda perlu menggunakan "mmmm".

Jika menggunakan konstanta bernama sebagai rumus array, ingatlah untuk memasukkan tanda sama dengan, seperti =Quarter1, bukan hanya Quarter1. Jika tidak, Excel akan menafsirkan array tersebut sebagai string teks dan rumus Anda tidak akan bekerja seperti yang diharapkan. Terakhir, ingatlah bahwa Anda dapat menggunakan kombinasi fungsi, teks dan angka. Semua tergantung pada seberapa kreatif yang Anda inginkan.

Contoh berikut menggambarkan beberapa cara penempatan konstanta array untuk digunakan dalam rumus array. Beberapa contoh menggunakan fungsi TRANSPOSE untuk mengubah baris menjadi kolom dan sebaliknya.

  • Mengalikan setiap item dalam array

    Masukkan =SEQUENCE(1,12)*2, atau ={1\2\3\4;5\6\7\8;9\10\11\12}*2

    Anda juga dapat membagi dengan (/), menambah dengan (+), dan mengurangi dengan (-).

  • Memangkatkan item dalam array

    Masukkan =SEQUENCE(1,12)^2, atau ={1\2\3\4;5\6\7\8;9\10\11\12}^2

  • Menemukan akar kuadrat dari item kuadrat dalam array

    Masukkan =SQRT(SEQUENCE(1,12)^2), atau =SQRT({1\2\3\4;5\6\7\8;9\10\11\12}^2)

  • Transpose baris satu dimensi

    Masukkan =TRANSPOSE(SEQUENCE(1,5)), atau =TRANSPOSE({1\2\3\4\5})

    Meskipun Anda memasukkan barisan tetap horizontal, fungsi TRANSPOSE akan mengubah barisan tetap tersebut menjadi kolom.

  • Transpose kolom satu dimensi

    Masukkan =TRANSPOSE(SEQUENCE(5,1)), atau =TRANSPOSE({1;2;3;4;5})

    Meskipun Anda memasukkan barisan tetap vertikal, fungsi TRANSPOSE akan mengubah barisan tetap tersebut menjadi baris.

  • Transpose konstanta dua dimensi

    Masukkan =TRANSPOSE(SEQUENCE(3,4)), atau =TRANSPOSE({1\2\3\4;5\6\7\8;9\10\11\12})

    Fungsi TRANSPOSE mengubah setiap baris menjadi serangkaian kolom.

Bagian ini menyediakan contoh rumus array dasar.

  • Membuat array dari nilai yang ada

    Contoh berikut menjelaskan cara menggunakan rumus array untuk membuat array baru dari array yang sudah ada.

    Masukkan =SEQUENCE(3,6,10,10), atau ={10\20\30\40\50\60;70\80\90\100\110\120;130\140\150\160\170\180}

    Pastikan untuk mengetik { (tanda kurung kurawal buka) sebelum mengetik 10, dan } (tanda kurung kurawal tutup) setelah mengetik 180, karena Anda sedang membuat array angka.

    Berikutnya, masukkan =D9#, atau =D9:I11 di sel kosong. Arrat 3 x 6 dari sel muncul dengan niilai yang sama yang Anda lihat di D9:D11. Tanda # disebut operator rentang luapan, dan ini merupakan cara Excel dalam mereferensikan seluruh rentang array daripada harus mengetiknya.

    Gunakan operator rentang teringkas (#) untuk mereferensikan array yang ada

  • Membuat barisan tetap dari nilai yang ada

    Anda dapat mengambil hasil rumus array yang meluap dan mengubahnya menjadi bagian-bagian komponennya. Pilih sel D9, lalu tekan F2 untuk beralih ke mode edit. Selanjutnya, tekan F9 untuk mengubah referensi sel menjadi nilai, yang kemudian diubah Excel menjadi barisan tetap. Saat Anda menekan Enter, rumus, =D9#, kini seharusnya menjadi ={10\20\30;40\50\60;70\80\90}.

  • Menghitung karakter dalam rentang sel

    Contoh berikut menunjukkan cara menghitung jumlah karakter dalam rentang sel. Ini termasuk spasi.

    Hitung jumlah total karakter dalam rentang, dan array lainnya untuk bekerja dengan string teks

    =SUM(LEN(C9:C13))

    Dalam kasus ini, fungsi LEN menghasilkan panjang setiap string teks di setiap sel dalam rentang tersebut. Fungsi SUM kemudian menjumlahkan semua nilai tersebut dan menampilkan hasilnya (66). Jika ingin mendapatkan jumlah karakter rata-rata, Anda dapat menggunakan:

    =AVERAGE(LEN(C9:C13))

  • Isi sel terpanjang dalam rentang C9:C13

    =INDEX(C9:C13,MATCH(MAX(LEN(C9:C13)),LEN(C9:C13),0),1)

    Rumus ini hanya berfungsi jika rentang data hanya berisi satu kolom sel.

    Mari periksa lebih dekat rumus ini, mulai dari elemen dalam ke arah luar. Fungsi LEN menghasilkan panjang setiap item dalam rentang sel D2:D6. Fungsi MAX menghitung nilai terbesar di antara item tersebut, yang sesuai dengan string teks terpanjang, yang ada di sel D3.

    Di sini akan mulai terlihat sedikit kompleks. Fungsi MATCH menghitung offset (posisi relatif) sel yang berisi string teks terpanjang. Untuk melakukannya, diperlukan tiga argumen: nilai pencarian, array pencarian, dan tipe yang cocok. Fungsi MATCH mencari array pencarian untuk nilai pencarian yang ditetapkan. Dalam kasus ini, nilai pencarian adalah string teks terpanjang:

    MAX(LEN(C9:C13)

    dan bahwa string itu terdapat dalam array ini:

    LEN(C9:C13)

    Argumen tipe yang cocok dalam kasus ini adalah 0. Tipe yang cocok dapat berupa nilai 1, 0, atau -1.

    • 1 - menghasilkan nilai terbesar yang kurang dari atau sama dengan val pencarian

    • 0 - menghasilkan nilai pertama yang sama persis dengan nilai pencarian

    • -1 - menghasilkan nilai terkecil yang lebih besar atau sama dengan nilai pencarian yang ditentukan

    • Jika Anda menghilangkan tipe yang cocok, Excel mengasumsikan 1.

    Terakhir, fungsi INDEX memperhitungkan argumen ini: array, serta nomor baris dan kolom dalam array tersebut. Rentang sel C9:C13 memberikan array, fungsi MATCH memberikan alamat sel, dan argumen akhir (1) menentukan bahwa nilai berasal dari kolom pertama dalam array.

    Jika ingin mendapatkan isi string teks terkecil, Anda perlu mengubah MAX pada contoh di atas dengan MIN.

  • Menemukan n nilai terkecil dalam rentang

    Contoh ini menampilkan cara menemukan tiga nilai terkecil dalam rentang sel, dengan array data sampel di sel B9:B18 telah dibuat dengan: =INT(RANDARRAY(10,1)*100). Perhatikan bahwa RANDARRAY adalah fungsi yang mudah berubah, jadi Anda akan mendapatkan kumpulan angka acak baru setiap kali Excel menghitung.

    Rumus array Excel untuk menemukan nilai terkecil ke-N: =SMALL(B9#,SEQUENCE(D9))

    Masukkan =SMALL(B9#,SEQUENCE(D9), =SMALL(B9:B18,{1;2;3})

    Rumus ini menggunakan barisan tetap untuk mengevaluasi fungsi SMALL tiga kali dan menghasilkan 3 anggota terkecil dalam array yang terdapat di sel B9:B18, dengan 3 adalah nilai variabel di sel D9. Untuk menemukan lebih banyak nilai, Anda dapat menambah nilai dalam fungsi SEQUENCE, atau menambahkan lebih banyak argumen ke konstanta. Anda juga dapat menggunakan fungsi tambahan dengan rumus ini, seperti SUM atau AVERAGE. Misalnya:

    =SUM(SMALL(B9#,SEQUENCE(D9))

    =AVERAGE(SMALL(B9#,SEQUENCE(D9))

  • Menemukan n nilai terbesar dalam satu rentang

    Untuk mencari nilai terbesar dalam satu rentang, Anda dapat mengganti fungsi SMALL dengan fungsi LARGE. Selain itu, contoh berikut menggunakan fungsi ROW dan INDIRECT.

    Masukkan =LARGE(B9#,ROW(INDIRECT("1:3"))), atau =LARGE(B9:B18,ROW(INDIRECT("1:3")))

    Pada tahap ini, mengetahui sedikit tentang fungsi ROW dan INDIRECT mungkin akan berguna untuk Anda. Anda dapat menggunakan fungsi ROW untuk membuat array bilangan bulat berurutan. Misalnya, pilih kolom kosong, lalu masukkan:

    =ROW(1:10)

    Rumus ini membuat kolom 10 bilangan bulat berurutan. Untuk melihat kemungkinan masalah, sisipkan satu baris di atas rentang yang memuat rumus array (yaitu, di atas baris 1). Excel menyesuaikan referensi baris, dan kini rumus menghasilkan bilangan bulat dari 2 sampai 11. Untuk mengatasinya, tambahkan fungsi INDIRECT pada rumus:

    =ROW(INDIRECT("1:10"))

    Fungsi INDIRECT menggunakan string teks sebagai argumennya (itulah sebabnya rentang 1:10 ditutup dengan tanda kutip). Excel tidak menyesuaikan nilai teks apabila Anda menyisipkan baris atau memindahkan rumus array. Akibatnya, fungsi ROW selalu menghasilkan array bilangan bulat yang Anda inginkan. Anda dapat dengan mudah menggunakan SEQUENCE:

    =SEQUENCE(10)

    Mari periksa rumus yang Anda gunakan sebelumnya — =LARGE(B9#,ROW(INDIRECT("1:3"))) — dimulai dari tanda kurung dalam ke arah luar: Fungsi INDIRECT menghasilkan sekumpulan nilai teks, dalam kasus ini nilai 1 sampai 3. Fungsi ROW kemudian menghasilkan array kolom tiga sel. Fungsi LARGE menggunakan nilai dalam rentang sel B9:B18, dan dievaluasi tiga kali, satu kali untuk setiap referensi yang dihasilkan oleh fungsi ROW. Jika ingin mencari nilai lainnya, Anda dapat menambahkan rentang sel yang lebih besar ke fungsi INDIRECT. Terakhir, seperti contoh SMALL, Anda dapat menggunakan rumus ini dengan fungsi lain, seperti SUM dan AVERAGE.

  • Menjumlahkan rentang yang berisi nilai kesalahan

    Fungsi SUM di Excel tidak berfungsi apabila Anda mencoba menjumlahkan rentang yang berisi nilai kesalahan, misalnya #VALUE! atau #N/A. Contoh ini menunjukkan cara menjumlahkan nilai dalam rentang bernama Data yang berisi kesalahan:

    Gunakan array untuk menangani kesalahan. Misalnya, =SUM(IF(ISERROR(Data),"",Data) akan menjumlahkan rentang yang bernama Data meskipun mencakup kesalahan, seperti #VALUE! atau #NA!.

  • =SUM(IF(ISERROR(Data),"",Data))

    Rumus ini membuat array baru yang berisi nilai aslinya dikurangi setiap nilai kesalahan. Dimulai dari fungsi dalam ke arah luar, fungsi ISERROR mencari rentang sel (Data) untuk kesalahan. Fungsi IF menghasilkan nilai tertentu jika kondisi yang Anda tetapkan dievaluasi TRUE dan nilai lain jika dievaluasi FALSE. Dalam kasus ini, fungsi akan mengembalikan string kosong ("") untuk semua nilai kesalahan karena dievaluasi ke TRUE, dan mengembalikan nilai yang tersisa dari rentang (Data) karena dievaluasi ke FALSE, yang berarti tidak berisi nilai kesalahan. Fungsi SUM kemudian menghitung jumlah total untuk array yang difilter.

  • Menghitung jumlah nilai kesalahan dalam rentang

    Contoh ini serupa dengan rumus sebelumnya, tetapi menghasilkan jumlah nilai kesalahan dalam rentang bernama Data dan bukan memfilternya:

    =SUM(IF(ISERROR(Data),1,0))

    Rumus ini membuat array yang berisi nilai 1 untuk sel yang berisi kesalahan dan nilai 0 untuk sel yang tidak berisi kesalahan. Anda dapat menyederhanakan rumus dan mendapatkan hasil yang sama dengan menghapus argumen ketiga untuk fungsi IF, seperti ini:

    =SUM(IF(ISERROR(Data),1))

    Jika Anda tidak menentukan argumen, fungsi IF menghasilkan FALSE jika sel tidak berisi nilai kesalahan. Anda dapat menyederhanakan lagi rumus tersebut:

    =SUM(IF(ISERROR(Data)*1))

    Versi ini bekerja karena TRUE*1=1 dan FALSE*1=0.

Anda mungkin perlu menjumlahkan nilai berdasarkan kondisi.

Anda dapat menggunakan array untuk menghitung berdasarkan kondisi tertentu. =SUM(IF(Penjualan>0,Penjualan)) akan menjumlahkan semua nilai yang lebih besar dari 0 dalam rentang yang disebut Penjualan.

Misalnya, rumus array ini menjumlahkan bilangan bulat positif saja dalam rentang yang bernama Sales, yang mewakili sel E9: E24 pada contoh di atas:

=SUM(IF(Sales>0,Sales))

Fungsi IF membuat array nilai positif dan salah. Fungsi SUM pada dasarnya mengabaikan nilai salah karena 0+0=0. Rentang sel yang Anda gunakan dalam rumus ini dapat terdiri dari jumlah baris dan kolom berapa pun.

Anda juga dapat menjumlahkan nilai yang memenuhi lebih dari satu kondisi. Misalnya, rumus array ini menghitung nilai yang lebih besar dari 0 DAN kurang dari 2500:

=SUM((Sales>0)*(Sales<2500)*(Sales))

Perhatikan bahwa rumus ini mengembalikan kesalahan jika rentang berisi satu atau beberapa sel nonnumerik.

Anda juga dapat membuat rumus array yang menggunakan tipe atau kondisi OR. Misalnya, Anda dapat menjumlahkan nilai yang lebih besar dari 0 ATAU kurang dari 2500:

=SUM(IF((Sales>0)+(Sales<2500),Sales))

Anda tidak dapat menggunakan fungsi AND dan OR langsung dalam rumus array karena fungsi itu memberi hasil tunggal, baik TRUE maupun FALSE, dan fungsi array memerlukan array hasil. Anda dapat mengatasinya dengan menggunakan logika yang ditampilkan dalam rumus sebelumnya. Dengan kata lain, Anda menjalankan operasi matematika, seperti penambahan atau perkalian pada nilai yang memenuhi kondisi OR dan AND.

Contoh ini menunjukkan cara mengeluarkan nol dari rentang apabila Anda perlu menghitung nilai rata-rata dalam rentang tersebut. Rumus ini menggunakan rentang data bernama Sales:

=AVERAGE(IF(Sales<>0,Sales))

Fungsi IF membuat array nilai yang tidak sama dengan 0, lalu meneruskan nilai tersebut ke fungsi AVERAGE.

Rumus array ini membandingkan nilai dalam dua rentang sel bernama MyData dan YourData dan mengembalikan jumlah perbedaan antara keduanya. Jika konten kedua rentang itu identik, rumus ini akan mengembalikan 0. Untuk menggunakan rumus ini, rentang sel harus memiliki ukuran dan dimensi yang sama. Misalnya, jika MyData adalah rentang 3 baris kali 5 kolom, YourData juga harus 3 baris kali 5 kolom:

=SUM(IF(MyData=YourData,0,1))

Rumus ini membuat array baru dengan ukuran yang sama sebagai rentang yang dibandingkan. Fungsi IF mengisi array dengan nilai 0 dan nilai 1 (0 bila tidak cocok dan 1 untuk sel yang identik). Fungsi SUM kemudian menghasilkan jumlah nilai dalam array tersebut.

Anda dapat menyederhanakan rumus seperti ini:

=SUM(1*(MyData<>YourData))

Seperti rumus yang menghitung nilai kesalahan dalam rentang, rumus ini berfungsi karena TRUE*1=1, dan FALSE*1=0.

Rumus array ini mengembalikan nomor baris nilai maksimum dalam rentang kolom tunggal yang bernama Data:

=MIN(IF(Data=MAX(Data),ROW(Data),""))

Fungsi IF membuat array baru yang terkait dengan rentang bernama Data. Jika sel yang terkait berisi nilai maksimum dalam rentang, array akan berisi nomor baris. Jika tidak, array berisi string kosong (""). Fungsi MIN menggunakan array baru sebagai argumen kedua dan mengembalikan nilai terkecil, yang terkait dengan nomor baris dari nilai maksimum dalam Data. Jika rentang yang bernama Data berisi nilai maksimum yang identik, rumus akan mengembalikan baris nilai pertama.

Jika Anda ingin mengembalikan alamat sel sebenarnya dari nilai maksimum, gunakan rumus ini:

=ADDRESS(MIN(IF(Data=MAX(Data),ROW(Data),"")),COLUMN(Data))

Anda akan menemukan contoh serupa di buku kerja contoh pada lembar kerja Perbedaan antara himpunan data.

Pengakuan

Bagian artikel ini didasarkan pada rangkaian kolom Excel Power User yang ditulis oleh Colin Wilcox, dan diadaptasi dari bab 14 dan 15 Excel 2002 Formulas, buku yang ditulis oleh John Walkenbach, mantan Excel MVP.

Perlu bantuan lainnya?

Anda selalu dapat bertanya kepada ahli di Komunitas Teknologi Excel atau mendapatkan dukungan di Komunitas.

Lihat Juga

Aray dinamis dan perilaku aray luapan

Rumus array dinamis vs. rumus array CSE legasi

Fungsi FILTER

Fungsi RANDARRAY

Fungsi SEQUENCE

Fungsi SORT

Fungsi SORTBY

Fungsi UNIQUE

Kesalahan #LUAPAN! di Excel

Operator irisan implisit: @

Gambaran umum rumus

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.