[Video] Cách sử dụng hàm IMPORTXML trong Google Sheets để chèn dữ liệu Update 04/2024

Trong Google Sheet, bạn muốn lấy dữ liệu từ nhiều những trang web để lấy dữ liệu được cập nhật liên tục theo thời gian thực. Vậy hãy sử dụng hàm IMPORTXML trong Google Sheet. Bài hướng dẫn dưới đây sẽ giúp bạn thao tác rất nhanh trong việc lấy dữ liệu. Hãy cùng tìm hiểu cách dùng hàm IMPORTXML nhé.

Video hướng dẫn cách sử dụng hàm IMPORTXML trong Google Sheet đơn giản:

1. Hàm IMPORTXML là gì? Ứng dụng của hàm IMPORTXML trong Google Sheet

Hàm IMPORTXML là gì?

Hàm IMPORTXML là hàm lấy dữ liệu từ các loại dữ liệu có cấu trúc XML, CSV, HTML, TSV và nguồn cấp dữ liệu RSS và ATOM XML.

Công thức hàm IMPORTXML

Công thức:

=IMPORTXML(url; truy_vấn_xpath)

Trong đó:

+ Url: Là đường dẫn của trang có chứa thông tin cần truy xuất.

+ Truy_vấn_xpath: Truy vấn ngôn ngữ XPath để chạy trên dữ liệu có cấu trúc.

Ví dụ về hàm IMPORTXML

Ví dụ lấy giá bán hiện tại của Đồng hồ đôi EIio trên trang . Kết quả giá bán của đồng hồ là 1.980.000đ. (Giá bán được cập nhật ngày 24/08/2021).

Công thức:

=IMPORTXML(“https://www.thegioididong.com/dong-ho-deo-tay/elio-el068-01-el068-02-nam-nu?src=osp”;”/html/body/section/div[3]/div[2]/div[1]/div[2]/div/p[1]”)

Ví dụ về hàm IMPORTXML

Ví dụ về hàm IMPORTXML

Ứng dụng của hàm IMPORTXML

Hàm IMPORTXML dùng để cập nhật thông tin của một trang theo thời gian thực. Giúp bạn kiểm tra được sự thay đổi của nội dung trang.

2. Cách sử dụng hàm IMPORTXML trong Google Sheet

Yêu cầu đề bài: Lấy giá bán của sản phẩm theo thời gian thực trên trang web .

Bước 1: Copy URL sản phẩm (Sản phẩm đang được lấy là máy tính bảng Samsung Galaxy Tab S7 FE).

Copy URL sản phẩm

Copy URL sản phẩm

Bước 2: Dán URL vào ô tính bất kỳ (Tại hình URL được dán ở ô A1).

Dán URL vào ô tính bất kỳ

Dán URL vào ô tính bất kỳ

Bước 3: Nhấn chuột phải vào đối tượng (Giá sản phẩm) > Chọn Inspect.

Nhấn chuột phải vào đối tượng và chọn Inspect

Nhấn chuột phải vào đối tượng và chọn Inspect

Bước 4: Vị trí dòng đang bôi xanh tương ứng với giá đang cần lấy. Bạn nhấn chuột phải > Chọn Copy > Chọn Copy XPath.

Copy XPath

Copy XPath

Lúc này nội dung copy XPath sẽ có dạng: /html/body/section/div[3]/div[2]/div[1]/div[2]/div/p[1]

Bước 5: Trở về file sheet và nhập công thức:

=IMPORTXML(A1;”/html/body/section/div[3]/div[2]/div[1]/div[2]/div/p[1]”)

Sau khi thực hiện bạn sẽ nhận được kết quả giá bán của chiếc máy tính bảng Samsung Galaxy Tab S7 FE là 11.990.000đ. (Giá bán được cập nhật ngày 24/08/2021).

Trở về file sheet và nhập công thức

Trở về file sheet và nhập công thức

Video hướng dẫn cách sử dụng hàm IMPORTXML kết hợp với một số hàm TRANSPOSE, hàm INDEX, MATCH, hàm VLOOKUP:

3. Một số hàm kết hợp với hàm IMPORTXML trong Google Sheet

Kết hợp với hàm TRANSPOSE

Yêu cầu: Lấy thông tin bảng thông số cấu hình của Apple Watch S3 và chuyển đổi thông tin đã xuất từ hàng thành cột.

Công thức:

=TRANSPOSE(IMPORTXML(B1;B2))

Giải thích: B1 là ô chứa thông tin về đường dẫn URL của sản phẩm Apple Watch S3. B2 là ô chứa truy vấn XPath về bảng thông tin cấu hình Apple Watch S3. Hàm TRANSPOSE sẽ chuyển đổi thông tin từ hàng thành cột.

Kết hợp với hàm TRANSPOSE

Kết hợp với hàm TRANSPOSE

Để kiểm tra rằng bạn đã copy XPath đúng hay không bằng cách:

+ Đầu tiên bạn nhấn chuột phải vào một đối tượng chi tiết trong bảng cấu hình. Ví dụ như nhấn vào “Màn hình”.

+ Sau đó bạn tìm thẻ lớn có chứa thẻ “Màn hình” và so sánh lại với thông tin cần lấy đã hiển thị đúng khu vực cần lấy hay chưa.

Cách dò tìm XPath bảng cấu hình

Cách dò tìm XPath bảng cấu hình

Kết hợp với hàm INDEX, MATCH

Cho bảng thông tin đường dẫn URL của các sản phẩm tại trang tính LINK_SP.

Bảng dữ liệu URL sản phẩm

Bảng dữ liệu URL sản phẩm

Yêu cầu: Lấy giá bán, giá cũ và giảm giá của sản phẩm điện thoại của trang bằng hàm IMPORTXML, INDEX và MATCH. (Giá sản phẩm được cập nhật ngày 24/08/2021).

Công thức:

=IMPORTXML(INDEX(LINK_SP!A2:B11;MATCH(A2;LINK_SP!A2:A11;0);2);”/html/body/section/div[3]/div[2]/div[2]/div[2]/div”)

Giải thích:

+ LINK_SP!A2:B11: Tham chiếu đến bảng thông tin sản phẩm LINK_SP!A2:B11.

+ MATCH(A2;LINK_SP!A2:A11;0): Vị trí tên sản phẩm của ô A2 trong cột TÊN SP LINK_SP!A2:A11.

+ 2: Số cột trong mảng chứa giá trị trả về.

+ /html/body/section/div[3]/div[2]/div[2]/div[2]/div: XPath của thông tin cần lấy.

Kết hợp với hàm INDEX, MATCH

Kết hợp với hàm INDEX, MATCH

Cách sử dụng hàm INDEXhàm MATCH chi tiết giúp bạn hiểu rõ hơn về cách hoạt động để dễ dàng kết hợp với hàm IMPORTXML.

Kết hợp với hàm VLOOKUP

Yêu cầu: Lấy giá bán, giá cũ và giảm giá của sản phẩm điện thoại của trang bằng hàm IMPORTXML và VLOOKUP. (Giá sản phẩm được cập nhật ngày 24/08/2021).

Công thức:

=IMPORTXML(VLOOKUP(A2;LINK_SP!A2:B11;2;0);”/html/body/section/div[3]/div[2]/div[2]/div[2]/div”)

Giải thích:

+ A2: Giá trị dò tìm là tên sản phẩm.

+ LINK_SP!A2:B11: Bảng có chứa giá trị dò tìm.

+ 2: Vị trí của cột có chứa giá trị link URL.

+ 0: Dò tìm tương đối.

+ /html/body/section/div[3]/div[2]/div[2]/div[2]/div: XPath của thông tin cần lấy.

Kết hợp với hàm VLOOKUP

Kết hợp với hàm VLOOKUP

4. Các lưu ý khi sử dụng hàm IMPORTXML trong Google Sheet

– Giá trị của URL và XPath phải được đặt trong dấu ngoặc kép khi nhập trực tiếp.

– Hàm IMPORTXML không phân biệt chữ hoa hay chữ thường khi bạn nhập. Ví dụ: IMPORTXML= importxml.

– Khi nhập các tham số trong hàm cần nhập chính xác, nếu không sẽ dễ xảy ra lỗi không mong muốn.

5. Một số lỗi thường gặp khi dùng hàm IMPORTXML

Lỗi #N/A

Nguyên nhân lỗi: Lỗi #N/A xảy ra do bạn nhập sai đường dẫn URL hoặc XPath khiến cho hàm không thể dò tìm được giá trị. Hoặc bạn nhập dư hay thiếu đối số cũng sẽ xảy ra lỗi này.

Cách khắc phục: Để độ chính xác cao hơn về đường dẫn URL hay XPath thì bạn nên sao chép thay vì nhập tay nhé. Và hàm IMPORTXML có từ 2 đến 3 đối số.

Lỗi #N/A

Lỗi #N/A

Lỗi #VALUE

Nguyên nhân lỗi: Lỗi #VALUE xảy ra do đối số 1 không phải là đường link URL.

Cách khắc phục: Kiểm tra lại đường dẫn URL đã đúng giao thức hay chưa. (Đường dẫn phải có https://).

Lỗi #VALUE

Lỗi #VALUE

Lỗi #NAME

Nguyên nhân lỗi: Lỗi #NAME? xuất hiện do bạn đã nhập sai tên hàm.

Cách khắc phục: Kiểm tra lại tên hàm đã nhập đúng chưa. Tên hàm đúng là IMPORTXML.

Lỗi #NAME

Lỗi #NAME

Lỗi #REF

Nguyên nhân lỗi: Lỗi #REF thường xảy ra khi bạn sao chép cột hay hàng càng gần về vị trí cột A hay hàng 1 dẫn đến dải ô cũng di chuyển ngược ra khỏi bảng tính. Hoặc do ô trả về kết quả đè lên dải ô tham chiếu dẫn đến lỗi quay vòng.

Cách khắc phục: Hạn chế sao chép cột di chuyển ngược hoặc bạn có thể cố định dải ô trước khi sao chép. Nếu lấy dữ liệu trả về nhiều dải ô thì bạn nên tìm không gian trống trong ô tính để không bị đè nội dung khác.

Lỗi #REF

Lỗi #REF

6. Các bài tập sử dụng hàm IMPORTXML

Cho bảng thông tin đường dẫn URL của các sản phẩm tại trang tính LINK_SP.

Bảng dữ liệu URL sản phẩm laptop

Bảng dữ liệu URL sản phẩm laptop

Bài tập 1: Lấy thông tin bảng thông số cấu hình củaLaptop HP 15s fq2559TU và chuyển đổi thông tin đã xuất từ hàng thành cột.

Công thức:

=TRANSPOSE(IMPORTXML(“https://www.thegioididong.com/laptop/hp-15s-fq2559tu-i5-46m27pa?src=osp”;”/html/body/section/div[3]/div[2]/div[3]/ul”))

Giải thích: Hàm IMPORTXML giúp lấy thông tin bảng thông số cấu hình của sản phẩm. Hàm TRANSPOSE sẽ chuyển đổi thông tin từ hàng thành cột.

Bài tập 2: Lấy giá bán, giá cũ và giảm giá của sản phẩm Laptop tại sheet LINK_SP của trang bằng hàm IMPORTXML, INDEX và MATCH.

Công thức:

=IMPORTXML(INDEX(LINK_SP!A21:B30;MATCH(“Laptop Lenovo IdeaPad Slim 5 15ITL05″;LINK_SP!A21:A30;0);2);”/html/body/section/div[3]/div[2]/div[3]/ul”)

Giải thích:

+ LINK_SP!A21:B30: Tham chiếu đến bảng thông tin sản phẩm LINK_SP!A2:B11.

+ MATCH(“Laptop Lenovo IdeaPad Slim 5 15ITL05″;LINK_SP!A21:A30;0): Vị trí “Laptop Lenovo IdeaPad Slim 5 15ITL05″ trong cột TÊN SP tại LINK_SP!A21:B30.

+ 2: Số cột trong mảng chứa giá trị trả về.

+ /html/body/section/div[3]/div[2]/div[3]/ul: XPath của thông tin cần lấy.

Một số bài tập về hàm IMPORTXML giúp bạn ôn tập lại kiến thức: Các bài tập sử dụng hàm IMPORTXML.

7. Các câu hỏi thường gặp khi sử dụng hàm IMPORTXML

Hàm IMPORTXML trong Google Sheet hoạt động như thế nào?

Hàm IMPORTXML trong Google Sheet sẽ giúp bạn tìm dữ liệu XML và sao chép dữ liệu bên ngoài của XML. Ví dụ như bạn muốn lấy những liên kết của trang thì chúng ta sẽ yêu cầu hàm IMPORTXML nhập toàn bộ thông tin trong thẻ a . Nếu muốn toàn bộ text của một trang, bạn có thể lấy bằng cách lấy mọi thứ trong body hoặc thẻ p.

Lấy toàn bộ thông tin trong thẻ a

Lấy toàn bộ thông tin trong thẻ a

Trên đây là cách sử dụng hàm IMPORTXML trong Google Sheet. Mong rằng bài viết này sẽ mang lại những thông tin bạn cần. Cảm ơn bạn đã theo dõi và chúc bạn thành công nhé!