Menu

Circular Reference di Excel: Cara Menemukan dan Mengatasinya

Circular reference adalah rumus yang merujuk ke selnya sendiri, langsung atau lewat rumus lain, misalnya =SUM(B2:B7) yang diketik di B7. Excel memberi peringatan, menampilkan 0, dan mencantumkan selnya di Formulas > Error Checking > Circular References.

Setiap lembar kerja di halaman ini interaktif: ubah angka atau rumus, dan hasilnya langsung dihitung ulang.

Circular reference (referensi melingkar) adalah rumus yang merujuk ke selnya sendiri, baik langsung maupun lewat rumus lain. Mengetik =SUM(B2:B7) di B7 menciptakan circular reference: totalnya ikut menjumlahkan dirinya sendiri. Excel menampilkan peringatan, menaruh 0 di sel itu, dan mencantumkannya di Formulas > Error Checking > Circular References. Cara memperbaikinya adalah mengubah rentangnya agar berhenti sebelum sel rumus itu sendiri, di sini =SUM(B2:B6).

B7:  =SUM(B2:B7)    circular: B7 is inside its own range, Excel shows 0
B7:  =SUM(B2:B6)    fixed: the range stops above the total
Total yang berhenti di atas dirinya sendiri
B7
AB
1MonthSales
2Jan120
3Feb95
4Mar140
5Apr110
6May130
7Total595
Klik sel untuk melihat rumusnya. Ubah angka atau rumus, dan lembar kerja langsung menghitung ulang.

Klik B7: kotak berwarna menutupi B2:B6 dan berhenti di atas total. Ini circular reference yang paling umum. Biasanya muncul saat sebuah baris disisipkan tepat di atas total lalu rentang SUM diperpanjang secara manual satu baris terlalu jauh, atau saat rentangnya diseret dengan mouse sampai melewati sel total.

Apa yang dilakukan Excel terhadap circular reference

Saat kamu memasukkan rumusnya, Excel menampilkan pesan: "There are one or more circular references where a formula refers to its own cell either directly or indirectly. This might cause them to calculate incorrectly." Artinya, ada rumus yang merujuk ke selnya sendiri, langsung atau tidak langsung, sehingga hasil perhitungannya bisa salah. Klik OK dan rumusnya tetap ada, dengan tampilan 0 (atau nilai terakhir yang dimilikinya). Setelah itu:

  • Status bar di bagian bawah jendela menampilkan Circular References: B7 (alamat salah satu sel di dalam lingkaran) selama lembar kerja itu aktif.
  • Excel tidak mengulang pesannya selama kamu terus bekerja, jadi circular reference bisa tetap ada di workbook tanpa disadari, dengan status bar sebagai satu-satunya pengingat.
  • Rumus lain yang bergantung pada sel itu memakai nilai 0, jadi total-total selanjutnya salah tanpa ada error sama sekali.

Workbook yang sama di Google Sheets menampilkan #REF! dengan catatan "Circular dependency detected".

Cara menemukan circular reference di Excel

  1. Baca status bar. Di sana tertulis sebuah sel di lembar kerja yang aktif. Kalau hanya tertulis Circular References tanpa alamat, lingkarannya ada di lembar kerja lain.
  2. Buka Formulas > Error Checking, klik panah kecil di sebelahnya, lalu arahkan ke Circular References. Submenu itu menampilkan daftar sel di dalam lingkaran. Klik salah satunya untuk memilihnya.
  3. Dengan sel itu terpilih, pakai Formulas > Trace Precedents untuk menggambar panah dari sel-sel yang dibacanya. Ikuti panahnya sampai ada yang kembali ke titik awal. Remove Arrows menghapus panah-panah itu.
  4. Di Mac, perintahnya ada di tempat yang sama: tab Formulas, Error Checking, lalu Circular References.

Perbaiki sel yang tercantum di daftar, lalu periksa daftarnya lagi: sebuah workbook bisa punya beberapa lingkaran, dan Excel mencantumkan lingkaran berikutnya setelah yang pertama hilang.

Circular reference tidak langsung

Lingkaran yang melewati dua sel atau lebih lebih sulit dikenali, karena tidak ada rumus yang menyebut selnya sendiri.

C2:  =B2*10%      tax on the net price in B2
B2:  =D2-C2       net price = total minus tax
D2:  =B2+C2       total = net plus tax

Setiap rumus terlihat masuk akal, tetapi B2 butuh C2, C2 butuh B2, dan D2 butuh keduanya. Salah satu dari ketiga nilai itu harus berupa input. Tentukan angka mana yang benar-benar kamu ketahui, ketik angkanya, lalu hitung yang lain dari angka itu:

Harga bersih, pajak dan total tanpa lingkaran
C2
ABCD
1ItemNet priceTax (10%)Total
2Desk$240.00$24.00$264.00
3Chair$85.00$8.50$93.50
Klik sel untuk melihat rumusnya. Ubah angka atau rumus, dan lembar kerja langsung menghitung ulang.

Harga bersihnya diketik, lalu pajak dan totalnya dihitung dari harga itu: meja harganya 264,00denganpajak264,00 dengan pajak 24,00. Kalau yang kamu ketahui justru totalnya, harga bersihnya adalah =D2/(1+10%): rumusnya diselesaikan untuk nilai yang belum diketahui, jadi tidak ada yang merujuk kembali ke dirinya sendiri.

Persentase dari total yang ikut menghitung dirinya sendiri

Kolom porsi dari total menjadi melingkar kalau totalnya juga menjumlahkan kolom porsi, atau kalau baris total berada di dalam rentang yang menjadi pembagi porsi-porsi itu.

Porsi dari total
C2
ABC
1RegionSalesShare
2North42042%
3South31031%
4East18018%
5West909%
6Online00%
7Total1000100%
Klik sel untuk melihat rumusnya. Ubah angka atau rumus, dan lembar kerja langsung menghitung ulang.

Setiap porsi dibagi dengan B7, dan B7 hanya menjumlahkan B2:B6. Online tidak menjual apa pun, jadi porsinya 0%, dan C7 menjumlahkan semua porsi menjadi 100%. Seandainya B7 berisi =SUM(B2:B7), atau =SUM(B2:C6), setiap porsi akan bergantung pada dirinya sendiri. Tanda $ di $B$7 menjaga totalnya tetap saat rumus disalin ke bawah; lihat persentase.

Saldo berjalan yang menunjuk ke barisnya sendiri

Total berjalan menambahkan setiap jumlah baru ke saldo di baris di atasnya. Menunjuk ke saldo di baris yang sama menciptakan lingkaran.

C3:  =C3+B3    circular
C3:  =C2+B3    previous balance plus this row's amount
Saldo berjalan
C3
ABC
1DateAmountBalance
22026-03-01500500
32026-03-04-120380
42026-03-09-80300
52026-03-15250550
62026-03-22-60490
Klik sel untuk melihat rumusnya. Ubah angka atau rumus, dan lembar kerja langsung menghitung ulang.

Saldo pertama hanyalah jumlah pertama; setiap baris sesudahnya menambahkan jumlahnya ke baris di atasnya. Saldonya berakhir di 490. Klik C4 dan kotak berwarna menunjukkan C3 dan B4, tidak pernah C4 sendiri.

Komisi dari laba setelah komisi

Sebagian circular reference bukan salah ketik, melainkan perhitungan yang memang bergantung pada hasilnya sendiri: komisi sebesar 10% dari laba, padahal labanya adalah sisa setelah komisi dibayarkan.

B5 (commission):  =B6*B4         10% of profit
B6 (profit):      =B2-B3-B5      revenue minus cost minus commission

Menyalakan iterative calculation (File > Options > Formulas > Enable iterative calculation, atau Excel > Preferences > Calculation di Mac) membuat Excel mengulang lingkarannya sampai angkanya stabil. Cara ini berhasil di sini, tetapi juga menyembunyikan setiap lingkaran tidak disengaja di workbook, dan sebagian lingkaran tidak pernah stabil. Menyelesaikan persamaannya lebih baik. Kalau komisi adalah tarif dikali (pendapatan dikurangi biaya dikurangi komisi), maka komisi sama dengan (pendapatan dikurangi biaya) dikali tarif, dibagi (1 + tarif).

Komisi tanpa lingkaran
B5
AB
1ItemValue
2Revenue$50,000.00
3Cost$30,000.00
4Rate10%
5Commission
6Profit$20,000.00
7Rate of profit$2,000.00
Klik sel untuk melihat rumusnya. Ubah angka atau rumus, dan lembar kerja langsung menghitung ulang.

Giliranmu: Tulis komisi di B5 tanpa merujuk ke B5 atau B6: komisinya 10% dari laba setelah komisi, yang sama dengan (pendapatan dikurangi biaya) dikali tarif, dibagi 1 ditambah tarif.

Kalau B5 sudah benar, B7 (10% dari laba) sama dengan komisi di B5: keduanya menampilkan $1.818,18. Kesamaan itulah kondisi yang sebenarnya ingin dicapai oleh versi yang melingkar.

Pertanyaan yang sering diajukan

Apa itu circular reference di Excel?

Rumus yang membutuhkan hasilnya sendiri untuk bisa dihitung. Rumus itu bisa merujuk langsung ke selnya sendiri, seperti =SUM(B2:B7) di B7, atau sampai ke sel itu lewat sel lain, seperti A1 berisi =B1+1 dan B1 berisi =A1*2. Excel tidak bisa menyelesaikan perhitungannya, jadi Excel memberi peringatan dan menampilkan 0 atau nilai terakhirnya.

Bagaimana cara menemukan circular reference di Excel?

Lihat status bar di bagian bawah jendela: di sana tertulis Circular References diikuti alamat sel. Atau buka Formulas > Error Checking (panah di sebelahnya) > Circular References, yang menampilkan daftar selnya; klik salah satunya untuk langsung ke sel itu.

Kenapa Excel bilang ada circular reference tetapi aku tidak bisa menemukannya?

Status bar hanya menampilkan circular reference di lembar kerja yang sedang aktif, jadi pindah dari satu lembar kerja ke lembar kerja lain dan periksa Formulas > Error Checking > Circular References di masing-masing. Lingkarannya juga bisa melewati nama yang didefinisikan atau sel di lembar kerja lain, jadi pakai Trace Precedents dari sel yang tercantum untuk menelusurinya.

Perlukah aku menyalakan iterative calculation untuk mengatasi circular reference?

Hanya kalau lingkarannya memang disengaja, misalnya model yang mendekati suatu nilai. File > Options > Formulas > Enable iterative calculation membuat Excel mengulang perhitungan sampai 100 kali, bukan memberi peringatan. Untuk lingkaran yang tidak disengaja, cara ini menyembunyikan kesalahannya, dan hasilnya bisa salah.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai