Hướng dẫn 10 cách dùng Vlookup giữa 2 sheet và 2 file khác nhau trong Excel nhanh nhất

5 Lý do khách hàng lựa chọn Di Động Việt

Hàm Vlookup là một trong những hàm cơ bản của ứng dụng Excel trên máy tính. Tính năng chính của nó đó là để tìm kiếm thông tin hoặc dữ liệu trong bảng theo cột hoặc dòng. Nếu bạn chưa biết cách dùng hàm Vlookup giữa 2 sheet hoặc 2 file khác nhau thì cùng Di Động Việt tìm hiểu 10 mẹo hay dưới đây.

1. Cách dùng hàm Vlookup giữa 2 sheet khác nhau để tìm dữ liệu

Giống như hàm Vlookup dạng thông thường, hàm này giúp cho người dùng tìm kiếm và sao chép dữ liệu trên cùng trang tính. Tuy nhiên, phần khác nhau tại đây là nằm ở tham số table_array sẽ yêu cầu bạn chỉ định tên trang tính để công thức biết được phạm vi tìm kiếm nằm tại trang nào của Excel.

Để biết cách dùng hàm Vlookup giữa 2 Sheet, bạn cần sử dụng công thức chung như sau:

VLOOKUP(lookup_value, Sheet!range, col_index_num, [range_lookup])

Dưới đây là một ví dụ cụ thể:

Giả sử bạn có 2 sheet riêng biệt đó là: Sheet 1 (nhanvien) chứa danh sách nhân viên cần điền vào số tiền thưởng cùng với Sheet 2 (thuong) chứa điều kiện phân loại tương ứng với số tiền thưởng đó.

Cách dùng hàm Vlookup giữa 2 sheet

Trước tiên, chúng ta dùng công thức hàm Vlookup bằng cách chọn một ô để tính toán số tiền thưởng cho một nhân viên cụ thể. Ví dụ, mình sẽ chọn ô D3 và điền vào công thức là:

=VLOOKUP(C3,thuong!$B$4:$C$6,2,FALSE)

Trong đó:

  • Lookup_values: Nằm ở cột C tại Sheet nhanvien. Ở đây chúng ta tham chiếu đến ô dữ liệu đầu tiên đó là C3
  • Table_array: Là vùng phạm vi B4:C6 nằm trên Sheet thuong. Để tham chiếu đến khu vực này, mình đặt tiền tố cho tham chiếu phạm vi theo tên của trang tính và thêm dấu chấm than ở sau: thuong!$B$4:$C$6
  • Col_index_num: Là số 2 vì đang cần sao chép một giá trị từ cột C và đó là cột thứ 2 trong phạm vi của Table_array
  • Range_lookup: Được mặc định là FALSE để tìm kiếm kết quả chuẩn xác nhất.
Cách dùng hàm Vlookup giữa 2 sheet

Khi đã điền công thức của hàm Vlookup xong, mọi người hãy kéo công thức ở cột D3 xuống dưới cho tới D7 là có được kết quả như hình dưới:

Cách dùng hàm Vlookup giữa 2 sheet

2. Cách dùng hàm Vlookup giữa 2 file khác nhau để tìm dữ liệu

Cách dùng hàm Vlookup giữa 2 file khác nhau cũng không khác nhau quá nhiều so với cách dùng hàm Vlookup giữa 2 sheet khác nhau trong Excel mà mình đã chỉ mọi người ở bên trên. Các bạn có thể xem qua ví dụ minh hoạ ở dưới của mình để hiểu được chi tiết:

Để xếp loại học sinh dựa trên số điểm các em đạt được, chúng ta sẽ cần tạo hai file Excel khác nhau là: file 1 (hocsinh) chứa danh sách học sinh cần xếp loại và file 2 (xeploai) chứa điều kiện để phân loại các học sinh này.

Cách dùng hàm Vlookup giữa 2 sheet
Cách dùng hàm Vlookup giữa 2 sheet

Cụ thể, dưới đây chính là chi tiết cách dùng hàm Vlookup giữa 2 file trên dành cho bạn:

Bước 1: Mình điền công thức giống với 2 sheet ở trên vào ô D2.

Cách dùng hàm Vlookup giữa 2 sheet

Bước 2: Sau đó chuyển qua file 2 (được tạo với tên là dulieu.xlsx từ trước) rồi chọn vùng dữ liệu là A4:B7 theo cách nhấn nút Ctrl trên bàn phím và kéo bắt đầu từ ô A4 tới B7.

Cách dùng hàm Vlookup giữa 2 sheet

Bước 3: Quay về file 1 rồi điền thêm phần “2, TRUE” vô công thức đó thì nhận được kết quả là như hình:

Cách dùng hàm Vlookup giữa 2 sheet

Tiếp đến, chúng ta kéo công thức này từ cột D2 tới D6 giống với 2 sheet là chúng ta đã xong được cách dùng hàm Vlookup giữa 2 file này rồi đấy.

3. Cách sử dụng hàm Vlookup giữa 2 sheet cùng với hàm IFERROR

Để truy xuất được dữ liệu từ 2 trang tính trở lên, các bạn có thể sử dụng hàm Vlookup kết hợp với hàm khác là IFERROR. Chức năng của hàm IFERROR được bổ sung thêm đó là để kiểm tra từng trang tính.

Công thức sử dụng chung đó là như sau:

=IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), …, “Not found”))

Dưới đây là một ví dụ để mọi người có thể hiểu rõ hơn về cách thức hoạt động của hàm này:

Giả sử ta có 3 trang tính, gồm: Sheet 1 (slsp) được sử dụng để nhập số lượng sản phẩm, Sheet 2 (sanpham1) chứa một phần các sản phẩm và Sheet 3 (sanpham2) cũng giống như với Sheet 2.

Cách dùng hàm Vlookup giữa 2 sheet

Nếu bạn muốn áp dụng cách dùng Vlookup giữa 2 sheet kết hợp cùng hàm này thì hãy làm theo những bước chi tiết sau:

Bước 1: Đầu tiên, bạn hãy chọn một ô để điền số lượng sản phẩm và sử dụng hàm Vlookup bên trong hàm IFERROR. Ví dụ là mình sẽ chọn ô C2 và nhập công thức như hình:

Cách dùng hàm Vlookup giữa 2 sheet

Bước 2: Tiếp theo, chuyển sang sheet 2 (sanpham1) và chọn khoảng các ô A2:B5. Sau đó, bấm F4 để tạo tham chiếu tuyệt đối dòng và cột. Cuối cùng, mình nhập thêm “2,FALSE)” vô công thức.

Cách dùng hàm Vlookup giữa 2 sheet

Bước 3: Chúng ta lặp lại bước 1 và chuyển sang sheet3 (sanpham2) rồi thực hiện tương tự như bước 2 và nhập giá trị “Not found” vào công thức để tránh trường hợp không tìm thấy dữ liệu. Sau đó, hãy quay trở lại sheet1 (slsp) là xong.

Cách dùng hàm Vlookup giữa 2 sheet

Bước 4: Kéo công thức bắt đầu từ dòng C2 xuống C10 là xong công đoạn tìm kiếm dữ liệu.

11 cach dung ham vlookup giua 2 sheet didongviet 1

3.1. Áp dụng hàm Vlookup trong nhiều cửa sổ làm việc

Bạn có thể sử dụng hàm VLOOKUP trong nhiều cửa sổ làm việc tương tự như tìm kiếm dữ liệu bằng hàm VLOOKUP giữa 2 file khác nhau. Để làm được điều này, chúng ta chỉ cần lồng hàm VLOOKUP vào trong hàm IFERROR và đặt tên cửa sổ làm việc trong dấu ngoặc vuông và đặt nó làm tiền tố nằm ở trước tên của trang tính. Dưới đây là một công thức ví dụ:

=IFERROR(VLOOKUP(B2, [file1.xlsx]dulieu1!$B$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(B2, [file2.xlsx]dulieu2!$B$2:$C$6, 2, FALSE),”Not found”))

3.2. Làm địa chỉ cột trở thành Vlookup nhiều cột

Để tạo hàm VLOOKUP cho nhiều cột bằng cách sử dụng hàm IFERROR kết hợp với COLUMN, bạn có thể áp dụng công thức dưới đây:

=IFERROR(VLOOKUP(lookup_value, table_array, COLUMN(column_index_range), False), “”)

Trong đó gồm:

  • Lookup_value: Giá trị bạn cần tìm kiếm
  • Table_array: Phạm vi dữ liệu chúng ta cần tìm giá trị bên trong đó
  • Column_index_range: Phạm vi cột mà mong muốn hiện kết quả trả về.

Hàm COLUMN(column_index_range) có thể trả về chỉ mục của cột trong phạm vi column_index_range. Do đó, bạn có thể tạo một công thức Vlookup linh hoạt để đem tới kết quả từ nhiều cột.

Nếu công thức Vlookup không tìm thấy giá trị thì hàm IFERROR sẽ trả về 1 giá trị trống. Tuy nhiên, bạn có thể thay thế bằng một giá trị khác tuỳ theo nhu cầu.

Để áp dụng công thức cho từng trường hợp cụ thể, chúng ta hãy thay đổi các giá trị lookup_value, table_array column_index_range theo nhu cầu của mình là được.

Dưới đây là ví dụ minh hoạ chi tiết:

Trong file Excel, chúng ta có sẵn bảng như ở dưới:

Cách dùng hàm Vlookup giữa 2 sheet

Nếu bạn muốn tìm tên của một loại trái cây bằng cách sử dụng ID tương ứng (Ví dụ như 303), chúng ta áp dụng hàm IFERROR và VLOOKUP.

Giả sử giá trị mình cần tìm (lookup_value) nằm trong ô A4, bảng dữ liệu (table_array) nằm tại các ô A2:B6.

Mọi người có thể dùng công thức này cho những ô khác để lấy được tên trái cây. Dưới đây mình giả sử là F2 với công thức là:

=IFERROR(VLOOKUP(A$, $A$1:$B$5, 2, FALSE), “”)

Bên dưới là những thao tác mà nó thực hiện:

VLOOKUP(A4, $A$1:$B$5, 2, FALSE): Hàm này được dùng để tìm kiếm giá trị trong ô A2 (303) trong cột đầu tiên của phạm vi bảng A1:B5. Với column_index_range được đặt là 2, hàm này sẽ trả về giá trị tương ứng từ cột thứ hai là (B). Trong ví dụ này, kết quả trả về sẽ là “Orange”tại ô B4.

IFERROR(result, “”): Nếu hàm VLOOKUP** trả về một giá trị hợp lệ (ví dụ như là: “Orange”), hàm IFERROR cũng trả về giá trị đó. Tuy nhiên, nếu hàm VLOOKUP gặp phải 1 vấn đề nào đó (ví dụ như: giá trị lookup_value không có trong table_array), nó sẽ trả về thành một chuỗi trống (“”).

Do đó, trong trường hợp này, công thức sẽ trả về là “Orange” bởi vì giá trị tìm kiếm (303) được tìm thấy trong cột đầu tiên của bảng và “Orange” là giá trị tương ứng trong cột thứ hai.

Cách dùng hàm Vlookup giữa 2 sheet

Nếu lookup_value có giá trị là 999 (mã không có trong bảng), công thức sẽ trả về một chuỗi trống (“”). Điều này xảy ra là bởi hàm VLOOKUP gặp lỗi và hàm IFERROR sẽ xử lý nó bằng cách trả về một chuỗi trống và hiện ra kết quả đó.

Cách dùng hàm Vlookup giữa 2 sheet

4. Cách dùng hàm Vlookup giữa 2 sheet khác nhau kết hợp cùng hàm INDIRECT

Phối hợp giữa công thức hàm VLOOKUP và INDIRECT là một cách dùng hàm VLOOKUP giữa các trang tính khác nhau trong Excel hiệu quả và hay ho. Dưới đây là công thức chung cho bạn:

VLOOKUP(lookup_value, INDIRECT(“‘”&INDEX(Lookup_sheets, MATCH(1, –(COUNTIF(INDIRECT(“‘” & Sheet_list & “‘!lookup_range”), lookup_value)>0), 0)) & “‘!table_array”), col_index_num, FALSE)

Trong đó gồm:

  • Lookup_sheets: Tên trang tính muốn tra cứu
  • Lookup_value: Giá trị muốn tìm kiếm
  • Lookup_range: Phạm vi cột trong trang tính để tra cứu nơi tìm kiếm giá trị cần tra cứu
  • Table_array: Chuỗi dữ liệu thuộc trang tính
  • Col_index_num: Số cột trả về 1 giá trị nằm trong bảng

Lưu ý:

  • Đảm bảo định dạng cột giống nhau cho tất cả các trang tính và sử dụng tổ hợp phím Ctrl + Shift + Enter để áp dụng công thức.
  • Đối với các trang tính có số lượng hàng khác nhau, bạn hãy chọn phạm vi rộng nhất để đảm bảo công thức hiển thị được tốt nhất.

Ví dụ như:

Hãy giả sử bạn có một workbook chứa nhiều sheet, bao gồm “Sheet1”, “Sheet2”, “Sheet3” và “Sheet4”. Bạn đang muốn tìm kiếm giá trị “X” trong các sheet này và trả về giá trị tương ứng từ cột thứ 2 trong phạm vi tìm kiếm.

Cách dùng hàm Vlookup giữa 2 sheet

Công thức này sẽ tìm kiếm giá trị “X” trong cột A từ hàng 2 đến hàng 6 trên các sheet là “Sheet1″, “Sheet2”, “Sheet3” và “Sheet4”. Nếu như tìm thấy, nó sẽ trả về giá trị tương ứng ở từ cột B, nghĩa là “Value1” (trong sheet “Sheet1”). Còn trong trường hợp không tìm thấy thì công thức sẽ trả về giá trị lỗi #N/A.

4.1. Cách dùng Vlookup giữa các trang tính bằng công thức

Chúng ta sẽ cùng xem qua cách dùng hàm Vlookup giữa 2 sheet hoặc nhiều hơn thông qua công thức cụ thể với ví dụ minh hoạ trên. Bên dưới đây là các bước làm cho bạn:

Bước 1: Để tra cứu các trang tính, hãy nhập tên của chúng vào trong cửa sổ làm việc và đặt tên cho phạm vi đó. Ví dụ, bạn có thể tạo một phạm vi tên là “Lookup_sheet” và liệt kê tên những trang tính vào đó.

Cách dùng hàm Vlookup giữa 2 sheet

Bước 2: Tiếp theo, chúng ta đồng bộ dữ liệu. Dưới đây là ví dụ minh hoạ để bạn biết cách dùng Vlookup giữa 2 sheet hoặc nhiều sheet khác nhau:

  • Tìm kiếm giá trị ở ô A2 (lookup_value).
  • Trong phạm vi thuộc từ  A2 đến A6 (lookup_range) ở 4 trang tính (East, North, South và West).
  • Trích xuất giá trị từ cột B (cột thứ hai) (col_index_num) trong phạm vi dữ liệu từ A2 tới C6 (table_array).

Bạn có thể áp dụng công thức:

=VLOOKUP($A2, INDIRECT(“‘”&INDEX(Lookup_sheet, MATCH(1, –(COUNTIF(INDIRECT(“‘”& Lookup_sheet&”‘!$A$2:$A$6″), $A2)>0), 0))&”‘!$A$2:$B$5”), 2, FALSE)

Hãy nhớ rằng trong công thức trên là cả 2 phạm vi ($A$2:$A$6 và $A$2:$B$5) đều được cố định lại bằng cách dùng tham chiếu ô tuyệt đối.

Bước 3: Để hoàn thành công thức dạng mảng, chúng ta nhập công thức vào ô đầu tiên (ví dụ: ô C2). Sau đó, nhấn tổ hợp phím Ctrl + Shift + Enter là công thức sẽ được áp dụng cho tất cả các ô trong cột.

Bước 4: Nếu muốn sao chép công thức xuống cột, mọi người click đúp chuột vào ô đầu tiên (ví dụ là: ô C2) hoặc kéo nốt fill handle (nút đen nằm ở góc dưới cùng bên phải ô đang chọn). Nó sẽ giúp áp dụng công thức cho toàn bộ các ô trong cột và trả về giá trị tương ứng từ những trang tính khác nhau.

Nhờ đó, bạn sẽ có được công thức VLOOKUP dùng để tra cứu giá trị trên nhiều trang tính và trả về kết quả tương ứng. Nếu không tìm thấy giá trị cụ thể, kết quả sẽ trả về lỗi #N/A.

Cách dùng hàm Vlookup giữa 2 sheet

Nếu muốn sửa lỗi #N/A thì chúng ta bổ sung thêm hàm IFNA cho công thức. Cụ thể là:

=IFNA(VLOOKUP($A2, INDIRECT(“‘”&INDEX(Lookup_sheet, MATCH(1, –(COUNTIF(INDIRECT(“‘”& Lookup_sheet&”‘!$A$2:$A$6″), $A2)>0), 0))&”‘!$A$2:$B$5″), 2, FALSE),”Not found”)

Kết quả ta nhận được là như hình dưới:

Cách dùng hàm Vlookup giữa 2 sheet

4.2. Áp dụng hàm Vlookup trên nhiều trang tính giữa những cửa sổ làm việc

Bạn có thể dùng công thức cơ bản này (hoặc bất kỳ biến thể nào) để áp dụng hàm VLOOKUP trên nhiều trang tính khác trong cùng một cửa sổ làm việc. Điều này có nghĩa là bạn có thể thêm tên cửa sổ làm việc vào công thức như công thức bên dưới:

=IFNA(VLOOKUP($A2, INDIRECT(“‘[Tên_tệp.xlsx]” & INDEX(Lookup_sheets, MATCH(1, –(COUNTIF(INDIRECT(“‘[Tên_tệp.xlsx]” & Lookup_sheets & “‘!$A$2:$A$6”), $A2)>0), 0)) & “‘!$A$2:$B$5”), 2, FALSE), “Not found”)

Ở công thức trên, bạn cần thay [Tên_tệp.xlsx] bằng tên của tệp Excel mà bạn có nhu cầu tra cứu. Chẳng hạn như nếu tên tệp là “Book1.xlsx”, chúng ta sẽ thay [Tên_tệp.xlsx] thành “Book1.xlsx”.

Đồng thời mọi người hãy đảm bảo rằng các trang tính trong tệp Excel đó đều có tên tương ứng với những gì được liệt kê trong phạm vi tên “Lookup_sheets”.

Nhờ công thức này, bạn có thể sử dụng hàm VLOOKUP cho nhiều trang tínhthuộc một cửa sổ làm việc khác nhau. Nếu giá trị tìm kiếm không được tìm thấy thì sẽ có thông báo “Not found” hiện ra.

Cách dùng hàm Vlookup giữa 2 sheet

4.3. Cách sử dụng hàm Vlookup giữa 2 sheet trả kết quả về nhiều cột

Nếu muốn biết được cách dùng hàm Vlookup giữa 2 sheet và trả về cho nhiều cột thì dưới đây là công thức chúng ta áp dụng:

=VLOOKUP($A2, INDIRECT(“‘”&INDEX(Lookup_sheets, MATCH(1, –(COUNTIF(INDIRECT(“‘”& Lookup_sheets &”‘!$A$2:$C$6″), $A2)>0), 0)) &”‘!$A$2:$C$6”), {2,3}, FALSE)

Trong đó bao gồm:

  • $A2: Giá trị mình cần tìm kiếm
  • Lookup_sheets: Phạm vi của tên trang tính mà chúng ta đặt trước đó gồm có các tên của trang tính mà mình cần tra cứu
  • INDEX(Lookup_sheets, MATCH(1, –(COUNTIF(INDIRECT(“‘”& Lookup_sheets &'”!$A$2:$C$6″), $A2)>0), 0)): Trả về tên của trang tính có chứa giá trị tìm kiếm. Công thức này áp dụng hàm MATCH để tìm vị trí giá trị tìm kiếm thuộc phạm vi A2:C6 trên những trang tính. Tiếp đến, nó dùng hàm INDEX để trích xuất tên trang tính
  • INDIRECT(“‘”&INDEX(Lookup_sheets, MATCH(1, –(COUNTIF(INDIRECT(“‘”& Lookup_sheets &”‘!$A$2:$C$6″), $A2)>0), 0)) &”‘!$A$2:$C$6”): Tạo một tham chiếu động tới phạm vi dữ liệu trên trang tính được xác định bằng tên của trang tính
  • {2,3}: Mộtmảng chỉ mục cột. Cụ thể, công thức VLOOKUP trả về giá trị trong cột thứ 2 và 3 của phạm vi dữ liệu
  • FALSE: Giúp chắc chắn rằng hàm VLOOKUP sẽ tìm được giá trị chính xác

Công thức này hỗ trợ  bạn tìm kiếm giá trị từ các cột khác nhau trong phạm vi dữ liệu thuộc nhiều trang tính và trả về thành nhiều cột tương ứng.

Cách dùng hàm Vlookup giữa 2 sheet

4.4. Hàm COUNTIF và INDIRECT

Chức năng của hàm INDIRECT là tạo các tham chiếu đến các sheet cần tra cứu. Còn hàm COUNTIF được sử dụng để đếm số lần xuất hiện của giá trị cần tra cứu (A2) trên từng sheet là:

-(COUNTIF( INDIRECT(“‘”&Lookup_sheets&”‘!$A$2:$A$6”), $A2)>0)

Cụ thể, bạn có thể tạo một (Lookup_sheets) và trỏ tới ô ($A$2:$A$6). Tiếp theo, mọi người cung cấp cho hàm INDIRECT một chuỗi văn bản được bổ sung dấu nháy đơn và dấu chấm than vào đúng vị trí để tạo được tham chiếu bên ngoài:

INDIRECT({“‘East’!$A$2:$A$6”; “‘South’!$A$2:$A$6”; “‘North’!$A$2:$A$6”; “‘West’!$A$2:$A$6”})

Hàm COUNTIF đóng vai trò quét qua phạm vi A2:A6 và đếm số lần xuất hiện của giá trị A2 trong trang tính. Dữ liệu cho thấy rằng số thứ tự 101 trong ô A2 xuất hiện trên trang tính WEST và có giá trị là 4 trong phạm vi được đặt tên. Do đó, COUNTIF trả về kết quả là mảng sau: {0;0;0;1}.

Sau toàn bộ những phép biến đổi, công thức ta thu được là:

VLOOKUP($A2, INDIRECT(“‘”&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0)) &”‘!$A$2:$C$6”), 2, FALSE)

Ví dụ:

Chúng ta có một danh sách các sheet trong workbook với các tên lần lượt là: “Sheet1”, “Sheet2”, “Sheet3” và “Sheet4”. Nếu muốn tìm kiếm giá trị trong cột A từ hàng 2 đến hàng 6 trên sheet thứ 4 (Sheet4), chúng ta truy cập cột thứ 2 trong phạm vi tìm kiếm.

Giá trị trong ô A2 là “X” và dữ liệu trên sheet thứ 4 (Sheet4) là như sau:

Cách dùng hàm Vlookup giữa 2 sheet

Công thức sau sẽ giúp bạn tìm ra giá trị “X” trong cột A từ hàng 2 đến hàng 6 trên sheet thứ 4 (Sheet4) và trả về giá trị từ cột B trong phạm vi tìm kiếm là “Value1”.

4.5. INDEX và MATCH

Lúc này, khi kết hợp giữa 2 hàm MATCH và INDEX thì chúng ta có công thức:

INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))

Ta sử dụng hàm MATCH để tìm giá trị 1 trong mảng {0;0;0;1} và trả về vị trí của nó là 4:

INDEX(Lookup_sheets, 4)

Khi đó, hàm INDEX sử dụng giá trị được trả về từ MATCH như một tham số hàng. Sau đó, nó trả về giá trị 4 nằm trong phạm vi được đặt tên là lookup_sheets. Trong đó, lookup_sheets là WEST.

Nhờ đó, ta có thể tối giản công thức của 2 hàm khi kết hợp chúng lại với nhau là:

VLOOKUP($A2, INDIRECT(“‘”&”West”&”‘!$A$2:$C$6”), 2, FALSE)

Dưới đây là 1 ví dụ:

Hãy tưởng tượng rằng bạn đang sử dụng một tệp Excel với một sheet có tên “West”. Bạn muốn tìm kiếm giá trị trong cột A từ hàng 2 đến hàng 5 trên sheet “West” và trả về giá trị từ cột thứ 2 trong phạm vi tìm kiếm đó.

Giả sử giá trị trong ô A2 là “Cam” và trên sheet “West”, dưới đây là dữ liệu chúng ta có:

Cách dùng hàm Vlookup giữa 2 sheet

Công thức dưới đây sẽ tìm giá trị “Cam” trong cột A từ hàng 2 đến hàng 5 trên sheet “West”. Tiếp đến, nó trả về giá trị từ cột B trong phạm vi tìm kiếm, có nghĩa là “100”.

4.6. Hàm VLOOKUP và INDIRECT

Ví dụ:

Dùng hàm VLOOKUP và Indirect để tính phí ship theo số lượng từng đơn hàng.

Giải thích:

  • C2: Giá trị mà bạn đang tìm kiếm trong phạm vi
  • “SP”&B2: Một chuỗi văn bản được tạo ra thông qua phương thức nối “SP” với giá trị ở ô B2. Kết quả sau cùng của chuỗi  là một tham chiếu tới một phạm vi cụ thể được chứa ở trong workbook
Cách dùng hàm Vlookup giữa 2 sheet

5. Dùng Hàm VLOOKUP động để trả về dữ liệu từ nhiều trang tính tới những ô khác nhau

Để hiểu khái niệm “dynamic” hay còn được gọi là “động”, hãy cùng xem hình minh họa dưới đây:

Cách dùng hàm Vlookup giữa 2 sheet

Điểm khác nhau ở đây là chúng ta đang tìm cách trích xuất các giá trị từ nhiều trang tính cùng một lúc. Có hai giải pháp khác nhau và bạn đều cần chuẩn bị và đặt tên cho phạm vi dữ liệu trong mỗi bảng tra cứu. Các phạm vi này được xác định theo ví dụ là như sau:

  • Vietnam_Sales – A2: Từ ô B3 trên trang tính Việt Nam.
  • Lao_Sales – A2: Từ ô B3 trên trang tính Lào.
  • Campuchia_Sales – A2: Từ ô B3 trên trang tính Campuchia.

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

Dưới đây là công thức chúng ta có:

=VLOOKUP($A2, IF(B$1=”east”, East_Sales, IF(B$1=”north”, North_Sales, IF(B$1=”south”, South_Sales, IF(B$1=”west”, West_Sales)))), 2, FALSE)

Nếu B1 được đặt là EAST, chúng tahãy tìm trong phạm vi có tên East_Sales. Nếu B1 được đặt là North, hãy tìm trong phạm vi có tên North_Sales. Với South và West thì cũng là tương tự.

Hàm IF sẽ thực hiện và trả về một phạm vi. Nó sẽ được chuyển đến table_array của hàm VLOOKUP. Dải này sẽ kéo giá trị khớp từ cột thứ 2 tương ứng trên trang tính.

Việc sử dụng hiệu quả các tham chiếu hỗn hợp (mixed reference) cho ra giá trị tra cứu ($A2 – cột tuyệt đối và hàng tương đối) và phép kiểm tra logic IF (B$1 – cột tương đối và hàng tuyệt đối) hỗ trợ sao chép công thức sang các ô khác mà không có bất kỳ thay đổi nào. Cụ thể, Excel sẽ điều chỉnh tham chiếu dựa trên vị trí tương đối của hàng và cột.

Cách dùng hàm Vlookup giữa 2 sheet

5.2. INDIRECT VLOOKUP

Nếu bạn cảm thấy quá trình làm việc với nhiều trang tính quá phức tạp và khó hiểuthì hãy thử tạo một hàm Vlookup động với sự hỗ trợ của INDIRECT. Cách này sẽ giúp bạn tiết kiệm thời gian và làm việc hiệu quả hơn. Công thức cụ thể là:

=VLOOKUP(B2, INDIRECT(“GIAMGIA”), 2, 0)

Công thức trên sử dụng hàm VLOOKUP để tìm kiếm giá trị trong một phạm vi và trả về giá trị tương ứng từ cột khác trong phạm vi đó. Sau đó, nó dùng hàm INDIRECT để chuyển đổi một chuỗi văn bản thành một tham chiếu nằm trong công thức.

Cách dùng hàm Vlookup giữa 2 sheet

6. Nguyên nhân và cách khắc phục lỗi công thức Vlookup giữa 2 sheet hoặc 2 file đơn giản

Khi các bạn đã áp dụng những cách dùng hàm Vlookup giữa 2 trang tính trên mà hiện ra kết quả là lỗi #REF! thì điều này đồng nghĩa là Excel không tìm được phạm vi table_array được người dùng chỉ định. Một vài nguyên nhân có thể là:

  • Nếu bạn đã đóng file chứa phạm vi table_array trong quá trình nhập công thức thì sẽ khiến cho Excel không thể kết nối với file đó và hiển thị thông báo lỗi #REF!.
  • Nếu bạn đã di chuyển, đổi tên hoặc xóa file chứa phạm vi table_array sau khi nhập công thức thì làm cho Excel không thể tìm thấy file đó và sẽ báo lỗi #REF!.
  • Khi bạn đã thay đổi tên sheet hoặc cấu trúc của phạm vi table_array sau khi nhập công thức thì làm Excel không thể tìm thấy phạm vi table_array mà chúng đã chỉ định và khiến lỗi #REF! phát sinh.

Dưới đây là vài cách khắc phục lỗi này:

  • Kiểm tra lại đường dẫn file chứa phạm vi table_array trong công thức và đảm bảo rằng file vẫn tồn tại, không bị di chuyển, đổi tên hay xóa.
  • Khi các bạn nhập hoặc tính toán lại công thức, hãy mở file chứa phạm vi table_array và để nó luôn mở.
  • Kiểm tra lại tên sheet và cấu trúc của phạm vi table_array trong file đó và đảm bảo rằng chúng không bị thay đổi sau khi mình nhập công thức.
  • Nếu bạn đã thay đổi tên sheet hoặc cấu trúc của phạm vi table_array thì hãy cập nhật lại công thức để hệ thống biết được những thay đổi đó.

7. Tổng kết

Hy vọng bài viết 10 cách dùng hàm Vlookup giữa 2 sheet và file Excel nhanh ở trên cũng giúp bạn thuần thục hàm này. Chúc các bạn thực hiện thành công nhé.

Đừng quên liên tục theo dõi những gì mà Dchannel chia sẻ để cập nhật mới mọi thứ về công nghệ hiện nay nhé. Mình xin cám ơn các bạn thật nhiều vì đã bỏ chút thời gian đọc bài viết này.

Và quan trọng là hãy cùng tới ngay Di Động Việt để tận hưởng không gian mua sắm đẳng cấp cũng như được trải nghiệm các sản phẩm về công nghệ tiên tiến, hiện đại. Với thông điệp “CHUYỂN GIAO GIÁ TRỊ VƯỢT TRỘI”, hệ thống các chi nhánh Di Động Việt toàn quốc tự hào mang đến cho bạn những thiết bị với siêu hời hấp dẫn và rất nhiều ưu đãi đỉnh cao với số lượng, thời gian có hạn. Đừng bỏ lỡ cơ hội tuyệt vời này để chớp lấy các deal hời và ngon nhé!


Xem thêm:


Di Động Việt

5/5 - (1 bình chọn)
Avatar of Đạt Phan

Xin chào, mình là Phan Thái Đạt, đang giữ vai trò Leader Content SEO tại Di Động Việt từ năm 2022. Với niềm đam mê, nhiệt huyết trong mảng công nghệ và 4 năm kinh nghiệm trong lĩnh vực, mình đã góp phần đem lại cho hàng ngàn bạn đọc nhiều thông tin hữu ích và thú vị. Mong rằng những gì mình chia sẻ sẽ giúp bạn càng am hiểu và khám phá được nhiều thứ mới mẻ hơn nữa về công nghệ.

Bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *