Isi kandungan
Dalam tutorial ini, anda akan belajar cara mencipta julat bernama dinamik dalam Excel dan cara menggunakannya dalam formula untuk memasukkan data baharu dalam pengiraan secara automatik.
Dalam minggu lepas tutorial, kami melihat cara yang berbeza untuk menentukan julat bernama statik dalam Excel. Nama statik sentiasa merujuk kepada sel yang sama, bermakna anda perlu mengemas kini rujukan julat secara manual apabila anda menambah baharu atau mengalih keluar data sedia ada.
Jika anda menggunakan set data yang sentiasa berubah, anda mungkin mahu jadikan julat nama anda dinamik supaya ia berkembang secara automatik untuk menampung entri yang baru ditambah atau kontrak untuk mengecualikan data yang dialih keluar. Selanjutnya dalam tutorial ini, anda akan menemui panduan langkah demi langkah terperinci tentang cara melakukan ini.
Cara membuat julat bernama dinamik dalam Excel
Untuk sebagai permulaan, mari kita bina julat bernama dinamik yang terdiri daripada satu lajur dan bilangan baris yang berubah-ubah. Untuk melakukannya, lakukan langkah berikut:
- Pada tab Formula , dalam kumpulan Nama Ditentukan , klik Tentukan Nama . Atau, tekan Ctrl + F3 untuk membuka Pengurus Nama Excel dan klik butang Baharu… .
- Walau apa pun, kotak dialog Nama Baharu akan dibuka, di mana anda nyatakan butiran berikut:
- Dalam kotak Nama , taipkan nama untuk julat dinamik anda.
- Dalam lungsur turun Skop , tetapkan skop nama. Buku kerja (lalai) disyorkan dalam kebanyakankes.
- Dalam kotak Merujuk kepada , masukkan formula OFFSET COUNTA atau INDEX COUNTA.
- Klik OK. Selesai!
Dalam tangkapan skrin berikut, kami mentakrifkan julat bernama dinamik item yang memuatkan semua sel dengan data dalam lajur A, kecuali baris pengepala :
Formula OFFSET untuk mentakrifkan julat bernama dinamik Excel
Formula generik untuk membuat julat bernama dinamik dalam Excel adalah seperti berikut:
OFFSET ( sel_pertama, 0, 0, COUNTA( lajur), 1)Di mana:
- sel_pertama - yang pertama item yang akan disertakan dalam julat dinamakan, contohnya $A$2.
- lajur - rujukan mutlak kepada lajur seperti $A:$A.
Pada teras formula ini, anda menggunakan fungsi COUNTA untuk mendapatkan bilangan sel bukan kosong dalam lajur yang diminati. Nombor itu pergi terus ke argumen height bagi fungsi OFFSET(reference, rows, cols, [height], [width]) memberitahunya berapa banyak baris yang perlu dikembalikan.
Selain itu, ia ialah formula Offset biasa, di mana:
- rujukan ialah titik permulaan yang anda asaskan offset (sel_pertama).
- baris dan kol kedua-duanya adalah 0, kerana tiada lajur atau baris untuk diimbangi.
- lebar adalah sama dengan 1 lajur.
Sebagai contoh, untuk membina julat bernama dinamik untuk lajur A dalam Helaian3, bermula dalam sel A2, kami menggunakan formula ini:
=OFFSET(Sheet3!$A$2, 0, 0, COUNTA(Sheet3!$A:$A), 1)
Nota. Jika anda mentakrifkanjulat dinamik dalam lembaran kerja semasa, anda tidak perlu memasukkan nama helaian dalam rujukan, Excel akan melakukannya untuk anda secara automatik. Jika anda sedang membina julat untuk beberapa helaian lain, awalan sel atau rujukan julat dengan nama helaian diikuti dengan tanda seru (seperti dalam contoh formula di atas).
Formula INDEKS untuk membuat julat bernama dinamik dalam Excel
Cara lain untuk mencipta julat dinamik Excel ialah menggunakan COUNTA dalam kombinasi dengan fungsi INDEX.
sel_pertama:INDEX( lajur,COUNTA( lajur))Formula ini terdiri daripada dua bahagian:
- Di sebelah kiri pengendali julat (:), anda meletakkan rujukan permulaan berkod keras seperti $A$2 .
- Di sebelah kanan, anda menggunakan fungsi INDEX(array, row_num, [column_num]) untuk mengetahui rujukan penamat. Di sini, anda membekalkan keseluruhan lajur A untuk tatasusunan dan menggunakan COUNTA untuk mendapatkan nombor baris (iaitu bilangan sel bukan masukan dalam lajur A).
Untuk set data sampel kami (sila lihat tangkapan skrin di atas), formulanya adalah seperti berikut:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
Memandangkan terdapat 5 sel bukan kosong dalam lajur A, termasuk pengepala lajur, COUNTA mengembalikan 5. Akibatnya, INDEX mengembalikan $A $5, yang merupakan sel terakhir digunakan dalam lajur A (biasanya formula Indeks mengembalikan nilai, tetapi pengendali rujukan memaksanya untuk mengembalikan rujukan). Dan kerana kami telah menetapkan $A$2 sebagai titik permulaan, keputusan akhir bagiformula ialah julat $A$2:$A$5.
Untuk menguji julat dinamik yang baru dibuat, anda boleh meminta COUNTA mengambil kiraan item:
=COUNTA(Items)
Jika semuanya dilakukan dengan betul, hasil formula akan berubah sebaik sahaja anda menambah atau mengalih keluar item ke/daripada senarai:
Nota. Kedua-dua formula yang dibincangkan di atas menghasilkan hasil yang sama, namun terdapat perbezaan dalam prestasi yang perlu anda ketahui. OFFSET ialah fungsi yang tidak menentu yang mengira semula dengan setiap perubahan pada helaian. Pada mesin moden yang berkuasa dan set data bersaiz munasabah, ini tidak sepatutnya menjadi masalah. Pada mesin berkapasiti rendah dan set data yang besar, ini mungkin melambatkan Excel anda. Dalam kes itu, lebih baik anda menggunakan formula INDEX untuk mencipta julat bernama dinamik.
Cara membuat julat dinamik dua dimensi dalam Excel
Untuk membina julat bernama dua dimensi, apabila bukan sahaja bilangan baris tetapi juga bilangan lajur adalah dinamik, gunakan pengubahsuaian formula INDEX COUNTA berikut:
first_cell:INDEX($1:$1048576, COUNTA( first_column), COUNTA( baris_pertama)))Dalam formula ini, anda mempunyai dua fungsi COUNTA untuk mendapatkan baris bukan kosong terakhir dan lajur bukan kosong terakhir ( nombor_baris dan column_num argumen bagi fungsi INDEX, masing-masing). Dalam hujah array , anda menyuapkan keseluruhan lembaran kerja (1048576 baris dalam Excel 2016 - 2007; 65535 baris dalam Excel 2003 dan lebih rendah).
Dan sekarang,mari kita tentukan satu lagi julat dinamik untuk set data kami: julat bernama jualan yang merangkumi angka jualan selama 3 bulan (Jan hingga Mac) dan melaraskan secara automatik semasa anda menambah item baharu (baris) atau bulan (lajur) ke jadual.
Dengan data jualan bermula dalam lajur B, baris 2, formula mengambil bentuk berikut:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Untuk memastikan julat dinamik anda berfungsi seperti yang sepatutnya, masukkan formula berikut di suatu tempat pada helaian:
=SUM(sales)
=SUM(B2:D5)
Seperti yang anda boleh lihat dalam tangkapan skrin di bawah , kedua-dua formula mengembalikan jumlah yang sama. Perbezaannya terserlah apabila anda menambah entri baharu pada jadual: formula pertama (dengan julat dinamakan dinamik) akan dikemas kini secara automatik, manakala yang kedua perlu dikemas kini secara manual dengan setiap perubahan. Itu membuat perbezaan yang besar, eh?
Cara menggunakan julat bernama dinamik dalam formula Excel
Dalam bahagian sebelumnya tutorial ini, anda telah melihat beberapa formula ringkas yang menggunakan julat dinamik. Sekarang, mari cuba buat sesuatu yang lebih bermakna yang menunjukkan nilai sebenar julat bernama dinamik Excel.
Untuk contoh ini, kita akan mengambil formula PADANAN INDEX klasik yang melaksanakan Vlookup dalam Excel:
INDEX ( return_range, MATCH ( lookup_value, lookup_range, 0))
…dan lihat bagaimana kami boleh menjadikan formula lebih berkuasa dengan penggunaanjulat bernama dinamik.
Seperti yang ditunjukkan dalam tangkapan skrin di atas, kami sedang cuba membina papan pemuka, di mana pengguna memasukkan nama item dalam H1 dan mendapat jumlah jualan untuk item tersebut dalam H2. Jadual sampel kami yang dibuat untuk tujuan demonstrasi mengandungi hanya 4 item, tetapi dalam helaian kehidupan sebenar anda boleh terdapat ratusan malah beribu-ribu baris. Tambahan pula, item baharu boleh ditambah setiap hari, jadi menggunakan rujukan bukan pilihan, kerana anda perlu mengemas kini formula berulang kali. Saya terlalu malas untuk itu! :)
Untuk memaksa formula berkembang secara automatik, kami akan mentakrifkan 3 nama: 2 julat dinamik dan 1 sel bernama statik:
Julat_Lookup: =$A$2:INDEX($ A:$A, COUNTA($A:$A))
Julat_pulangan: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Lookup_value: =$H$1
Nota. Excel akan menambah nama helaian semasa pada semua rujukan, jadi sebelum mencipta nama pastikan anda membuka helaian dengan data sumber anda.
Sekarang, mula menaip formula dalam H1. Apabila ia datang kepada hujah pertama, taip beberapa aksara nama yang anda mahu gunakan dan Excel akan menunjukkan semua nama sepadan yang tersedia. Klik dua kali pada nama yang sesuai dan Excel akan memasukkannya ke dalam formula serta-merta:
Formula yang lengkap kelihatan seperti berikut:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Dan berfungsi dengan sempurna!
Sebaik sahaja anda menambah rekod baharu pada jadual, ia akan disertakan dalam pengiraan anda disekali, tanpa anda perlu membuat satu perubahan pun pada formula! Dan jika anda perlu mengalihkan formula ke fail Excel yang lain, cuma buat nama yang sama dalam buku kerja destinasi, salin/tampal formula dan pastikan ia berfungsi dengan segera.
Petua. Selain daripada menjadikan formula lebih tahan lama, julat dinamik amat berguna untuk membuat senarai lungsur turun dinamik.
Beginilah cara anda membuat dan menggunakan julat bernama dinamik dalam Excel. Untuk melihat dengan lebih dekat formula yang dibincangkan dalam tutorial ini, anda dialu-alukan untuk memuat turun contoh Buku Kerja Julat Dinamik Dinamik Excel kami. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!