Formula Excel: Senaraikan nama helaian dengan formula -

Formula generik

=GET.WORKBOOK(1)&T(NOW())

Ringkasan

Untuk menyenaraikan lembaran kerja dalam buku kerja Excel, anda boleh menggunakan pendekatan 2 langkah: (1) tentukan julat bernama yang disebut "lembaran nama" dengan perintah makro lama dan (2) gunakan fungsi INDEX untuk mengambil nama lembaran menggunakan julat bernama. Dalam contoh yang ditunjukkan, formula dalam B5 adalah:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Catatan: Saya menemui formula ini di papan pesanan MrExcel dalam catatan oleh T. Valko.

Penjelasan

Julat bernama "nama lembaran" dibuat dengan kod ini:

=GET.WORKBOOK(1)&T(NOW())

GET.WORKBOOK adalah arahan makro yang mengambil pelbagai nama lembaran dalam buku kerja semasa. Susunan yang dihasilkan kelihatan seperti ini:

("(workbook.xlsm)Sheet1","(workbook.xlsm)Sheet2","(workbook.xlsm)Sheet3","(workbook.xlsm)Sheet4","(workbook.xlsm)Sheet5")

Ungkapan samar digabungkan dengan hasilnya:

&T(NOW())

Tujuan kod ini adalah untuk memaksa pengiraan semula untuk mengambil perubahan pada nama helaian. Kerana SEKARANG adalah fungsi yang tidak stabil, ia dikira semula dengan setiap perubahan lembaran kerja. Fungsi SEKARANG mengembalikan nilai angka yang menunjukkan tarikh dan waktu. Fungsi T mengembalikan tali kosong ("") untuk nilai angka, jadi penggabungan tidak mempengaruhi nilai.

Kembali ke lembaran kerja, sel B6 mengandungi formula ini yang disalin ke bawah:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Berfungsi dari dalam ke luar, fungsi MID digunakan untuk membuang nama lembaran kerja. Susunan yang dihasilkan kelihatan seperti ini:

("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5")

Ini masuk ke fungsi INDEX sebagai "array". Fungsi ROW menggunakan julat yang berkembang untuk menghasilkan nombor baris yang bertambah. Pada setiap baris baru, INDEX mengembalikan nilai array seterusnya. Apabila tidak ada lagi nama lembaran yang akan dikeluarkan, formula akan mengembalikan ralat #REF.

Catatan: kerana formula ini bergantung pada perintah makro, anda perlu menyimpan sebagai buku kerja yang diaktifkan makro jika anda mahu formula terus mengemas kini nama lembaran setelah fail ditutup dan dibuka semula. Sekiranya anda menyimpan sebagai lembaran kerja biasa, kod nama lembaran akan dilucutkan.

Pautan yang baik

Catatan forum Mr. Excel oleh T. Valko

Artikel menarik...