Analisis Data

Named Ranges Google Sheets: Panduan FP&A 2026

ModelMonkey21 Juni 20269 menit baca

Bandingkan dua formula berikut yang menarik levered free cash flow ke tab returns:

// Tanpa named ranges
='Cash Flow'!$F$47 * (1 - Assumptions!$C$12) / (Assumptions!$C$4 - Assumptions!$C$8)

// Dengan named ranges
=LFCF * (1-TaxRate) / (WACC - TerminalGrowthRate)

Matematikanya sama persis. Yang kedua bisa diaudit oleh siapa pun di ruangan itu.

Cara Kerja Named Ranges di Google Sheets

Buka Data → Named ranges, klik Add a range, ketik nama, lalu arahkan ke sel atau rentang yang diinginkan. Nama harus diawali huruf, tidak boleh menyerupai alamat A1, dan maksimal 250 karakter. Google Sheets mendukung hingga 500 named ranges per spreadsheet, cukup untuk model apapun kecuali konsolidasi skala penuh.

Setelah didefinisikan, named range berperilaku seperti referensi absolut. =WACC di sel mana pun pada tab mana pun akan mengembalikan nilai dari sel yang Anda tunjuk. Anda juga bisa mendefinisikannya terbatas pada satu sheet saja, yang penting ketika Anda menjalankan skenario paralel dengan nama input yang sama di tab berbeda.

Name Box (dropdown di sebelah kiri formula bar) adalah cara tercepat untuk melompat ke named range saat review model. Ketik WACC di sana dan Anda langsung diarahkan ke sel sumber.

Named Ranges dalam Model Keuangan Multi-Tab

Di sinilah named ranges membuktikan nilainya. Model three-statement standar memiliki tab Assumptions, P&L, Balance Sheet, Cash Flow, dan Returns Analysis sebagai minimum. Tanpa named ranges, setiap formula yang mengakses tab lain adalah rangkaian koordinat yang bisa rusak secara diam-diam saat seseorang menyisipkan baris.

Berikut tampilan SUMIFS lintas tab dengan named ranges dalam praktiknya:

// SUMIFS pendapatan kuartalan yang merujuk input bernama
=SUMIFS(
  'P&L'!C:C,
  'P&L'!B:B, ">=" & PeriodStart,
  'P&L'!B:B, "<=" & PeriodEnd,
  'P&L'!A:A, SegmentFilter
)

PeriodStart, PeriodEnd, dan SegmentFilter semuanya adalah named ranges yang mengarah ke sel-sel di tab Assumptions. Formula bisa dibaca, input terpusat, dan mengubah rentang tanggal cukup dengan mengedit satu sel, bukan memburu lebih dari 40 SUMIFS di 8 tab.

Untuk DCF, pengaturan tab Assumptions yang umum terlihat seperti ini:

NamaMengarah keNilai
WACCAssumptions!$C$49,8%
TerminalGrowthRateAssumptions!$C$52,5%
TaxRateAssumptions!$C$626,0%
RevenueBaseAssumptions!$C$7Rp 65 miliar
EBITDAMultipleAssumptions!$C$814,2x
HoldPeriodAssumptions!$C$95

Formula terminal value Anda lalu terbaca sebagai berikut:

=((LFCF_Year5 * (1 + TerminalGrowthRate)) / (WACC - TerminalGrowthRate)) / (1 + WACC)^HoldPeriod

Formula ini bisa ditinjau oleh siapa saja. Versi koordinatnya butuh arkeolog untuk dipahami.

Named Ranges vs. Structured Table References di Google Sheets

Fitur Tables milik Google yang diperkenalkan akhir 2023 (diumumkan di Google Workspace Updates Blog, November 2023) membawa structured references ke Sheets, yakni sintaks =Table1[Revenue] yang sudah lama dinikmati pengguna Excel. Per Juni 2026, kehadiran fitur ini mengubah pertimbangan untuk kasus penggunaan tertentu.

Perbandingan jujurnya:

Named RangesTables (Structured Refs)
Terbaik untukAsumsi satu sel, konstanta, input lintas tabData transaksi berbentuk kolom, jumlah baris dinamis
Otomatis meluas dengan baris baruTidakYa
Sintaks lintas tabRingkas (=WACC)Panjang (='Sheet1'!Table1[Revenue])
Tahan sisipan barisYa (jika rentang dikunci)Ya (otomatis)
Bekerja di kriteria SUMIFSYaYa
Diberi nama di formula barYaHeader kolom
Maks per file500Tidak ada batas terdokumentasi

Pembagian praktisnya: gunakan named ranges untuk tab Assumptions Anda (30 hingga 50 sel yang menggerakkan seluruh model), dan Tables untuk data transaksi level detail (margin kontribusi per SKU, pipeline deal, daftar headcount). Mencoba menggunakan Tables untuk asumsi menghasilkan tampilan satu kolom per asumsi yang tidak praktis sama sekali. Sebaliknya, mencoba menggunakan named ranges untuk 3.000 baris data transaksi pendapatan berarti Anda harus memperbarui batas rentang secara manual setiap kuartal.

Satu kasus tepi yang tidak langsung terlihat: referensi kolom terbuka seperti 'P&L'!C:C dalam SUMIFS menjadi lambat ketika sheet memiliki puluhan ribu baris. Menurut artikel bantuan Google Sheets "Make Google Sheets faster" (support.google.com/docs), rentang yang dibatasi menghitung jauh lebih cepat dibanding referensi seluruh kolom pada skala besar. Named ranges yang mengarah ke rentang terbatas (misalnya Revenue_2026 ke 'P&L'!C2:C1000) memberi Anda keterbacaan sekaligus kecepatan.

Ketika Named Ranges Bermasalah (dan Cara Memperbaikinya)

Pergeseran rentang diam-diam. Jika Anda mendefinisikan GrossMargin sebagai P&L!$C$12 lalu menyisipkan 2 baris di atas baris 12, named range otomatis terupdate. Namun jika Anda menyalin dan menempel alih-alih menyisipkan, pembaruan otomatis tidak terjadi. Selalu sisipkan baris; jangan pernah tempel-timpa area tempat named ranges berlabuh.

Tabrakan scope. Rentang bernama Revenue yang tercakup untuk Sheet1 dan rentang bernama Revenue yang tercakup untuk Sheet2 adalah dua hal yang berbeda. Jika formula di Sheet3 memanggil =Revenue, bisa saja ia mengarah ke yang salah. Tentukan scope secara eksplisit saat membangun tab skenario atau model portofolio di mana nama variabel yang sama muncul di beberapa deal.

Penghapusan tanpa pembersihan. Menghapus sel sumber sebuah named range membuat nama itu mengarah ke error. Google Sheets akan menampilkan #REF! di mana pun nama itu muncul dalam formula. Jalankan Data → Named ranges dan periksa referensi yang rusak sebelum setiap serah terima model. Prosesnya hanya 2 menit dan menghindarkan Anda dari pertanyaan CFO yang memalukan.

Batas 500 rentang. Terdengar banyak, sampai Anda membangun konsolidasi multi-entitas dengan flag skenario, kurs FX, dan asumsi berbasis driver per unit bisnis. Pada titik itu, pertimbangkan memberi prefiks berdasarkan entitas (CO1_WACC, CO2_WACC) dan terima bahwa navigasinya memerlukan filter Name Box, bukan hafalan.

Apps Script: Mengelola Named Ranges Secara Programatik

Jika Anda membangun template model yang digandakan dan diisi setiap kuartal, mendefinisikan 30 named ranges secara manual setiap kali bukan pilihan yang efisien. Fungsi Apps Script singkat berikut menanganinya secara otomatis:

function defineModelNamedRanges() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const assumptions = ss.getSheetByName('Assumptions');

  // Pemetaan nama ke notasi A1 di tab Assumptions
  const ranges = {
    'WACC':               'C4',
    'TerminalGrowthRate': 'C5',
    'TaxRate':            'C6',
    'RevenueBase':        'C7',
    'EBITDAMultiple':     'C8',
    'HoldPeriod':         'C9',
    'PeriodStart':        'C12',
    'PeriodEnd':          'C13'
  };

  // Hapus named ranges yang sudah ada sebelum mendefinisikan ulang (hindari duplikat)
  ss.getNamedRanges().forEach(nr => {
    if (ranges[nr.getName()]) nr.remove();
  });

  // Buat named ranges baru
  Object.entries(ranges).forEach(([name, cell]) => {
    ss.setNamedRange(name, assumptions.getRange(cell));
  });
}

Tempel kode ini di Extensions → Apps Script, jalankan sekali, dan semua 8 named ranges langsung aktif. Pendekatan ini sangat berguna untuk tim yang menyiapkan file model baru setiap kuartal tanpa harus mengulang proses setup secara manual.

Membangun Board Pack dengan Named Ranges

Contoh nyata: board pack kuartalan, satu file model dengan P&L, Cash Flow, KPI, dan tab Executive Summary. Tab ringkasan perlu menarik 12 sel dari seluruh model tanpa ruang untuk kesalahan formula.

Dengan named ranges, tab ringkasan menjadi sangat mudah diaudit:

// Tab Executive Summary - Board Pack
B5:  =RevenueActual                    // Rp 65 miliar
B6:  =RevenueActual/RevenueBudget - 1  // varians vs. anggaran
B7:  =GrossMarginPct                   // 38,5%
B8:  =EBITDAActual                     // Rp 17 miliar
B9:  =EBITDAActual/RevenuePlan         // margin 26,2%
B10: =RunwayCurrent                    // 14 bulan

Seorang reviewer bisa memvalidasi setiap baris ke sumbernya dalam kurang dari 5 menit. Dengan koordinat mentah, tinjauan yang sama memakan waktu 20 menit dan membuka peluang kesalahan manusia.

Untuk sensitivitas runway, yaitu kecepatan rekrutmen terhadap burn rate saat ini, input tabel sensitivitas diberi nama HiringScenario_Low, HiringScenario_Mid, dan HiringScenario_High, sementara output sensitivitas menarik dari RunwayCurrent. Mengganti skenario berarti mengubah nilai 1 sel, bukan merombak ulang 3 SUMIFS.

FAQ: Named Ranges di Google Sheets

Berapa batas jumlah named ranges di Google Sheets? Google Sheets mendukung hingga 500 named ranges per spreadsheet. Untuk model konsolidasi multi-entitas yang mendekati batas ini, gunakan prefiks nama berdasarkan entitas (misalnya CO1_WACC, CO2_WACC) agar tetap terorganisir.

Apakah named ranges di Google Sheets bisa digunakan lintas tab? Ya. Named range yang didefinisikan tanpa batasan scope bisa dipanggil dari tab mana pun dalam file yang sama cukup dengan mengetik =NamaRange. Ini adalah salah satu keunggulan utama named ranges dibanding referensi koordinat biasa untuk model multi-tab.

Apa perbedaan named ranges dan structured table references di Google Sheets? Named ranges paling efektif untuk asumsi satu sel dan konstanta yang dirujuk di banyak tempat. Structured table references (sintaks Table1[Kolom]) lebih unggul untuk data transaksi berbentuk kolom yang jumlah barisnya terus bertambah karena rentangnya meluas secara otomatis. Keduanya saling melengkapi, bukan saling menggantikan.

Apa yang terjadi pada named range jika sel sumbernya dihapus? Named range akan mengarah ke error #REF! di seluruh formula yang menggunakannya. Selalu periksa panel Data → Named ranges dan verifikasi referensi sebelum menyerahkan file model ke pihak lain.

Apakah named ranges memperlambat Google Sheets? Tidak secara langsung. Yang memperlambat kalkulasi adalah referensi kolom terbuka seperti A:A dalam SUMIFS pada sheet berisi puluhan ribu baris. Named range yang mengarah ke rentang terbatas (misalnya C2:C1000) justru membantu performa karena membatasi area yang perlu dihitung ulang.

Bisakah named ranges dibuat secara otomatis dengan Apps Script? Ya, menggunakan metode SpreadsheetApp.getActiveSpreadsheet().setNamedRange(nama, rentang). Pendekatan ini ideal untuk template model yang digandakan setiap kuartal sehingga tidak perlu mendefinisikan ulang named ranges secara manual setiap kali.

Ringkasan

Named ranges adalah jaringan penghubung dari setiap model multi-tab yang serius. Gunakan untuk setiap konstanta, asumsi, dan driver satu sel. Gunakan structured Table references untuk data transaksi berbentuk kolom yang terus bertambah. Tentukan scope secara eksplisit pada model skenario. Periksa referensi yang rusak sebelum setiap serah terima. Dengan 20 hingga 30 named ranges yang dinamai dengan baik, logika model menjadi bisa dibaca oleh siapa pun di tim tanpa perlu panduan formula.

Coba ModelMonkey gratis selama 14 hari - tersedia untuk Google Sheets dan Excel.