Có thể bạn quan tâm: Làm Thế Nào Để Sắp Xếp Tên Trong Excel: Hướng Dẫn Chi Tiết Từng Bước
Giới thiệu
Trong công việc quản lý dữ liệu, đặc biệt là khi làm việc với hàng ngàn file trong một thư mục, việc nhanh chóng tạo danh sách tên file và đưa chúng vào một bảng tính Excel có thể giúp bạn tiết kiệm thời gian và tránh sai sót. Dù bạn là quản trị viên hệ thống, nhà phân tích dữ liệu hay người làm marketing, bài viết này sẽ cung cấp cho bạn các phương pháp thực hành nhất quán, từ cách sử dụng VBA, Power Query, lệnh dòng lệnh, tới Python và cả công cụ thủ công trong Excel. Bạn có thể chọn phương pháp phù hợp với môi trường làm việc và kinh nghiệm của mình.
Có thể bạn quan tâm: Làm Thế Nào Để Mở Invisible Excel Bị Khóa: Hướng Dẫn Chi Tiết
1. Tại sao nên lấy tên file vào Excel?
- Tối ưu quy trình làm việc: Bạn có thể nhanh chóng xem xét, lọc, sắp xếp và phân tích danh sách này mà không cần phải lướt qua từng file một.
- Tự động hoá báo cáo: Khi danh sách file được lưu trữ trong Excel, bạn có thể sử dụng tính năng
PivotTable,Conditional FormattinghayVLOOKUPđể tạo báo cáo tự động. - Kiểm tra dữ liệu: Dễ dàng phát hiện file bị thiếu, trùng lặp hoặc sai định dạng.
- Bảo trì và ghi nhận: Các tệp tin được lưu trữ ngay trong file Excel giúp bạn dễ dàng quản lý phiên bản và ghi nhận lịch sử thay đổi.
Có thể bạn quan tâm: Làm Thế Nào Để Lọc Dữ Liệu Trong Excel: Hướng Dẫn Chi Tiết Và Các Mẹo Thực Tế
2. Các phương pháp lấy tên file trong thư mục
2.1 Sử dụng VBA trong Excel
VBA (Visual Basic for Applications) elektrische èxit, cho phép bạn viết macro tùy chỉnh để tự động lấy danh sách file. Dưới đây là một đoạn mã mẫu:
Sub ListFilesInFolder() Dim folderPath As String Dim fileName As String Dim i As Long folderPath = InputBox("Nhập đường dẫn thư mục:", "Lấy tên file") If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\" fileName = Dir(folderPath & ".") i = 1 Do While fileName <> "" Cells(i, 1).Value = fileName i = i + 1 fileName = Dir Loop MsgBox "Hoàn thành! Tổng số file: " & i - 1, vbInformation
End Sub
本站操作步骤:
- Mở Excel →
ALT + F11→Insert > Module. - Dán mã vào và lưu.
- Chạy macro bằng
ALT + F8, chọnListFilesInFolder.
Tip: Nếu muốn lấy các file theo kiểu
.xlsxhoặc.txt, thay đổiDir(folderPath & ".")thànhDir(folderPath & ".xlsx").
2.1.1 Lọc theo loại file
Bạn có thể mở rộng macro để lọc theo nhiều loại file:
' Lặp qua từng loại file
Dim fileTypes As Variant
fileTypes = Array(".xlsx", ".xls", ".csv") For Each typ In fileTypes fileName = Dir(folderPath & typ) Do While fileName <> "" Cells(i, 1).Value = fileName i = i + 1 fileName = Dir Loop
Next
2.1.2 Lấy đường dẫn đầy đủ
Nếu muốn lưu trữ đường dẫn đầy đủ, thay Cells(i, 1).Value = fileName thành:
Cells(i, 1).Value = folderPath & fileName
2.2 Dùng Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ trong Excel 2026 trở lên, giúp bạn nhập dữ liệu trực tiếp từ hệ thống file.
Bước 1 الرأس:
- Mở Excel →
কার্যক্ষেত্র > Data > Get Data > From File > From Folder. - Điền đường dẫn thư mục và nhấn
OK.
Bước 2: Power Query sẽ hiển thị danh sách file với các cột: Name, Extension, Date Modified, v.v. Bạn có thể:
- Lọc: Click vào biểu tượng lọc trên cột
Extensionđể chỉ lấy file.xlsx,.csv. - Chuyển đổi: Thêm cột tự tính, chuyển đổi kiểu dữ liệu.
- Load: Chọn
Close & Loadđể nạp dữ liệu vào một sheet mới.
Chú ý: Khi thư mục thay đổi (được thêm, xóa file), bạn cần nhấn
Refreshtrong Power Query để cập nhật danh sách.
2.3 Dùng lệnh dòng lệnh (Command Prompt)
Nếu bạn làm việc trên Windows, có thể nhanh chóng lấy danh sách file bằng lệnh dir và chuyển nó vào Excel.
Bước 1: Mở Command Prompt, chạy:
dir /b /a:-d "C:\path\to\folder" > filelist.txt
/b: Chỉ liệt kê tên file (no header/footer)./a:-d: Lọc tệp (không phải thư mục).- Kết quả được ghi vào
filelist.txt.
Bước 2: Mở Excel → Data > Get Data > From Text/CSV, chọn filelist.txt. Excel sẽ nạp danh sách vào sheet.
Tip: Nếu muốn lấy đường dẫn đầy đủ, sử dụng:
for %F in ("C:\path\to\folder\") do @echo %~fF >> filelist.txt
2.4 Dùng Python (pandas)
Python là công cụ linh hoạt, có thể xử lý file lớn, lọc, sắp xếp một cách mạnh mẽ. Bước đơn giản:
import os
import pandas as pd folder = r"C:\path\to\folder"
files = f for f in os.listdir(folder) if os.path.isfile(os.path.join(folder, f)) df = pd.DataFrame(files, columns='FileName')
df.to_excel('file_list.xlsx', index=False)
Bạn chỉ cần cài đặt চাপ và chạy script. File file_list.xlsx sẽ được tạo ra.
Nâng cao: Nếu muốn lấy ngày sửa đổi, kích thước file:
data = for f in files: full_path = os.path.join(folder, f) stat = os.stat(full_path) data.append({ 'FileName': f, 'Size (bytes)': stat.st_size, 'Modified': pd.to_datetime(stat.st_mtime, unit='s') })
df = pd.DataFrame(data)
df.to_excel('file_list.xlsx', index=False)
2.5 Dùng Google Sheets + Apps Script
Nếu bạn làm việc trong môi trường cloud, bạn có thể sử dụng Google Drive API:
function listFilesInFolder() { var folderId = 'YOUR_FOLDER_ID'; var folder = DriveApp.getFolderById(folderId); var files = folder.getFiles(); var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); sheet.clear(); sheet.appendRow('FileName', 'URL', 'Size', 'Modified'); while (files.hasNext()) { var file = files.next(); sheet.appendRow( file.getName(), file.getUrl(), file.getSize(), file.getLastUpdated() ); }
}
Lưu ý: Bạn cần bật Drive API và cấp quyền.
3. Lọc và sắp xếp danh sách file trong Excel
Sau khi đã có danh sách file, bạn có thể áp dụng các công cụ sắp xếp, lọc trong Excel.
3.1 Sắp xếp theo tên

Có thể bạn quan tâm: Làm Thế Nào Để Viết 2 Dòng Trong Excel: Hướng Dẫn Chi Tiết, Bắt Đầu Từ Cơ Bản Đến Nâng Cao
- Chọn cột
FileName. Data > Sort A to Z(thuật ngữ:Sắp xếp tăng dần) hoặcSort Z to A(giảm dần).
3.2 Lọc theo phần mở rộng
- Bật
Filter(Data > Filter). - Nhấp vào biểu tượng lọc trên cột
FileName, chọnText Filters > Ends With..., nhập.xlsxhoặc.csv.
3.3 Kiểm tra trùng lặp
- Chọn cột
FileName. Conditional Formatting > Highlight Cells Rules > Duplicate Values.
3.4 Tạo PivotTable
Insert > PivotTable.- Chọn vùng dữ liệu (cột
Ratings). - Kéo
FileNamevàoRows,Count of FileNamevào+pValues.
4. Tự động hoá quá trình
4.1 Macro tự động refresh
Bạn có thể tạo một macro để tự động nạp danh sách file mỗi khi mở workbook:
Private Sub Workbook_Open() ListFilesInFolder
End Sub
Tạo ThisWorkbook module trong VBA và dán đoạn mã này.
4.2 Lưu lịch sử
Bạn có thể lưu danh sách file vào một sheet riêng History và ghi lại thời gian nạp:
Sub AppendHistory() Dim folderPath As String Dim fileName As String Dim ws As Worksheet folderPath = "C:\path\to\folder\" Set ws = ThisWorkbook.Sheets("History") fileName = Dir(folderPath & ".") Do While fileName <> "" ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(1).Value = fileName ws.Cells(ws.Rows.Count, 2).End(xlUp).Offset(1).Value = Now fileName = Dir Loop
End Sub
4.3 Kết hợp với Power Automate
Nếu bạn đang sử dụng Office 365, Power Automate (Flow) có thể tự động tạo file Excel khi có tệp mới trong thư mục OneDrive:
- Trigger: “When a file is created (properties only)” (OneDrive/SharePoint).
- Action: “Add a row into a table” (Excel Online).
5. Thực hành: Tạo danh sách file cho dự án
Giả sử bạn làm việc với một dự án tạo báo cáo hàng ngày. Bạn có thư mục C:\Reports\Daily\ chứa các file .xlsx. Bạn muốn tự động tạo danh sách file vào một file ReportList.xlsx.
5.1 Sử dụng VBA
Sub GenerateDailyReportList() Dim folderPath As String Dim fileName As String Dim i As Long Dim wb As Workbook folderPath = "C:\Reports\Daily\" If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\" Set wb = Workbooks.Add i = 1 fileName = Dir(folderPath & ".xlsx") Do While fileName <> "" wb.Sheets(1).Cells(i, 1).Value = fileName i = i + 1 fileName = Dir Loop wb.SaveAs "C:\Reports\ReportList.xlsx" wb.Close
End Sub
Bạn có thể đặt macro này vào ThisWorkbook và chạy Workbook_Open để tự động cập nhật mỗi ngày.
5.2 Dùng Power Query
- Mở Excel,
Data > Get Data > From File > From Folder. - Nhập đường dẫn
C:\Reports\Daily. - Trong Power Query Editor, lọc
Extension = .xlsx. Close & Loadvào sheetDaily Report List.
Sau khi dữ liệu nạp, bạn có thể thiết lập Refresh Every X Minutes (bảng Data > Refresh All > Connection Properties).
6. Lưu ý khi làm việc với danh sách file
| Thông tin | Mô tả | Lưu ý |
|---|---|---|
| Kích thước thư mục | Nếu thư mục chứa hàng ngàn file, Power Query có thể chậm. | Sử dụng VBA hoặc Python để tối ưu. |
| Định dạng file | Chỉ lấy .xlsx hoặc .csv để tránh file không cần thiết. | Dùng Extension trong Power Query hoặc Dir pattern. |
| Đường dẫn tuyệt đối | Đảm bảo lưu đường dẫn đầy đủ nếu cần truy cập file sau này. | Thêm cột FullPath. |
| Độ an toàn | Đừng ghi đè file Excel hiện có. | Kết nối Append hoặc lưu vào thư mục mới. |
| Dữ liệu cập nhật | Hãy refresh dữ liệu khi thư mục thay đổi. | Thiết lập Refresh On Load hoặc macro Workbook_Open. |
7. Kết luận
Việc lấy tên file trong thư mục và chèn vào Excel không chỉ giúp bạn quản lý dữ liệu hiệu quả mà còn mở ra nhiều khả năng tự động hoá báo cáo và phân tích. Bạn có thể lựa chọn phương pháp phù hợp:
- VBA: Nhanh chóng, dễ triển khai trong Excel.
- Power Query: Thích hợp cho người không cần viết code, dễ dàng lọc dữ liệu.
- Command Prompt: Đơn giản, tiện lợi cho người dùng Windows.
- Python: Linh hoạt, mạnh mẽ khi cần xử lý dữ liệu phức tạp.
- Google Sheets: Dùng trong môi trường cloud, truy cập từ xa.
Bất kể bạn chọn phương pháp nào, hãy nhớ kiểm tra, filter và bảo trì dữ liệu thường xuyên để tránh lỗi và duy trì tính nhất quán. Hy vọng bài viết này đã cung cấp cho bạn những công cụ và kiến thức cần thiết để nhanh chóng tạo danh sách file và đưa vào Excel một cách chuyên nghiệp. Happy coding!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
