Angka tidak bisa dijumlahkan karena sel berisi teks yang menyerupai angka. SUM dan rata-rata melewati teks, jadi hasilnya 0 atau terlalu kecil. Cek dengan =ISNUMBER(A2): FALSE berarti teks. Penyebab umumnya spasi tak terlihat, awalan seperti IDR, atau pemisah titik dan koma yang tidak cocok dengan pengaturan regional. Ubah dengan Convert to Number, Text to Columns, VALUE, --, atau SUBSTITUTE.
Hasil bergantung pengaturan regional
Sebelum ke contoh, satu hal yang menentukan apakah data Anda bermasalah: pengaturan regional. Excel membaca titik dan koma menurut pengaturan komputer (panduan Microsoft). Di Excel for the web dengan buku kerja berlocale Indonesia, saya mencoba mengetik langsung dua isian pada 28 Oktober 2026:
1.150.000langsung dibaca sebagai angka 1150000 (rata kanan).Rp 2.400.000dibaca sebagai angka berformat mata uang (tampilRp2.400.000, rata kanan).
Jadi di locale Indonesia, kedua isian itu bila diketik sendiri sudah bisa dijumlahkan. Masalahnya muncul pada data yang tidak diketik, yaitu hasil impor CSV atau salin-tempel dari web atau aplikasi kasir, apalagi bila kolomnya berformat Text. Isi sel itu bisa tetap teks. Pada data seperti itu, 1.150.000 dan Rp 2.400.000 pun bisa tetap teks. Karena itu aturannya sederhana: jangan menebak, uji dengan =ISNUMBER(). Saya tidak menguji impor CSV, jadi jangan menganggap isian apa pun otomatis aman.
Contoh di bawah sengaja memakai isi yang pasti tetap teks di Excel berlocale Indonesia.
Contoh: hasil ekspor yang dibuka di Excel berlocale Indonesia
Kolom A berisi total tiap nota dari aplikasi kasir yang diekspor ke CSV, sebagian dari sistem berformat Inggris. Enam sel tampak seperti angka. Hanya satu yang benar-benar angka.
| Sel | Isi di sel | Yang sebenarnya terjadi |
|---|---|---|
| A2 | 1250000 | Teks. Sel berformat Text atau diawali apostrof ('1250000) |
| A3 | 320000 + non-breaking space | Teks. Spasi tak terlihat di belakang, kode 160 |
| A4 | IDR 2.400.000 | Teks. Awalan IDR ikut tertulis dan tidak dikenali sebagai mata uang |
| A5 | 1,150,000 | Teks di locale Indonesia. Koma bukan pemisah ribuan di sini (di locale Inggris sel ini menjadi angka) |
| A6 | 2400.50 | Teks di locale Indonesia. Pemisah desimalnya koma, bukan titik (di locale Inggris sel ini menjadi angka) |
| A7 | 560000 | Angka sungguhan |
Isi A5 dan A6 adalah format Inggris, yang lazim pada ekspor dari sistem luar negeri. Rumus =SUM(A2:A7) menghasilkan 560.000. Hanya A7 yang dihitung. Total yang benar seharusnya 5.682.400,50. Selisih lebih dari lima juta itu hilang tanpa pesan error, dan itulah yang membuat masalah ini berbahaya: laporan tetap tampil rapi tetapi isinya salah.
Perhatikan rata kiri dan kanan. Angka sungguhan rata kanan secara bawaan, teks rata kiri. Petunjuk ini tidak selalu bisa dipercaya, karena perataan bisa diubah manual. Pakai rumus di bagian berikut untuk memastikan.
Cara mendeteksi penyebabnya
Tulis rumus uji di kolom sebelah, lalu salin ke bawah.
| Rumus | Menjawab apa | A2 | A3 | A4 | A5 | A6 | A7 |
|---|---|---|---|---|---|---|---|
=ISNUMBER(A2) | Apakah ini angka? | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE |
=LEN(A2) | Berapa karakternya? | 7 | 7 | 13 | 9 | 7 | 6 |
=CODE(LEFT(A2,1)) | Kode karakter pertama | 49 | 51 | 73 | 49 | 50 | 53 |
=CODE(RIGHT(A2,1)) | Kode karakter terakhir | 48 | 160 | 48 | 48 | 48 | 48 |
Hasil ISNUMBER di tabel itu untuk Excel berlocale Indonesia. Di locale Inggris, A5 dan A6 menjadi TRUE.
Cara membacanya:
- ISNUMBER menjawab ya atau tidak. FALSE berarti teks, apa pun alasannya.
- LEN mengungkap karakter tersembunyi.
320000punya 6 digit tetapi LEN-nya 7, jadi ada satu karakter tambahan.1250000punya 7 digit dan LEN-nya 7, jadi tidak ada karakter lebih. - CODE menunjukkan karakter itu apa. Kode 32 adalah spasi biasa. Kode 160 adalah non-breaking space. Kode 73 adalah huruf I. Jika karakter pertama bukan digit (kode 48 sampai 57), ada sesuatu di depan angka.
- Apostrof di depan (A2) tidak terlihat oleh LEN. Excel menyimpannya sebagai penanda format, bukan bagian isi sel. Tandanya: ISNUMBER FALSE, tetapi LEN dan CODE tampak normal. Lihat apostrofnya di baris rumus saat sel dipilih.
- Pemisah yang salah tempat (A5 dan A6) lolos dari ketiga pengujian, karena semua karakternya digit, koma, dan titik. Satu-satunya petunjuk adalah ISNUMBER FALSE dan tanda baca di tengah. Cari tanda baca dengan
=ISNUMBER(SEARCH(",",A5)). Fungsi pencarian teks dibahas di rumus menemukan teks.
Untuk satu kolom penuh, cukup dua rumus ringkasan: =COUNT(A2:A7) menghitung sel berisi angka (hasil di contoh: 1), dan =COUNTA(A2:A7) menghitung semua sel berisi (hasil: 6). Jika keduanya berbeda, ada teks di dalam kolom.
Penyebab yang paling sering
| Penyebab | Tanda | Mudah diperbaiki dengan |
|---|---|---|
| Sel berformat Text, atau diawali apostrof | Segitiga hijau di pojok sel, ISNUMBER FALSE | Cara 1 sampai 4 |
| Spasi biasa di depan atau belakang (data impor) | LEN lebih panjang dari jumlah digit, CODE 32 | TRIM, atau cara 5 |
| Non-breaking space dari web atau aplikasi kasir | CODE 160, TRIM tidak berpengaruh | SUBSTITUTE dengan CHAR(160) (cara 5) |
| Awalan seperti IDR atau Rp ikut tertulis | Karakter pertama bukan digit | SUBSTITUTE (cara 5) |
Pemisah format Inggris di locale Indonesia (1,150,000 atau 2400.50) | Koma atau titik di tempat yang tidak cocok | Cara 5 |
| Titik atau koma yang cocok dengan locale, tetapi datanya hasil impor ke kolom Text | ISNUMBER FALSE walau format terlihat benar | Cara 1 sampai 4 |
Cara 1: Convert to Number lewat tanda hijau
Excel memberi segitiga hijau kecil di pojok kiri atas sel yang berisi angka berbentuk teks. Menurut panduan Microsoft, caranya:
- Pilih sel atau seluruh kolom yang bertanda hijau.
- Klik ikon peringatan yang muncul di sebelah sel.
- Pilih Convert to Number.
Jika opsinya tidak muncul, pemeriksaan kesalahan latar belakang mungkin dimatikan di opsi Formulas. Cara ini paling cepat, tetapi hanya menangani sel yang dianggap Excel sebagai angka berbentuk teks. Sel seperti A4 yang memuat awalan IDR tidak masuk golongan itu, dan segitiga hijau tidak menjamin muncul pada setiap kasus. Jadi jangan menjadikannya satu-satunya patokan. Cek ulang dengan ISNUMBER. Cara ini tidak saya jalankan sendiri, langkahnya dari panduan Microsoft.
Cara 2: Text to Columns
Cocok untuk satu kolom penuh yang isinya angka murni.
- Pilih kolom (satu kolom saja).
- Buka Data > Text to Columns.
- Langsung klik Finish, tanpa mengubah apa pun di wizard.
Excel membaca ulang isi tiap sel dan mengubahnya menjadi angka tanpa memecah apa pun. Sumbernya sama dengan panduan Microsoft di atas. Cara ini tidak membutuhkan kolom bantu, tetapi menimpa data asli. Salin kolomnya dulu bila Anda ingin cadangan. Hasilnya mengikuti pengaturan regional, jadi periksa hasilnya dengan ISNUMBER.
Cara 3: VALUE atau tanda minus ganda
Dua rumus ini mengubah teks menjadi angka di kolom bantu, tanpa menyentuh data asli.
| Rumus | Penjelasan |
|---|---|
=VALUE(A2) | Mengubah teks yang berbentuk angka menjadi angka |
=--A2 | Dua tanda minus membalik tanda dua kali. Angkanya tetap, tipenya berubah jadi angka |
VALUE menerima teks dalam format angka, tanggal, atau waktu yang dikenali Excel. Jika formatnya tidak dikenali, hasilnya #VALUE! (penyebab dan solusi error). Untuk A2 ('1250000), hasilnya 1250000. Untuk A4 (IDR 2.400.000), VALUE menghasilkan error karena awalan IDR. Untuk A3, A5, dan A6, hasilnya bergantung pada spasi dan pengaturan regional, jadi cek dengan ISNUMBER.
Setelah rumusnya benar, salin kolom bantu lalu tempel sebagai nilai (Paste Special > Values), supaya hasilnya tidak ikut berubah saat kolom asal dihapus.
Cara 4: Paste Special dengan Multiply
- Ketik
1di sel kosong mana pun, lalu salin (Ctrl+C). - Pilih sel-sel yang berisi teks angka.
- Klik kanan, pilih Paste Special, lalu Multiply, dan klik OK.
Setiap sel dikali 1. Angkanya tidak berubah, tetapi tipenya jadi angka. Cara ini bisa dipakai untuk beberapa kolom sekaligus, dan menimpa data asli. Seperti Text to Columns, ia hanya berhasil jika isi sel sudah berupa angka murni. Sel yang memuat awalan IDR berubah menjadi #VALUE!.
Cara 5: SUBSTITUTE digabung VALUE
Ini cara untuk data yang betul-betul kotor, seperti kolom A di contoh kita. Rumusnya berbeda per jenis kotoran, karena yang dibuang berbeda. Pola umumnya: buang karakter pengganggu dengan SUBSTITUTE, sisakan hanya digit, lalu VALUE. Teks yang hanya berisi digit dibaca sama di semua pengaturan regional.
| Sel | Isi | Rumus (di kolom B) | Hasil |
|---|---|---|---|
| A2 | 1250000 | =VALUE(A2) | 1.250.000 |
| A3 | 320000 + spasi 160 | =VALUE(SUBSTITUTE(A3,CHAR(160),"")) | 320.000 |
| A4 | IDR 2.400.000 | =VALUE(TRIM(SUBSTITUTE(SUBSTITUTE(A4,"IDR",""),".",""))) | 2.400.000 |
| A5 | 1,150,000 | =VALUE(SUBSTITUTE(A5,",","")) | 1.150.000 |
| A6 | 2400.50 | =VALUE(SUBSTITUTE(A6,".",""))/POWER(10,LEN(A6)-FIND(".",A6)) | 2.400,50 |
| A7 | 560000 | =VALUE(A7) | 560.000 |
| Total | =SUM(B2:B7) | 5.682.400,50 |
Penjelasan tiap rumus:
- A3. CHAR dengan 160 menghasilkan non-breaking space. SUBSTITUTE menggantinya dengan kosong. TRIM saja tidak cukup, karena TRIM hanya menghapus kode 32.
- A4. Awalan IDR dan titik ribuan dibuang, lalu TRIM membuang spasi sisa. Rumus ini menghapus semua titik, jadi jangan dipakai untuk teks yang titiknya berarti desimal.
- A5. Untuk format Inggris, koma ribuan yang dibuang.
- A6. Titik di sini desimal. Titik dibuang, jadi
2400.50menjadi240050.LEN(A6)-FIND(".",A6)menghitung digit di belakang titik (2), dan hasilnya dibagi 10 pangkat 2. Hasilnya 2400,5. Rumus ini hanya untuk teks dengan tepat satu titik.
Fungsi pendukungnya: SUBSTITUTE, TRIM, dan CLEAN. CLEAN tidak menolong di sini karena hanya menghapus karakter kontrol, bukan spasi kode 160.
Coba sendiri di lembar di bawah. Rumus di lembar dibungkus IFERROR supaya sel yang masih kotor menampilkan “bukan angka”, bukan error. Ketik ulang salah satu sel di kolom A, dan lihat kolom B serta jumlahnya berubah.
Ubah total nota teks menjadi angka dan jumlahkan
Enam total nota hasil ekspor dengan kotoran berbeda: apostrof, spasi non-breaking, awalan IDR, dan pemisah format Inggris. Tiap baris punya rumus pembersihnya sendiri.
| A | B | |
|---|---|---|
| 1 | Total (ekspor) | Setelah dibersihkan |
| 2 | 1250000 | 1.250.000,00 |
| 3 | 320000 | 320.000,00 |
| 4 | IDR 2.400.000 | 2.400.000,00 |
| 5 | 1,150,000 | 1.150.000,00 |
| 6 | 2400.50 | 2.400,50 |
| 7 | 560000 | 560.000,00 |
| 8 | Jumlah | 5.682.400,50 |
Sel biru (kolom A) bisa diubah. Coba ketik IDR 99.000 di A4 dan lihat B4 menjadi 99.000. Klik sel di kolom B untuk melihat rumusnya.
Panah, Enter, dan Tab memindah sel. Esc mengembalikan sel ke isi awal.
Pelajaran
=IFERROR(VALUE(SUBSTITUTE(A3,CHAR(160),"")),"bukan angka")
CHAR(160) adalah non-breaking space. TRIM tidak menghapusnya, jadi SUBSTITUTE yang bekerja.
=IFERROR(VALUE(SUBSTITUTE(A6,".",""))/POWER(10,LEN(A6)-FIND(".",A6)),"bukan angka")
Titik di sini desimal. Titik dibuang, lalu hasilnya dibagi 10 pangkat jumlah digit di belakang titik.
=SUM(B2:B7)
Setelah semua baris jadi angka, SUM menghitung 5.682.400,50.
Mesin lembar di halaman ini tidak membedakan angka dan teks seperti Excel, sehingga ia tidak bisa meniru ISNUMBER FALSE, dan hanya menghitung kolom pembersihnya. Pengecekan tipe tetap dilakukan di Excel atau Sheets Anda.
Titik dan koma: kenapa hasilnya bisa beda antar komputer
Indonesia memakai titik untuk ribuan dan koma untuk desimal (1.250,50). Banyak sistem asing memakai kebalikannya (1,250.50). Opsi File > Options > Advanced > Use system separators menentukan apakah Excel memakai pemisah sistem atau pemisah pilihan Anda.
Akibatnya, teks yang memuat titik atau koma dibaca berbeda tergantung komputer. VALUE, --, Text to Columns, dan Paste Special semuanya mengikuti pengaturan itu. Teks 1,150,000 dapat menjadi angka pada satu komputer dan error pada komputer lain. Karena itu artikel ini tidak mencetak hasil =VALUE("1,150,000") atau =VALUE("2400.50") tanpa membuang pemisahnya dulu: angkanya hanya benar untuk satu pengaturan. Coba sendiri di komputer Anda dan periksa dengan ISNUMBER.
Jalan keluar yang tidak bergantung pengaturan ada dua:
- Hapus pemisahnya lebih dulu, seperti di cara 5. Teks yang hanya berisi digit dibaca sama di mana pun.
- Sebut pemisahnya sendiri dengan NUMBERVALUE di Excel:
=NUMBERVALUE(B2,",","."). Argumen kedua adalah pemisah desimal, argumen ketiga pemisah ribuan.
Desimal koma pada data impor
Ini hanya berlaku bila teks berkoma desimal tersimpan sebagai teks, misalnya hasil impor ke kolom berformat Text. Bila Anda mengetik 2,5 langsung di locale Indonesia, Excel biasanya menganggapnya angka. Misalnya kolom B berisi berat belanjaan dalam kilogram:
| Sel | Isi | Rumus | Hasil |
|---|---|---|---|
| B2 | 2,5 | =VALUE(SUBSTITUTE(B2,",",""))/POWER(10,LEN(B2)-FIND(",",B2)) | 2,5 |
| B3 | 1,25 | sama, disalin ke bawah | 1,25 |
| B4 | 0,75 | sama | 0,75 |
| B5 | 3,5 | sama | 3,5 |
=SUM(C2:C5) | 8 |
Cara kerjanya sama dengan A6 di atas, hanya pemisahnya koma. Untuk angka seperti 1.234,56, NUMBERVALUE lebih ringkas.
Excel dan Google Sheets
| Hal | Excel | Google Sheets |
|---|---|---|
| Tanda angka berbentuk teks | Segitiga hijau dan menu Convert to Number | Tidak ada segitiga hijau. Periksa dengan ISNUMBER |
| Pemisah ribuan dan desimal | Mengikuti pengaturan regional Windows | Mengikuti lokal spreadsheet (File > Settings) |
| Text to Columns | Data > Text to Columns | Ada menu Data > Split text to columns, tetapi fungsinya memecah teks. Untuk konversi tipe, pakai rumus |
| Paste Special Multiply | Ada | Pilihan operasi Multiply tidak tersedia di Paste special. Pakai rumus |
VALUE, --, SUBSTITUTE, TRIM | Ada | Ada, dengan sintaks sama |
| NUMBERVALUE | Ada | Tidak ditemukan di daftar fungsi yang kami periksa. Pakai SUBSTITUTE dan VALUE |
| CHAR(160) | Ada | Ada |
Satu perbedaan lain: Google Sheets sering mengenali angka secara otomatis saat Anda mengetik atau mengimpor, sehingga masalah ini lebih jarang muncul di sana. Jika data sudah terlanjur teks, rumus di cara 3 dan 5 tetap berlaku. Perbedaan lengkap kedua aplikasi ada di Excel vs Google Sheets. Isi tabel Sheets di atas tidak saya uji di Google Sheets.
Kesalahan yang sering terjadi
- Mengira isian
1.150.000atauRp 2.400.000pasti teks. Di locale Indonesia, kalau diketik langsung keduanya menjadi angka. Yang pasti teks adalah data impor yang kolomnya berformat Text. Uji dengan ISNUMBER. - Mengganti format kolom menjadi Number, lalu berharap angkanya berubah. Format yang diubah tidak mengonversi teks yang sudah ada di sel. Ketik ulang atau pakai salah satu dari lima cara di atas.
- Memakai TRIM untuk spasi dari web atau aplikasi kasir. TRIM hanya menghapus kode 32. Cek dengan CODE, lalu tambahkan
SUBSTITUTE(A2,CHAR(160),""). - Menghapus titik dari data berformat Amerika. Titik di sana berarti desimal, jadi
2400.50berubah menjadi 240050. Pakai rumus A6 di cara 5. - Menimpa data asli tanpa salinan. Text to Columns dan Paste Special mengganti isi sel. Simpan salinan kolom sebelum mulai.
- Mengira semuanya beres setelah SUM berubah. Uji ulang dengan
=COUNT(A2:A7)=COUNTA(A2:A7). Jika hasilnya TRUE, semua sel di kolom itu sudah angka. - Mengetik “Rp” di dalam sel, bukan lewat format. Ketik angkanya saja, lalu tampilkan Rp dengan format sel (Ctrl+1). Ini mencegah masalah muncul lagi.
- Mengira VLOOKUP gagal karena rumus. Kolom kunci yang berupa teks di satu sisi dan angka di sisi lain menghasilkan
#N/A. Samakan tipenya dulu (cara mencari penyebab VLOOKUP).
Pola yang sama berlaku untuk daftar harga, stok, atau gaji dari sistem lain. Angka yang sudah bersih bisa dilanjutkan ke laporan, misalnya rekap dengan PivotTable. Jika rumus dasar belum lancar, mulai dari SUM, IF, dan 50 rumus dasar lainnya.