Fungsi OFFSET Excel - contoh dan penggunaan rumus

  • Bagikan Ini
Michael Brown

Dalam tutorial ini, kita akan menjelaskan salah satu penghuni paling misterius di alam semesta Excel - fungsi OFFSET.

Jadi, apa itu OFFSET di Excel? Singkatnya, rumus OFFSET mengembalikan referensi ke rentang yang diimbangi dari sel awal atau rentang sel dengan jumlah baris dan kolom tertentu.

Fungsi OFFSET mungkin agak rumit untuk didapatkan, jadi mari kita bahas penjelasan teknis singkat terlebih dahulu (saya akan melakukan yang terbaik untuk membuatnya tetap sederhana) dan kemudian kita akan membahas beberapa cara paling efisien untuk menggunakan OFFSET di Excel.

    Fungsi OFFSET Excel - sintaks dan penggunaan dasar

    Fungsi OFFSET di Excel mengembalikan sel atau rentang sel yang merupakan sejumlah baris dan kolom tertentu dari sel atau rentang tertentu.

    Sintaks dari fungsi OFFSET adalah sebagai berikut:

    OFFSET(referensi, baris, cols, [tinggi], [lebar])

    3 argumen pertama diperlukan dan 2 argumen terakhir bersifat opsional. Semua argumen dapat berupa referensi ke sel lain atau hasil yang dikembalikan oleh rumus lain.

    Sepertinya Microsoft berupaya keras untuk memberikan makna pada nama parameter, dan mereka memberikan petunjuk tentang apa yang seharusnya Anda tentukan di masing-masing parameter.

    Argumen yang diperlukan:

    • Referensi - sel atau rentang sel yang berdekatan dari mana Anda mendasarkan offset. Anda bisa menganggapnya sebagai titik awal.
    • Baris - Jumlah baris yang akan dipindahkan dari titik awal, ke atas atau ke bawah. Jika baris adalah angka positif, rumus bergerak di bawah referensi awal, jika angka negatif, rumus bergerak di atas referensi awal.
    • Cols - Jumlah kolom yang Anda inginkan agar rumus bergerak dari titik awal. Seperti halnya baris, cols bisa positif (ke kanan referensi awal) atau negatif (ke kiri referensi awal).

    Argumen opsional:

    • Tinggi - jumlah baris yang akan dikembalikan.
    • Lebar - jumlah kolom yang akan dikembalikan.

    Baik argumen tinggi dan lebar harus selalu berupa angka positif. Jika salah satu dihilangkan, maka secara default akan menjadi tinggi atau lebar dari referensi .

    Catatan. OFFSET adalah fungsi yang mudah menguap dan dapat memperlambat lembar kerja Anda. Kelambatan berbanding lurus dengan jumlah sel yang dihitung ulang.

    Dan sekarang, mari kita ilustrasikan teorinya dengan contoh rumus OFFSET yang paling sederhana.

    Contoh rumus OFFSET Excel

    Berikut adalah contoh rumus OFFSET sederhana yang mengembalikan referensi sel berdasarkan titik awal, baris, dan kolom yang Anda tentukan:

    =OFFSET(A1,3,1)

    Rumusnya memberi tahu Excel untuk mengambil sel A1 sebagai titik awal (referensi), lalu memindahkan 3 baris ke bawah (argumen baris) dan 1 kolom ke kiri (argumen cols). Hasilnya, rumus OFFSET ini mengembalikan nilai di sel B4.

    Gambar di sebelah kiri menunjukkan rute fungsi dan tangkapan layar di sebelah kanan menunjukkan bagaimana Anda dapat menggunakan rumus OFFSET pada data kehidupan nyata. Satu-satunya perbedaan antara kedua rumus tersebut adalah bahwa rumus kedua (di sebelah kanan) menyertakan referensi sel (E1) dalam argumen baris. Tetapi karena sel E1 berisi angka 3, dan angka yang persis sama muncul di argumen baris rumus pertama,keduanya akan mengembalikan hasil yang identik - nilai di B4.

    Rumus OFFSET Excel - hal-hal yang perlu diingat

    • Fungsi OFFSET adalah Excel tidak benar-benar memindahkan sel atau rentang apa pun, ini hanya mengembalikan referensi.
    • Saat rumus OFFSET mengembalikan rentang sel, argumen baris dan cols selalu merujuk ke sel kiri atas dalam kemarahan yang dikembalikan.
    • Argumen referensi harus menyertakan sel atau rentang sel yang berdekatan, jika tidak, rumusmu akan mengembalikan error #VALUE!
    • Jika baris dan / atau kolom yang ditentukan memindahkan referensi ke tepi spreadsheet, rumus OFFSET Excel Anda akan mengembalikan kesalahan #REF!
    • Fungsi OFFSET dapat digunakan dalam fungsi Excel lainnya yang menerima referensi sel / rentang dalam argumennya.

    Contohnya, jika Anda mencoba menggunakan rumus =OFFSET(A1,3,1,1,1,3) sendiri, ia akan melempar kesalahan #VALUE!, karena rentang untuk mengembalikan (1 baris, 3 kolom) tidak cocok dengan satu sel. Namun, jika Anda menyematkannya ke dalam fungsi SUM, seperti ini:

    =SUM(OFFSET(A1,3,1,1,3))

    Rumus akan mengembalikan jumlah nilai dalam rentang 1 baris kali 3 kolom yang berada 3 baris di bawah dan 1 kolom di sebelah kanan sel A1, yaitu total nilai dalam sel B4: D4.

    Mengapa saya menggunakan OFFSET di Excel?

    Sekarang, setelah Anda mengetahui apa yang dilakukan fungsi OFFSET, Anda mungkin bertanya pada diri sendiri, "Mengapa harus repot-repot menggunakannya?" Mengapa tidak menulis referensi langsung seperti B4:D4?

    Rumus OFFSET Excel sangat bagus untuk:

    Menciptakan rentang dinamis : Referensi seperti B1: C4 bersifat statis, artinya selalu mengacu pada rentang tertentu. Tetapi beberapa tugas lebih mudah dilakukan dengan rentang dinamis. Ini terutama terjadi ketika Anda bekerja dengan data yang berubah, misalnya Anda memiliki lembar kerja di mana baris atau kolom baru ditambahkan setiap minggu.

    Mendapatkan kisaran dari sel awal Terkadang, Anda mungkin tidak mengetahui alamat sebenarnya dari rentang tersebut, meskipun Anda tahu itu dimulai dari sel tertentu. Dalam skenario seperti itu, menggunakan OFFSET di Excel adalah cara yang tepat.

    Cara menggunakan fungsi OFFSET di Excel - contoh rumus

    Saya harap Anda tidak bosan dengan teori sebanyak itu. Bagaimanapun, sekarang kita sampai ke bagian yang paling menarik - penggunaan praktis dari fungsi OFFSET.

    Fungsi OFFSET dan SUM Excel

    Contoh yang kita bahas beberapa saat yang lalu menunjukkan penggunaan paling sederhana dari OFFSET & SUM. Sekarang, mari kita lihat fungsi-fungsi ini dari sudut pandang yang lain dan melihat apa lagi yang dapat mereka lakukan.

    Contoh 1. Rumus SUM / OFFSET dinamis

    Saat bekerja dengan lembar kerja yang terus diperbarui, Anda mungkin ingin memiliki rumus SUM yang secara otomatis mengambil semua baris yang baru ditambahkan.

    Misalkan, Anda memiliki data sumber yang mirip dengan apa yang Anda lihat pada gambar di bawah ini. Setiap bulan baris baru ditambahkan tepat di atas rumus SUM, dan tentu saja, Anda ingin memasukkannya ke dalam totalnya. Secara keseluruhan, ada dua pilihan - memperbarui rentang dalam rumus SUM setiap kali secara manual atau meminta rumus OFFSET melakukan ini untuk Anda.

    Karena sel pertama dari rentang yang akan dijumlahkan akan ditentukan langsung dalam rumus SUM, Anda hanya perlu memutuskan parameter untuk fungsi OFFSET Excel, yang akan mendapatkan sel terakhir dari rentang tersebut:

    • Referensi - sel yang berisi total, B9 dalam kasus kita.
    • Baris - sel tepat di atas total, yang membutuhkan angka negatif -1.
    • Cols - itu 0 karena Anda tidak ingin mengubah kolom.

    Jadi, ini dia pola rumus SUM / OFFSET:

    =SUM( sel pertama :(OFFSET( sel dengan total , -1,0)

    Diubah untuk contoh di atas, rumusnya terlihat sebagai berikut:

    =SUM(B2:(OFFSET(B9, -1, 0)))

    Dan seperti yang ditunjukkan dalam tangkapan layar di bawah ini, ini bekerja dengan sempurna:

    Contoh 2. Rumus OFFSET Excel untuk menjumlahkan N baris terakhir

    Dalam contoh di atas, misalkan Anda ingin mengetahui jumlah bonus untuk bulan ke-N terakhir, bukan total keseluruhan. Anda juga ingin rumus tersebut secara otomatis menyertakan baris baru yang Anda tambahkan ke sheet.

    Untuk tugas ini, kita akan menggunakan Excel OFFSET dalam kombinasi dengan fungsi SUM dan COUNT / COUNTA:

    =SUM(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    atau

    =SUM(OFFSET(B1,COUNTA(B:B)-E1,0,E1,1))

    Detail berikut ini bisa membantu Anda memahami rumus-rumus dengan lebih baik:

    • Referensi - header kolom yang nilainya ingin Anda jumlahkan, sel B1 dalam contoh ini.
    • Baris - untuk menghitung jumlah baris yang akan diimbangi, Anda menggunakan fungsi COUNT atau COUNTA.

      COUNT mengembalikan jumlah sel di kolom B yang berisi angka, dari mana Anda mengurangi N bulan terakhir (angkanya adalah sel E1), dan menambahkan 1.

      Jika COUNTA adalah fungsi pilihan Anda, Anda tidak perlu menambahkan 1, karena fungsi ini menghitung semua cell yang tidak kosong, dan baris header dengan nilai teks menambahkan cell ekstra yang dibutuhkan formula kita. Harap dicatat bahwa formula ini akan bekerja dengan benar hanya pada struktur tabel yang serupa - satu baris header diikuti oleh baris dengan angka. Untuk tata letak tabel yang berbeda, Anda mungkin perlu melakukan beberapa penyesuaian diRumus OFFSET/COUNTA.

    • Cols - jumlah kolom yang akan diimbangi adalah nol (0).
    • Tinggi - jumlah baris yang akan dijumlahkan ditentukan dalam E1.
    • Lebar - 1 kolom.

    Menggunakan fungsi OFFSET dengan AVERAGE, MAX, MIN

    Dengan cara yang sama seperti kita menghitung bonus untuk N bulan terakhir, Anda bisa mendapatkan rata-rata dari N hari, minggu atau tahun terakhir serta menemukan nilai maksimum atau minimumnya. Satu-satunya perbedaan antara rumus-rumus ini adalah nama fungsi pertama:

    =RATA-RATA(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MAX(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MIN(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    Manfaat utama dari rumus ini dibandingkan AVERAGE(B5:B8) atau MAX(B5:B8) yang biasa adalah Anda tidak perlu memperbarui rumus setiap kali tabel sumber Anda diperbarui. Tidak peduli berapa banyak baris baru yang ditambahkan atau dihapus di lembar kerja Anda, rumus OFFSET akan selalu merujuk ke jumlah sel terakhir (paling bawah) yang ditentukan di kolom.

    Rumus OFFSET Excel untuk membuat rentang dinamis

    Digunakan bersama dengan COUNTA, fungsi OFFSET dapat membantu Anda membuat rentang dinamis yang mungkin terbukti berguna dalam banyak skenario, misalnya untuk membuat daftar drop-down yang dapat diperbarui secara otomatis.

    Rumus OFFSET untuk rentang dinamis adalah sebagai berikut:

    =OFFSET(Sheet_Name!$A$1, 0, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Di jantung rumus ini, Anda menggunakan fungsi COUNTA untuk mendapatkan jumlah sel yang tidak kosong di kolom target. Angka itu masuk ke argumen tinggi OFFSET yang menginstruksikan berapa banyak baris yang akan dikembalikan.

    Selain itu, ini adalah rumus Offset biasa, di mana:

    • Referensi adalah titik awal dari mana Anda mendasarkan offset, misalnya Sheet1!$A$1.
    • Baris dan Cols keduanya 0 karena tidak ada kolom atau baris yang harus diimbangi.
    • Lebar adalah 1 kolom.

    Catatan. Jika Anda membuat rentang dinamis di lembar saat ini, tidak perlu menyertakan nama lembar di referensi, Excel akan melakukannya untuk Anda secara otomatis saat membuat rentang bernama. Jika tidak, pastikan untuk menyertakan nama sheet diikuti dengan tanda seru seperti dalam contoh rumus ini.

    Setelah Anda membuat rentang bernama dinamis dengan rumus OFFSET di atas, Anda dapat menggunakan Validasi Data untuk membuat daftar tarik-turun dinamis yang akan diperbarui secara otomatis segera setelah Anda menambahkan atau menghapus item dari daftar sumber.

    Untuk panduan langkah demi langkah mendetail tentang membuat daftar drop-down di Excel, silakan lihat tutorial berikut:

    • Membuat daftar drop-down di Excel - statis, dinamis, dari buku kerja lain
    • Membuat daftar drop-down dependen

    Excel OFFSET &; VLOOKUP

    Seperti yang diketahui semua orang, pencarian vertikal dan horizontal sederhana dilakukan dengan fungsi VLOOKUP atau HLOOKUP. Namun, fungsi-fungsi ini memiliki terlalu banyak batasan dan sering tersandung dalam rumus pencarian yang lebih kuat dan kompleks. Jadi, untuk melakukan pencarian yang lebih canggih di tabel Excel Anda, Anda harus mencari alternatif seperti INDEX, MATCH dan OFFSET.

    Contoh 1. Rumus OFFSET untuk Vlookup kiri di Excel

    Salah satu batasan yang paling terkenal dari fungsi VLOOKUP adalah ketidakmampuan untuk melihat di sebelah kirinya, yang berarti bahwa VLOOKUP hanya dapat mengembalikan nilai di sebelah kanan kolom pencarian.

    Dalam tabel pencarian sampel kita, terdapat dua kolom - nama bulan (kolom A) dan bonus (kolom B). Jika kamu ingin mendapatkan bonus untuk bulan tertentu, rumus VLOOKUP sederhana ini akan bekerja tanpa hambatan:

    =VLOOKUP(B1, A5:B11, 2, FALSE)

    Namun demikian, segera setelah Anda menukar kolom-kolom dalam tabel lookup, ini akan langsung menghasilkan error #N/A:

    Untuk menangani pencarian sisi kiri, Anda memerlukan fungsi yang lebih serbaguna yang tidak terlalu peduli di mana kolom yang dikembalikan berada. Salah satu solusi yang mungkin adalah menggunakan kombinasi fungsi INDEX dan MATCH. Pendekatan lain adalah menggunakan OFFSET, MATCH dan ROWS:

    OFFSET ( lookup_table , MATCH( lookup_value , OFFSET( lookup_table , 0, lookup_col_offset , BARIS ( lookup_table ), 1) ,0) -1, return_col_offset , 1, 1)

    Di mana:

    • Lookup_col_offset - adalah jumlah kolom yang akan dipindahkan dari titik awal ke kolom pencarian.
    • Return_col_offset - adalah jumlah kolom yang harus dipindahkan dari titik awal ke kolom kembali.

    Dalam contoh kita, tabel pencarian adalah A5: B9 dan nilai pencarian ada di sel B1, offset kolom pencarian adalah 1 (karena kita mencari nilai pencarian di kolom kedua (B), kita perlu memindahkan 1 kolom ke kanan dari awal tabel), offset kolom kembali adalah 0 karena kita mengembalikan nilai dari kolom pertama (A):

    =OFFSET(A5:B9, MATCH(B1, OFFSET(A5:B9, 0, 1, ROWS(A5:B9), 1) ,0) -1, 0, 1, 1)

    Saya tahu formulanya terlihat agak kikuk, tetapi memang berhasil :)

    Contoh 2. Bagaimana melakukan pencarian atas di Excel

    Seperti halnya dengan VLOOKUP yang tidak dapat melihat ke kiri, pasangan horizontalnya - fungsi HLOOKUP - tidak dapat melihat ke atas untuk mengembalikan nilai.

    Jika Anda perlu memindai baris atas untuk kecocokan, rumus OFFSET MATCH dapat membantu lagi, tetapi kali ini Anda harus menyempurnakannya dengan fungsi COLUMNS, seperti ini:

    OFFSET ( lookup_table , return_row_offset , MATCH( lookup_value , OFFSET( lookup_table , lookup_row_offset , 0, 1, KOLOM( lookup_table )), 0) -1, 1, 1)

    Di mana:

    • Lookup_row_offset - jumlah baris yang akan dipindahkan dari titik awal ke baris pencarian.
    • Return_row_offset - jumlah baris yang akan dipindahkan dari titik awal ke baris kembali.

    Dengan mengasumsikan bahwa tabel pencarian adalah B4:F5 dan nilai pencarian berada di sel B1, rumusnya adalah sebagai berikut:

    =OFFSET(B4:F5, 0, MATCH(B1, OFFSET(B4:F5, 1, 0, 1, KOLOM(B4:F5)), 0) -1, 1, 1)

    Dalam kasus kita, offset baris pencarian adalah 1 karena rentang pencarian kita adalah 1 baris ke bawah dari titik awal, offset baris kembali adalah 0 karena kita mengembalikan kecocokan dari baris pertama dalam tabel.

    Contoh 3. Pencarian dua arah (berdasarkan nilai kolom dan baris)

    Pencarian dua arah mengembalikan nilai berdasarkan kecocokan di baris dan kolom. Dan Anda dapat menggunakan rumus larik pencarian ganda berikut untuk menemukan nilai di persimpangan baris dan kolom tertentu:

    =OFFSET( tabel pencarian , MATCH( nilai pencarian baris , OFFSET( tabel pencarian 0, 0, 0, BARIS( tabel pencarian ), 1), 0) -1, MATCH( nilai pencarian kolom , OFFSET( tabel pencarian , 0, 0, 1, KOLOM( tabel pencarian )), 0) -1)

    Mengingat hal itu:

    • Tabel pencarian adalah A5:G9
    • Nilai untuk mencocokkan pada baris ada di B2
    • Nilai yang akan dicocokkan pada kolom ada di B1

    Anda mendapatkan rumus pencarian dua dimensi berikut ini:

    =OFFSET(A5:G9, MATCH(B2, OFFSET(A5:G9, 0, 0, ROWS(A5:G9), 1), 0), 0)-1, MATCH(B1, OFFSET(A5:G9, 0, 0, 1, COLUMNS(A5:G9)), 0) -1)

    Ini bukan hal yang paling mudah diingat, bukan? Selain itu, ini adalah rumus array, jadi jangan lupa tekan Ctrl + Shift + Enter untuk memasukkannya dengan benar.

    Tentu saja, rumus OFFSET yang panjang ini bukan satu-satunya cara yang memungkinkan untuk melakukan pencarian ganda di Excel. Anda bisa mendapatkan hasil yang sama dengan menggunakan fungsi VLOOKUP & MATCH, SUMPRODUCT, atau INDEX & MATCH. Bahkan ada cara bebas rumus - menggunakan rentang bernama dan operator persimpangan (spasi). Tutorial berikut menjelaskan semua solusi alternatif secara lengkap: Cara melakukan pencarian dua arahpencarian di Excel.

    Fungsi OFFSET - keterbatasan dan alternatif

    Mudah-mudahan, contoh rumus di halaman ini telah menjelaskan cara menggunakan OFFSET di Excel. Namun, untuk memanfaatkan fungsi secara efisien di buku kerja Anda sendiri, Anda tidak hanya harus memiliki pengetahuan tentang kekuatannya, tetapi juga waspada terhadap kelemahannya.

    Batasan paling kritis dari fungsi OFFSET Excel adalah sebagai berikut:

    • Seperti fungsi-fungsi volatil lainnya, OFFSET adalah sebuah fungsi yang haus sumber daya Setiap kali ada perubahan dalam data sumber, rumus OFFSET Anda dihitung ulang, membuat Excel sibuk sedikit lebih lama. Ini bukan masalah untuk satu rumus dalam spreadsheet kecil. Tetapi jika ada lusinan atau ratusan rumus dalam buku kerja, Microsoft Excel mungkin membutuhkan waktu cukup lama untuk menghitung ulang.
    • Rumus OFFSET Excel adalah sulit untuk ditinjau Karena referensi yang dikembalikan oleh fungsi OFFSET bersifat dinamis, rumus besar (terutama dengan OFFSET bersarang) bisa sangat rumit untuk di-debug.

    Alternatif untuk menggunakan OFFSET di Excel

    Seperti yang sering terjadi di Excel, hasil yang sama dapat dicapai dengan sejumlah cara berbeda. Jadi, berikut adalah tiga alternatif elegan untuk OFFSET.

    1. Tabel Excel

      Sejak Excel 2002, kita memiliki fitur yang benar-benar luar biasa - tabel Excel yang lengkap, bukan rentang biasa. Untuk membuat tabel dari data terstruktur, Anda cukup mengklik Sisipkan> Tabel pada Rumah atau tekan Ctrl + T .

      Dengan memasukkan rumus dalam satu sel di tabel Excel, Anda bisa membuat apa yang disebut "kolom terhitung" yang secara otomatis menyalin rumus ke semua sel lain di kolom itu dan menyesuaikan rumus untuk setiap baris dalam tabel.

      Selain itu, formula apa pun yang merujuk ke data tabel secara otomatis menyesuaikan untuk menyertakan baris baru yang Anda tambahkan ke tabel atau mengecualikan baris yang Anda hapus. Secara teknis, formula semacam itu beroperasi pada kolom atau baris tabel, yaitu rentang dinamis Setiap tabel dalam buku kerja memiliki nama yang unik (nama defaultnya adalah Table1, Table2, dll.) dan Anda bebas mengganti nama tabel Anda melalui perintah Desain tab> Properti kelompok> Nama Tabel kotak teks.

      Tangkapan layar berikut ini mendemonstrasikan rumus SUM yang mengacu ke Bonus kolom Tabel3. Harap perhatikan bahwa rumus tersebut menyertakan tabel nama kolom daripada rentang sel.

    2. Fungsi INDEX Excel

      Meskipun tidak persis dengan cara yang sama seperti OFFSET, INDEX Excel juga dapat digunakan untuk membuat referensi rentang dinamis. Tidak seperti OFFSET, fungsi INDEX tidak mudah menguap, sehingga tidak akan memperlambat Excel Anda.

    3. Fungsi INDIRECT Excel

      Dengan menggunakan fungsi INDIRECT Anda dapat membuat referensi rentang dinamis dari banyak sumber seperti nilai sel, nilai sel dan teks, rentang bernama. Itu juga dapat secara dinamis merujuk ke lembar Excel atau buku kerja lain. Anda dapat menemukan semua contoh rumus ini di tutorial fungsi INDIRECT Excel kami.

    Apakah Anda ingat pertanyaan yang diajukan pada awal tutorial ini - Apa itu OFFSET di Excel? Saya harap sekarang Anda tahu jawabannya : ) Jika Anda ingin lebih banyak pengalaman langsung, silakan unduh buku kerja latihan kami (silakan lihat di bawah) yang berisi semua rumus yang dibahas di halaman ini dan merekayasa balik untuk pemahaman yang lebih dalam. Terima kasih telah membaca!

    Buku kerja latihan untuk diunduh

    Contoh rumus OFFSET (file .xlsx)

    Michael Brown adalah penggemar teknologi berdedikasi dengan hasrat untuk menyederhanakan proses kompleks menggunakan perangkat lunak. Dengan pengalaman lebih dari satu dekade di industri teknologi, dia telah mengasah keahliannya di Microsoft Excel dan Outlook, serta Google Spreadsheet dan Dokumen. Blog Michael didedikasikan untuk berbagi pengetahuan dan keahliannya dengan orang lain, memberikan tip dan tutorial yang mudah diikuti untuk meningkatkan produktivitas dan efisiensi. Apakah Anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan wawasan berharga dan saran praktis untuk mendapatkan hasil maksimal dari perangkat lunak penting ini.