9.5K
Seperti contoh pada gambar, kita bisa menggunakan macro function Excel untuk menjumlahkan angka di dalam sebuah sel yang juga berisi teks atau string.
DAFTAR ISI
Function Excel Menjumlahkan Angka dalam Teks di Satu Sel
Misalnya, kita ingin menjumlahkan angka-angka pada setiap sel untuk ditampilkan dalam kolom Total seperti contoh di bawah ini.
Solusinya adalah menggunakan User Defined Function (UDF) berikut.
Langkah-langkah:
- Tekan tombol ALT + F11 untuk menampilkan layar editor Microsoft Visual Basic for Applications.
- Kemudian pada tab Insert, klik Module. Akan muncul satu layar putih.
- Salin dan tempatkan kode di bawah ini pada layar putih tersebut.
Function SumNums(rngS As Range, Optional strDelim As String = " ") As Double Dim vNums As Variant, lngNum As Long vNums = Split(rngS, strDelim) For lngNum = LBound(vNums) To UBound(vNums) Step 1 SumNums = SumNums + Val(vNums(lngNum)) Next lngNum End Function
- Kemudian simpan dan tutup layar editor.
- Selanjutnya kita akan menggunakan function tersebut pada lembar kerja Excel. Klik pada sel yang akan diisi dengan hasil penjumlahan. Contoh, sel G2.
- Ketik fungsi =SumNums(F2)
Catatan: sel F2 adalah sel yang berisi angka-angka yang ingin dijumlahkan.
- Tekan ENTER. Sel G2 akan berisi hasil penjumlahan.
- Selanjutnya salin function pada sel G2 ke sel di bawahnya.
Function Excel Menjumlahkan Angka dalam Teks pada Beberapa Sel
Contoh variasi posisi angka dalam sel.
- Kolom A berisi angka di sebelah kanan teks dan di antara sel ada sel yang kosong.
- Kolom B berisi angka di sebelah kiri teks dan dipisahkan dengan spasi.
- Kolom C berisi angka di sebelah kiri yang tergabung dengan teks.
Langkah-langkah:
- Tekan tombol ALT + F11 untuk menampilkan layar editor Microsoft Visual Basic for Applications.
- Kemudian pada tab Insert, klik Module. Akan muncul satu layar putih.
- Salin dan tempatkan kode di bawah ini pada layar putih tersebut.
Function SumNumbers(rng As Range) As Double Dim a, e, m As Object a = rng.Value With CreateObject("VBScript.RegExp") .Pattern = "\d+(\.\d+)?" .Global = True For Each e In a If .test(e) Then For Each m In .Execute(e) SumNumbers = SumNumbers + Val(m.Value) Next End If Next End With End Function
- Simpan dan tutup layar editor.
- Untuk menggunakan function tersebut pada lembar kerja Excel, klik pada sel yang akan diisi dengan hasil penjumlahan. Contoh, sel A5.
- Kemudian ketik fungsi =SumNumbers(A1:A4)
Catatan: sel A1:A4 adalah sel-sel yang berisi angka yang ingin dijumlahkan.
- Tekan ENTER. Selesai.
Penutup
Demikian 2 rumus macro VBA Excel untuk menjumlahkan angka dalam teks.
Penjelasan detil mengenai macro ada di artikel ini: Cara Menggunakan Macro di Excel, Word, dan PowerPoint.
Lihat di sini: 2 Rumus Excel Mengalikan Angka dalam Teks
28 Komentar
Mohon dong gan yang ini kasih penjelasan gan…
Contoh
– Belanja makan minum (50 Org x 3 keg x 3 Kali makan x 5 Hari)
– Biaya Operasional (50 Org x 3 Keg x 5 Hari)
masalahnya sama ni gan soal nya..
Lihat tutorialnya di sini: Perkalian Angka dalam Teks
saya mau menambah dikolom bawah untuk station
00+100
00+200
dst.
bagaimana rumusnya ya. Thanks
Pertanyaan kurang jelas.
Data awalnya seperti apa dan ingin hasilnya seperti apa?
Mohon pencerahannya :
Kasus Data : Saya mempunyai data penduduk dan di dalam kolom (misalnya kolom D) yang memuat Umur ( misalnya : 40 Tahun 7 bulan, dst), sebanyak penduduk yang ada.
Pertanyaannya : Bagaimana Caranya, saya ingin menghitung yang berumur 40 Tahun berapa jiwa, begipun dengan klasifikasi umur yang lain, sedangkan dalam cel tersebut ada “40 Tahun 7 bulan”
Mohon maaf bila ada yang tidaj jelas. Trims
Biar lebih mudah dihitung, pisahkan isinya menjadi beberapa kolom. Tutorialnya di sini.
Kemudian gunakan formula =COUNTIF(A1:A5;”=40″) untuk menghitung jumlah masing-masing umur.
Keterangan formula:
– A1:A5 adalah sel yang berisi angka umur 40
– Ganti =40 untuk menghitung jumlah umur yang lain
Mohon Pencerahan untuk Perkalian dalam satu Kalimat cell di Excel… Contoh
– Belanja makan minum (50 Org x 3 keg x 3 Kali makan x 5 Hari)
– Biaya Operasional (50 Org x 3 Keg x 5 Hari)
Semoga ada pencerahan…
malam gan
mohon di bantu, bagaimana cara mencari jumlah angka yg berada dalam satu cell
miss di cell B3 tertera angka 1234 ( empat digit ) mau saya jumlahkan dan saya letakan di cell D3, bagaimana rumus yg harus saya gunakan agar di cell D3 nanti akan muncul angka 10 hasil penjumlahan dari (1+2+3+4)
Halo gan, first of all terimakasih sudah sharing rumus diatas, tapi kenapa ya gan saya belum berhasil gunakannya, karena terbaca #NAME
Error #NAME biasanya disebabkan oleh kesalahan penulisan nama fungsi. Contoh: harusnya SumNumbers, terketik SumNumberss
.Pattern = “\d+(\.\d+)?”
compile error kenapa ya
Mohon Pencerahan :
Sel A1 : 20 Buah
Sel B1 : 10 Buah
Sel C 1 : A1+B1
Bagaimana Cara menjumlahkan A1 + B1 agar bisa muncul 30 Buah? terimakasih
Gunakan formula ini dan akhiri dg menekan tombol CTRL + SHIFT + Enter:
=(SUM(SUBSTITUTE(A1:B1;”buah”;””)+0))&” buah”
Ganti tanda titik koma pada formula dg tanda koma bila komputer anda menggunakan settingan tsb.
Anda jg bisa menggunakan Custom Format untuk mengkalkulasi angka-angka yg memiliki unit. Tutorialnya ada di sini: Menambahkan Teks di Belakang Angka
Function SumNumbers(rng As Range) As Double
Dim a, e, m As Object
a = rng.Value
With CreateObject(“VBScript.RegExp”)
.Pattern = “d+(.d+)?”
.Global = True
For Each e In a
If .test(e) Then
For Each m In .Execute(e)
SumNumbers = SumNumbers + Val(m.Value)
Next
End If
Next
End With
End Function
kok hasilnya Nol yah..mohon pencerahannya gan
Apakah sel pada function =SumNumbers(A1:A4) berisi angka yg ingin dijumlahkan?
iya hasilnya nol gmn ya?
iya nol gimana ya yg no 1 bisa yg no 2 hasilnya nol terus?
Coba kode ini:
Function SumNumbers(rng As Range) As Double
Dim a, e, m As Object
a = rng.Value
With CreateObject(“VBScript.RegExp”)
.Pattern = “\d+(\.\d+)?”
.Global = True
For Each e In a
If .test(e) Then
For Each m In .Execute(e)
SumNumbers = SumNumbers + Val(m.Value)
Next
End If
Next
End With
End Function
mohon pencerahannya, Kalau permasalahannya begini bagaimana?
cell A1= T30
cell B1= S1
cell C1= T10
cell D1=T15
cell E1=S2
bagaimana cara menjumlah angka didepan huruf T ? namun tidak termasuk yang di depan hurus S.
mohon penjelasannya. terima kasih
Coba gunakan formula ini:
=SUM(IF(LEFT(A1:E1)=”T”;–RIGHT(A1:E1;LEN(A1:E1)-1)))
Akhiri dengan menekan tombol Ctrl + Shift + Enter
Note:Ganti tanda titik koma (;) dengan tanda koma bila komputer Anda menggunakan tanda pemisah tersebut
terima kasih, sangat membantu.
tapi hasilnya kok jadi minus ya? untuk merubah ke plus bagaimana caranya?
Terimakasih, sangat membantu. tetapi untuk script yang untuk Menjumlahkan Angka pada Beberapa Sel kok tidak bisa ya. mohon bantuan. terimakasih
Mungkin ada yg salah atau kurang ketik. Coba dicek lg script nya
Terima kasih penjelasannya , formula nya berjalan dan sangat membantu pekerjaan saya.
tapi kok hasilnya jadi minus ya? cara merubah jadi positif bagaimana caranya?
karena saya membuat kondisi apabila kolom (yang menggunakan formula anda) bernilai 120 maka kolom berikutnya akan berkurang 1 nilainya. tapi kondisi itu tidak bisa terpenuhi karena hasilnya (kolom yg menggunakan formula anda)
selalu bernilai negatif. mohon solusinya lagi.
terima kasih
Coba cek apakah ada kelebihan tanda minus pada formula anda
Kalau untuk perkalian bagaimana Gan?
kalau di open office gimana gan?
Cara di forum diskusi ini mungkin bisa membantu Anda