Hàm FILTERXML trả về dữ liệu cụ thể từ nội dung XML bằng cách dùng xpath đã xác định.
Lưu ý
- Hàm FILTERXML không sẵn dùng trong Excel cho web và Excel cho Mac.
- Hàm này có thể xuất hiện trong bộ sưu tập hàm trong Excel for Mac nhưng dựa vào các tính năng của hệ điều hành Windows nên sẽ không trả về kết quả trên máy Mac.
Cú pháp
FILTERXML(xml, xpath)
Cú pháp hàm FILTERXML có các đối số sau đây.
| Đối số | Mô tả |
|---|---|
|
XML Bắt buộc |
Một chuỗi ở định dạng XML hợp lệ |
|
XPath Bắt buộc |
Một chuỗi ở định dạng XPath chuẩn |
Lưu ý
- Nếu xml không hợp lệ, FILTERXML trả về giá trị lỗi #VALUE! .
- Nếu xml chứa không gian tên có tiền tố không hợp lệ, FILTERXML trả về giá trị lỗi #VALUE! .
Ví dụ
Ví dụ này dùng hàm FILTERXML trên dữ liệu XML được trả về trong ô B2, vốn do các kết quả của hàm WEBSERVICE cung cấp trên truy vấn web trong ô B1.
Dữ liệu từ FILTERXML được trả về trong các ô B3:B5 và C3:C5 và hiện ba kết quả truy vấn được cập nhật gần đây nhất trên Wikipedia và thời gian cập nhật chúng (trong UTC, "Giờ Quốc tế Phối hợp").
Các ô B3:B5 có chứa công thức =FILTERXML(B3,"//rc/@title").
Các ô C3:C5 có chứa công thức =FILTERXML(B3,"//rc/@timestamp").Lưu ý
Nếu bạn đang sử dụng phiên bản Microsoft 365 thì bạn chỉ cần nhập công thức vào ô trên cùng bên trái của phạm vi đầu ra, rồi nhấn ENTER để xác nhận công thức dưới dạng công thức mảng động. Nếu không, bạn phải nhập công thức dưới dạng công thức mảng cũ bằng cách trước tiên, chọn phạm vi đầu ra, nhập công thức vào ô trên cùng bên trái của phạm vi đầu ra, rồi nhấn CTRL+SHIFT+ENTER để xác nhận. Excel sẽ chèn dấu ngoặc nhọn ở đầu và cuối công thức giúp bạn. Để biết thêm thông tin về công thức mảng, hãy xem mục Hướng dẫn và ví dụ về công thức mảng.
Bạn cũng có thể dùng FILTERXML kết hợp với hàm ENCODEURL và WEBSERVICE . Ví dụ: bạn có thể sử dụng dịch vụ markitondemand.com api để trả về thông tin về cổ phiếu công ty:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Nơi bạn có mã chứng khoán trong ô C2.
Sau đó bạn có thể dùng hàm FILTERXML để trích xuất dữ liệu cụ thể về cổ phiếu đó. Ví dụ, để tính Giá Cuối cùng của mã chứng khoán trong ô C2, bạn có thể dùng:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice")
Bạn cần thêm trợ giúp?
Bạn luôn có thể hỏi chuyên gia trong Cộng đồng kỹ thuật Excel hoặc nhận hỗ trợ trong Cộng đồng.