Hàm INDIRECT trong Google Sheets| Hướng dẫn sử dụng từ A-Z
Hàm INDIRECT trong Google Sheets là một hàm nâng cao giúp tạo tham chiếu ô và vùng dữ liệu động dựa trên chuỗi văn bản. Nhờ đó, công thức có thể tự động thay đổi theo dữ liệu nhập vào mà không cần chỉnh sửa thủ công. Trong bài viết này, bạn sẽ được hướng dẫn cách sử dụng hàm INDIRECT trong Google Sheets từ A-Z, cùng tham khảo ngay nhé.
Hàm INDIRECT trong Google Sheet là gì?
Hàm INDIRECT trong Google Sheets là một hàm dùng để chuyển một chuỗi văn bản thành tham chiếu ô hoặc vùng dữ liệu thực tế. Hiểu đơn giản, thay vì trỏ trực tiếp đến một ô cố định như A1, bạn có thể viết địa chỉ đó dưới dạng chữ. Sau đó, hàm INDIRECT sẽ đọc chuỗi này để lấy đúng giá trị tại vị trí được chỉ định.
Nguyên lý hoạt động của hàm INDIRECT
Thông thường, khi bạn nhập công thức = A1. Google Sheets sẽ lấy giá trị trực tiếp từ ô A1. Nhưng với hàm INDIRECT với công thức =INDIRECT(“A1”). Kết quả trả về vẫn giống hệt =A1.
Điểm khác biệt nằm ở chỗ “A1” lúc này chỉ là một chuỗi văn bản. Hàm INDIRECT có nhiệm vụ biến chuỗi đó thành tham chiếu thật. Hay nói cách khác INDIRECT biến chữ thành tham chiếu.
Ví dụ:
- Ô B1 chứa nội dung: A1
- Công thức tại ô C1: =INDIRECT(B1)
- Kết quả ở C1 sẽ là giá trị trong ô A1, chứ không phải chữ “A1”.
Hàm INDIRECT trong Google Sheets dùng để làm gì?
Điểm mạnh lớn nhất của hàm INDIRECT nằm ở khả năng tham chiếu động. Điều này có nghĩa là địa chỉ ô, vùng dữ liệu hoặc tên Sheet có thể thay đổi linh hoạt dựa trên giá trị người dùng nhập vào hoặc kết quả của công thức khác.
Chính nhờ tính linh hoạt nay, hàm INDIRECT thường được sử dụng trong các vấn đề sau:
- Lấy dữ liệu dựa trên lựa chọn của người dùng, như dropdown, ô nhập tháng, năm,…
- Tham chiếu dữ liệu từ nhiều sheet khác nhau mà không cần viết nhiều công thức
- Xây dựng báo cáo tổng hợp, dashboard tự động
- Kết hợp với các hàm như SUM, VLOOKUP, MATCH, ROW, COLUMN để xử lý dữ liệu linh hoạt hơn.
Lợi ích khi dùng hàm INDIRECT trong Google Sheet là gì?
Việc sử dụng hàm INDIRECT trong Google Sheets mang lại nhiều lợi ích rõ rệt mà các hàm tham chiếu thông thường khó đáp ứng. Chẳng hạn như là:
- Giữ công thức ổn định khi thay đổi cấu trúc bảng
Thông thường, khi bạn tham chiếu trực tiếp đến vùng dữ liệu (ví dụ A1:A10), việc chèn hoặc xóa hàng/cột có thể khiến công thức bị thay đổi hoặc lỗi #REF!. Khi sử dụng hàm INDIRECT, vùng dữ liệu được khai báo dưới dạng chuỗi văn bản như “A1:A10”. Google Sheets sẽ luôn tham chiếu đúng phạm vi này, kể cả khi bạn chỉnh sửa các hàng hoặc cột xung quanh.
- Tăng tính linh hoạt cho báo cáo và dashboard
Ví dụ, bạn có nhiều Sheet theo tháng hoặc theo chi nhánh. Thay vì viết nhiều công thức khác nhau cho từng Sheet, bạn chỉ cần một ô cho người dùng chọn tháng hoặc tên chi nhánh. Hoặc một công thức INDIRECT để tự động lấy dữ liệu từ Sheet tương ứng. Cách làm này giúp giảm thao tác thủ công, hạn chế sai sót khi copy công thức và tiết kiệm rất nhiều thời gian khi làm báo cáo định kỳ.
- Hỗ trợ tạo danh sách thả xuống phụ thuộc
Cơ chế hoạt động của hàm INDIRECT là khả năng chuyển văn bản thành vùng dữ liệu. Chẳng hạn chọn Tỉnh/Thành phố ở ô A, ô B tự động hiển thị danh sách Quận/Huyện tương ứng.
- Tách dữ liệu và logic công thức rõ ràng hơn
Hàm INDIRECT cho phép bạn tách phần dữ liệu điều khiển ra khỏi công thức. Người dùng chỉ cần nhập tên Sheet, tên vùng dữ liệu hoặc điều kiện cần lấy. Trong khi công thức phía sau vẫn giữ nguyên. Điều này giúp file dễ hiểu hơn khi làm việc nhóm, dễ bảo trì và mở rộng khi dữ liệu tăng lên….
- Giảm công thức phức tạp, file gọn gàng hơn
Thay vì sử dụng nhiều hàm IF lồng nhau để chọn vùng dữ liệu, hàm INDIRECT trong Google Sheets có thể giải quyết cùng vấn đề chỉ với một công thức ngắn gọn. Điều này giúp công thức dễ đọc, file nhẹ hơn và hạn chế lỗi khi chỉnh sửa.
Cú pháp của hàm INDIRECT trong phần mềm Google Sheets
Để sử dụng đúng và hiệu quả, trước hết bạn cần nắm rõ cú pháp của hàm INDIRECT trong Google Sheets. Cú pháp của hàm này khá đơn giản, nhưng yêu cầu viết chính xác để tránh lỗi.
=INDIRECT(văn_bản_tham_chiếu, [là_dạng_A1])
Trong đó:
- văn_bản_tham_chiếu (bắt buộc): Đây là chuỗi văn bản biểu thị địa chỉ ô hoặc vùng dữ liệu mà bạn muốn tham chiếu tới.
- Có thể là địa chỉ ô: “A1”, “B2”.
- Có thể là vùng dữ liệu: “A1:A10”.
- Có thể là tham chiếu sang sheet khác: “Sheet1!B5”
- là_dạng_A1 (tùy chọn): Đối số này dùng để xác định kiểu tham chiếu mà Google Sheets sẽ hiểu và mặc định là TRUE.
Cách sử dụng hàm INDIRECT trong Google Sheets
Để hiểu rõ hơn về cách sử dụng hàm INDIRECT trong Google Sheets, các bạn có thể tham khảo một số cách dùng hàm sau đây.
Dùng tham chiếu ô và vùng dữ liệu động
Đây là cách dùng cơ bản nhất của hàm INDIRECT trong Google Sheets. Bạn không tham chiếu trực tiếp đến vùng dữ liệu, mà để địa chỉ vùng đó nằm trong một ô khác. Khi thay đổi ô này, công thức sẽ tự cập nhật theo.
*Yêu cầu: Với bảng dữ liệu sau
- Ô F1 nhập địa chỉ vùng dữ liệu cần tính tổng lương là D2:D4
- Công thức tự động tính tổng cột Lương theo vùng được nhập
Công thức:
=SUM(INDIRECT(F1))
Trong đó:
- F1 chứa chuỗi văn bản “D2:D4”
- Hàm INDIRECT chuyển chuỗi này thành vùng dữ liệu thực tế
- Hàm SUM tính tổng trên vùng vừa được tham chiếu
Kết quả:
Dùng tham chiếu Sheet/tab khác
Một ứng dụng rất mạnh của hàm INDIRECT trong Google Sheets là lấy dữ liệu từ nhiều sheet khác nhau dựa trên lựa chọn của người dùng. Cách này thường dùng trong báo cáo theo tháng, theo chi nhánh.
Giả sử
- Sheet dữ liệu: Tổng hợp
- Sheet dữ liệu: Tháng 1
*Yêu cầu:
- Ô F2 chọn tên sheet cần lấy dữ liệu Tháng 1
- Tính tổng lương cột D của sheet được chọn
Công thức:
=SUM(INDIRECT(“‘”&F2&”‘!D2:D4”))
Giải thích:
- F2 chứa tên sheet dưới dạng text
- INDIRECT ghép tên sheet + vùng dữ liệu
- Công thức tự động nhảy sang đúng tab để lấy dữ liệu
Kết quả:
Kết hợp với Named Range
Named Range (vùng được đặt tên) giúp bảng tính gọn gàng và dễ hiểu hơn. Khi kết hợp với hàm INDIRECT trong Google Sheets, bạn có thể tham chiếu vùng dữ liệu thông qua tên thay vì địa chỉ ô.
Giả sử: Đặt Named Range Luong = D2:D4 thiết lập ở ô F3
Để đặt tên, bạn chỉ cần thực hiện thao tác sau:
Bôi đen cột Lương >> chọn Dữ liệu >> nhấp vào mục Dải ô được đặt tên.
*Yêu cầu:
- Dùng hàm INDIRECT để tính tổng vùng Luong
- Cho phép thay đổi tên vùng thông qua một ô nhập liệu
Công thức:
=SUM(INDIRECT(F3))
Trong đó:
- F3 chứa tên của Named Range
- INDIRECT biến tên này thành vùng dữ liệu thực tế
- SUM xử lý dữ liệu như tham chiếu thông thường
Kết quả:
Ứng dụng hàm INDIRECT trong Google Sheets nâng cao
Ngoài cách dùng cơ bản, hàm INDIRECT trong Google Sheets còn dùng để thực hiện các bài toán phức tạp khi kết hợp với các hàm khác.
Ở mức nâng cao, hàm INDIRECT thường đóng vai trò tạo vùng tham chiếu động. Còn các hàm như VLOOKUP, MATCH, ADDRESS, SUM, ROW sẽ xử lý dữ liệu bên trong vùng đó.
Ví dụ, bạn có bảng dữ liệu tên Data như sau:
Kết hợp hàm VLOOKUP
Khi kết hợp với VLOOKUP, hàm INDIRECT trong Google Sheets giúp bạn tra cứu dữ liệu từ bảng có thể thay đổi vị trí hoặc sheet mà không cần sửa công thức.
*Yêu cầu: Với bảng dữ liệu trên hãy:
- Ô F1 nhập mã nhân viên NV02
- Ô F2 nhập vùng dữ liệu tra cứu Data!A2:D4
- Trả về lương của nhân viên tương ứng
Công thức:
=VLOOKUP(F1; INDIRECT(F2); 4; FALSE)
Trong đó:
- INDIRECT(F2) biến chuỗi “Data!A2:D4” thành vùng dữ liệu thật
- VLOOKUP tìm mã NV và trả về cột Lương
Kết quả:
Kết hợp hàm MATCH
MATCH thường dùng để xác định vị trí dòng hoặc cột. Khi đi cùng INDIRECT, bạn có thể dò tìm vị trí trong vùng dữ liệu động.
*Yêu cầu: Với bảng dữ liệu trên tìm vị trí của nhân viên có mã nhập ở F1 trong cột A.
Công thức:
=MATCH(F1; INDIRECT(“Data!A2:A4”); 0)
Trong đó:
- INDIRECT tạo vùng A2:A4
- MATCH trả về vị trí chính xác của mã NV
Kết quả:
Kết hợp hàm ADDRESS
Hàm ADDRESS dùng để tạo địa chỉ ô dưới dạng văn bản. Khi kết hợp với hàm INDIRECT, bạn có thể tạo tham chiếu động hoàn toàn bằng công thức.
*Yêu cầu: Với bảng dữ liệu trên lấy giá trị tại dòng 3, cột 4 trong bảng Data.
Công thức:
=INDIRECT(“Data!”&ADDRESS(3;4))
Trong đó:
- ADDRESS(3;4) trả về chuỗi “D3”
- INDIRECT biến “Data!D3” thành tham chiếu thật
Kết quả:
Kết hợp hàm SUM
Hàm INDIRECT kết hợp với hàm SUM sẽ ứng dụng rất phổ biến khi cần tính tổng theo vùng có thể thay đổi.
*Yêu cầu: Với bảng dữ liệu trên ở ô F3 nhập vùng lương cần tính tổng. Thiết lập F3: Data!D2:D4
Công thức:
=SUM(INDIRECT(F3))
Trong đó:
- INDIRECT đọc vùng dữ liệu từ F3
- SUM tính tổng lương trong vùng đó
Kết quả:
Kết hợp hàm ROW
Hàm ROW giúp xác định số dòng. Khi kết hợp với hàm INDIRECT trong Google Sheets, bạn có thể tạo công thức tự động thay đổi theo vị trí dòng.
*Yêu cầu: Với bảng dữ liệu trên lấy lương tương ứng với dòng hiện tại
Công thức:
=INDIRECT(“Data!D”&ROW())
Trong đó:
- ROW() trả về số dòng hiện tại
- INDIRECT ghép chuỗi để trỏ đúng ô lương theo dòng
Kết quả:
Lỗi thường gặp khi sử dụng hàm INDIRECT trong Google Sheets
Trong quá trình sử dụng hàm INDIRECT trong Google Sheets, đặc biệt với người mới, việc gặp lỗi là điều rất dễ xảy ra. Nguyên nhân chính là do hàm INDIRECT không tham chiếu trực tiếp đến ô, mà thông qua chuỗi văn bản. Chỉ cần sai một ký tự, thiếu dấu ngoặc hoặc tham chiếu không tồn tại, công thức sẽ ngay lập tức báo lỗi.
Dưới đây là hai lỗi thường gặp nhất khi dùng hàm INDIRECT trong Google Sheets, kèm theo nguyên nhân và cách khắc phục chi tiết để bạn dễ hiểu và dễ xử lý.
Lỗi #REF!
Lỗi #REF! xuất hiện khi hàm INDIRECT không thể tìm thấy hoặc không xác định được tham chiếu hợp lệ mà bạn đã chỉ định.
Nguyên nhân chính của lỗi #REF! trong hàm INDIRECT như sau:
- Tham chiếu đến sheet/tab không tồn tại
- Địa chỉ ô hoặc vùng dữ liệu bị sai định dạng
- Ô hoặc vùng dữ liệu được tham chiếu đã bị xóa
- Tên sheet có khoảng trắng nhưng không dùng dấu nháy đơn ‘ ‘
- Ghép chuỗi tạo địa chỉ ô nhưng thiếu hoặc sai ký tự
Ví dụ công thức lỗi như sau =INDIRECT(“Sheet2!A1”)
→ Tên sheet có dấu cách nhưng không có ‘ ‘ → lỗi #REF!
Cách khắc phục lỗi #REF! trong hàm INDIRECT như sau:
- Kiểm tra lại tên sheet có chính xác tuyệt đối hay không
- Với sheet có khoảng trắng, luôn viết theo dạng đúng
- Đảm bảo ô hoặc vùng dữ liệu chưa bị xóa hoặc di chuyển
- Nên nhập địa chỉ tham chiếu vào một ô riêng, sau đó trỏ hàm INDIRECT tới ô đó để dễ kiểm soát
Lỗi #NAME?
Lỗi #NAME? xảy ra khi Google Sheets không nhận diện được tên hàm hoặc tên tham chiếu trong công thức.
Nguyên nhân của lỗi #NAME? khi dùng hàm INDIRECT là do:
- Gõ sai tên hàm INDIRECT (thiếu chữ, sai chính tả)
- Sử dụng Named Range chưa được tạo
- Gõ sai tên Named Range (sai ký tự, sai chữ hoa – thường)
- Quên đặt dấu ngoặc kép khi tham chiếu bằng chuỗi văn bản
Ví dụ hàm sai lỗi =INDIRECT(Luong)
→ Google Sheets hiểu Luong là tên hàm hoặc biến, nhưng không tồn tại → lỗi #NAME?
Cách khắc phục lỗi #NAME? khi dùng hàm INDIRECT như sau:
- Đảm bảo tên hàm được viết đúng chính tả =INDIRECT(…)
- Kiểm tra Named Range tại Dữ liệu → Phạm vi được đặt tên
- Nếu dùng chuỗi văn bản, hãy đặt trong dấu ngoặc kép, ví dụ =INDIRECT(“Luong”)
Lưu ý quan trọng khi dùng hàm INDIRECT trong Google Sheets
Khi bạn hiểu rõ INDIRECT trong Google Sheets dùng để làm gì và cách sử dụng nó ra sao. Bên cạnh đó, bạn phải nắm rõ một số lưu ý quan trọng khi sử dụng hàm này để tránh gặp phải những lỗi không đáng có. Cụ thể gồm:
- Hàm INDIRECT không tự động cập nhật khi hàng/cột thay đổi
Không giống tham chiếu thông thường, ví dụ =A1, hàm INDIRECT đọc chuỗi văn bản để tạo ra tham chiếu. Vì vậy, khi bạn chèn thêm hàng/cột hoặc xóa ô, công thức có chứa INDIRECT sẽ không tự chỉnh lại như các tham chiếu trực tiếp khác. Điều này vừa là lợi thế (cố định vùng tham chiếu) nhưng cũng là rủi ro nếu bạn không tính trước khi cấu trúc bảng thay đổi lớn.
- Hàm INDIRECT không thể tham chiếu file khác
Không giống hàm IMPORTRANGE, hàm INDIRECT chỉ hoạt động nội bộ trong cùng một file Google Sheets. Nếu bạn cố gắng tham chiếu một sheet trong file khác bằng INDIRECT, công thức sẽ báo lỗi.
- Luôn kiểm tra chuỗi tham chiếu hợp lệ
Vì hàm INDIRECT chuyển chuỗi văn bản thành tham chiếu, nên chuỗi đó phải hoàn toàn chính xác. Tên sheet phải đúng 100% (viết hoa/thường không phân biệt, nhưng ký tự và khoảng trắng phải chuẩn). Nếu sheet có khoảng trắng hoặc ký tự đặc biệt, bắt buộc phải đặt tên sheet trong dấu nháy đơn. Sai tên sheet, sai ký tự ! giữa tên sheet và ô/vùng đều sẽ gây lỗi. Nếu chuỗi tham chiếu không hợp lệ, hàm sẽ trả về lỗi #REF!, dù công thức có đúng cú pháp.
- Sử dụng tên vùng (Named Range) sẽ an toàn hơn
Khi bạn kết hợp hàm INDIRECT với Named Range (vùng dữ liệu đặt tên), công thức sẽ dễ đọc hơn và ít lỗi hơn so với tham chiếu trực tiếp kiểu “Sheet1!A1:C10”. Tuy nhiên, bạn hãy chắc rằng Named Range đã tồn tại trong sheet và nếu không, hàm INDIRECT sẽ trả về lỗi #REF!.
- Không dùng hàm INDIRECT cho tham chiếu nhiều vùng liền nhau
Bạn không thể truyền một mảng nhiều vùng trực tiếp vào INDIRECT như công thức sau =INDIRECT(A1:A3). Vì hàm chỉ chấp nhận một tham chiếu tại một thời điểm.
Lời kết
Qua bài viết, bạn đã phần nào hiểu rõ về hàm INDIRECT trong Google Sheets là gì và dùng để làm gì? Có thể thấy, hàm INDIRECT trong Google Sheets không chỉ giúp tạo tham chiếu động linh hoạt. Nó còn là nền tảng quan trọng để xây dựng báo cáo, dashboard và hệ thống dữ liệu thông minh, chuyên nghiệp.
Nếu bạn cần hỗ trợ về Google Sheets nâng cao, hoặc đào tạo Google Workspace cho doanh nghiệp, hãy liên hệ GCS Việt Nam qua các kênh chính thức để được đội ngũ chuyên gia hỗ trợ nhanh chóng và chính xác.
- Fanpage: GCS – Google Cloud Solutions
- Hotline: 024.9999.7777























