John có một cột gồm các số invoice trong một trang tính. Anh ta có một thư mục trên mạng, nơi nhân viên lưu một bản PDF của hóa đơn thực tế và đặt tên nó bằng cách sử dụng cùng một số hóa đơn có trong trang tính. Mỗi số hóa đơn trong trang tính phải có một tệp PDF được đặt tên tương ứng trong thư mục trên mạng. John đang tìm một cách, trong Excel, để kiểm tra và xác minh rằng một tệp PDF thực sự tồn tại cho mỗi số hóa đơn.

Không có cách nào để thực hiện việc này bằng các lệnh Excel tích hợp sẵn. Tuy nhiên, bạn có thể tạo một macro sẽ thực hiện việc kiểm tra cho bạn. Ví dụ: hãy xem xét hàm đơn giản do người dùng định nghĩa sau:

Function FileExists1(sPath As String)

FileExists = Dir(sPath) <> ""

End Function

Quy trình chỉ trả về giá trị True hoặc False, dựa trên việc tệp được chỉ định có tồn tại hay không. Giá trị được truyền cho hàm cần bao gồm đường dẫn đầy đủ và tên tệp. Ví dụ: nếu đặc tả tệp (bao gồm cả đường dẫn) nằm trong ô A1, bạn có thể sử dụng như sau trong ô:

=FileExists1(A1)

Tuy nhiên, bạn có thể không muốn đặt tên đường dẫn đầy đủ vào ô. Trong trường hợp đó, bạn có thể chỉ định nó trong công thức thực tế, theo cách này:

=FileExists1("c:\your\path\here\" & A1 & ".pdf")

Tất nhiên, thay vào đó bạn có thể chỉ định đường dẫn trong hàm do người dùng định nghĩa:

Function FileExists2(sFile As String)

sPath = "c:\your\path\here\" & sFile & ".pdf"

FileExists = Dir(sPath) <> ""

End Function

Với một chức năng như vậy, bạn có thể dễ dàng tạo một công thức trong trang tính của mình để “gắn cờ” bất kỳ hóa đơn nào bị thiếu trong thư mục:

=IF(FileExists2(A1),"","Missing Invoice")

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (7512) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: