Excel

Liệt kê tên trang tính với công thức

List Sheet Names With Formula

Công thức Excel: Liệt kê tên trang tính với công thứcCông thức chung
=GET.WORKBOOK(1)& T ( NOW ())
Tóm lược

Để liệt kê các trang tính trong sổ làm việc Excel, bạn có thể sử dụng cách tiếp cận 2 bước: (1) xác định phạm vi được đặt tên được gọi là 'tên trang tính' bằng một lệnh macro cũ và (2) sử dụng Hàm INDEX để truy xuất tên trang tính bằng cách sử dụng phạm vi đã đặt tên. Trong ví dụ được hiển thị, công thức trong B5 là:





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

Lưu ý: Tôi gặp phải công thức này trên bảng tin MrExcel trong một bài đăng của T. Valko .

phần trăm chênh lệch giữa hai số trong excel
Giải trình

Các phạm vi được đặt tên 'sheetnames' được tạo bằng mã này:





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

GET.WORKBOOK là một lệnh macro truy xuất một mảng tên trang tính trong sổ làm việc hiện tại. Mảng kết quả trông như thế này:

 
{'[workbook.xlsm]Sheet1','[workbook.xlsm]Sheet2','[workbook.xlsm]Sheet3','[workbook.xlsm]Sheet4','[workbook.xlsm]Sheet5'}

Một biểu thức khó hiểu được nối với kết quả:



 
& T ( NOW ())

Mục đích của mã này là buộc tính toán lại để nhận các thay đổi đối với tên trang tính. Vì NGAY BÂY GIỜ là một chức năng dễ bay hơi , nó sẽ tính toán lại với mọi thay đổi trang tính. Hàm NOW trả về một giá trị số đại diện cho ngày và giờ. Hàm T trả về một chuỗi trống ('') cho các giá trị số, vì vậy việc nối không ảnh hưởng đến các giá trị.

thêm tháng vào một ngày trong excel

Quay lại trang tính, ô B6 chứa công thức này được sao chép xuống:

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

Làm việc từ trong ra ngoài, Hàm MID được sử dụng để xóa tên trang tính . Mảng kết quả trông như thế này:

 
{'Sheet1','Sheet2','Sheet3','Sheet4','Sheet5'}

Điều này đi vào hàm INDEX dưới dạng 'mảng'. Hàm ROW sử dụng phạm vi mở rộng để tạo số hàng tăng dần. Tại mỗi hàng mới, INDEX trả về giá trị mảng tiếp theo. Khi không có thêm tên trang tính nào để xuất, công thức sẽ trả về lỗi #REF.

Lưu ý: vì công thức này dựa vào lệnh macro, bạn sẽ cần lưu dưới dạng sổ làm việc hỗ trợ macro nếu bạn muốn công thức tiếp tục cập nhật tên trang tính sau khi tệp được đóng và mở lại. Nếu bạn lưu dưới dạng trang tính bình thường, mã tên trang tính sẽ bị loại bỏ.

Tác giả Dave Bruns


^