Cách Lấy Thông Tin Từ Sheet Khác Trong Excel: Hướng Dẫn Chi Tiết Và Các Phương Pháp Tối Ưu

Giới thiệu

Trong thế giới của bảng tính, việc chia sẻ dữ liệu giữa các sheet trong cùng một workbook trở nên hết sức quan trọng. Bạn có thể lưu trữ dữ liệu nguồn trong một sheet, sau đó tham chiếu đến dữ liệu đó trong các sheet khác để thực hiện tính toán, báo cáo, hoặc phân tích. Tuy nhiên, nhiều người mới bắt đầu lại gặp khó khăn khi cần lấy thông tin từ một sheet khác. Bài viết này sẽ trình bày chi tiết các phương pháp lấy dữ liệu từ sheet khác trong Excel, từ công thức đơn giản đến cách dùng Power Query, VBA, và thậm chí là cách liên kết tới các workbook khác. Bạn sẽ có thể áp dụng ngay vào công việc để tăng năng suất và độ chính xác trong công việc quản lý dữ liệu.

Mục tiêu: Cung cấp một hướng dẫn toàn diện, từ cơ bản đến nâng cao, giúp người dùng mọi cấp độ đều có thể làm chủ việc lấy thông tin từ sheet khác trong ultimate Excel.

1. Tại sao cần lấy thông tin từ sheet khác?

  1. Tách rời dữ liệu: Kế hoạch, dữ liệu thực tế, và báo cáo thường được lưu trữ trong các sheet riêng biệt để tránh nhầm lẫn và bảo trì.
  2. Tính toán động: Khi dữ liệu nguồn thay đổi, các sheet liên quan tự động cập nhật, giúp giảm thiểu công sức thủ công.
  3. Bảo vệ dữ liệu: Bạn có thể bảo vệ sheet dữ liệu nguồn để tránh chỉnh sửa ngẫu nhiên, trong khi các sheet khác chỉ đọc.
  4. Tối ưu hiệu suất: Khi workbook lớn, việc chia dữ liệu giúp giảm độ phức tạp và thời gian tính toán.

2. Kỹ thuật cơ bản: Sử dụng công thức tham chiếu sheet

Đây là cách nhanh nhất và phổ biến nhất. Bạn chỉ cần viết công thức với tên sheet, dấu chấm phẩy, và ô cần lấy.

2.1 Cú pháp cơ bản

='TênSheet'!A1
  • TênSheet: Tên của sheet nguồn. Nếu tên có dấu cách hoặc ký tự đặc biệt, hãy đặt trong dấu '.
  • A1: Địa chỉ ô cần lấy.

2.2 Ví dụ thực tế

Giả sử bạn có sheet DữLiệu chứa bảng dữ liệu bán hàng. Bạn muốn lấy giá trị từ ô C5 trong sheet BáoCáo.

='DữLiệu'!C5

Khi giá trị tại C5 thay đổi, ô trong sheet BáoCáo tự động cập nhật.

2.3 Tham chiếu vùng

Nếu bạn cần lấy nhiều ô, bạn có thể tham chiếu vùng:

='DữLiệu'!A1:D10

Tuy nhiên, trong Excel, bạn không thể đặt một vùng trọn vẹn vào một ô duy nhất. Thay vào đó, bạn có thể dùng công thức mảng (array formula) hoặc sử dụng các hàm như INDEX, MATCH, OFFSET để truy xuất dữ liệu cụ thể.

3. Sử dụng hàm INDEX + MATCH để lấy dữ liệu động

Hàm INDEX và MATCH kết hợp giúp bạn lấy dữ liệu dựa trên điều kiện, tránh ràng buộc chặt chẽ với vị trí ô.

3.1 Cú pháp

=INDEX('TênSheet'!$A$1:$Z$100, MATCH(Kiểu, 'TênSheet'!$A$1:$A$100, 0), Cột)
  • Kiểu: Giá trị bạn muốn tìm kiếm.
  • Cột: Số thứ tự cột trong vùng INDEX.

3.2 Ví dụ

Bạn muốn tìm số lượng bán cho sản phẩm có mã P001 trong sheet DữLiệu.

=INDEX('DữLiệu'!$B$2:$B$100, MATCH("P001", 'DữLiệu'!$A$2:$A$100, 0), 1)

Điều này sẽ trả về số lượng bán (cột B) của mã sản phẩm P001.

3.3 Ưu điểm

  • Linh hoạt: Không bị ràng buộc với vị trí ô cố định.
  • Dễ bảo trì: Thay đổi cấu trúc bảng dữ liệu sẽ không làm hỏng công thức.

4. Sử dụng hàm VLOOKUP và HLOOKUP

Đây là hai hàm rất phổ biến để tìm kiếm dữ liệu theo cột hoặc hàng.

4.1 VLOOKUP

=VLOOKUP(Kiểu, 'TênSheet'!$A$1:$D$100, 3, FALSE)
  • Kiểu: Giá trị cần tìm.
  • 3: Số cột trong vùng trả về dữ liệu.
  • FALSE: Tìm kiếm chính xác.

4.2 HLOOKUP

Tương tự nhưng tìm kiếm theo hàng.

=HLOOKUP(Kiểu, 'TênSheet'!$A$1:$Z$10, 4, FALSE)

4.3 Khi nào sử dụng

  • Khi dữ liệu cấu trúc đơn giản và bạn biết chính xác vị trí cột trả về.
  • Nếu bảng dữ liệu_balance không được sắp xếp theo thứ tự tăng dần, hãy sử dụng FALSE để tránh lỗi.

5. Sử dụng hàm INDIRECT để tham chiếu động

INDIRECT cho phép bạn tạoanele tham chiếu dựa trên chuỗi ký tự, rất hữu ích khi bạn cần tính toán tên sheet hoặc ô một cách động.

5.1 Cú pháp

=INDIRECT("'"+TênSheet+"'"&"!"&"A1")
  • TênSheet: Ô chứa tên sheet mà bạn muốn tham chiếu.

5.2 Ví dụ

Bạn có ô B1 chứa tên sheet DữLiệu. Bạn muốn lấy giá trị từ C5 trong sheet đó.

=INDIRECT("'"&B1&"'!C5")

Khi thay đổi nội dung của B1, công thức sẽ tự động lấy dữ liệu từ sheet mới nhất.

5.3 Giới hạn

  • INDIRECT làm tăng độ phức tạp và thời gian tính toán, nên tránh sử dụng quá nhiều trong workbook lớn.
  • Khi sheet bị đổi tên, công thức vẫn hoạt động nếu tên sheet được cập nhật trong ô tham chiếu.

6. Sử dụng Power Query để lấy dữ liệu từ sheet khác

Power Query (trong Excel 2026 trở đi) là công cụ mạnh mẽ để nhập, chuyển đổi, và kết hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm cả sheet trong workbook.

6.1 Tạo truy vấn từ sheet

Cách Lấy Thông Tin Từ Sheet Khác Trong Excel
Cách Lấy Thông Tin Từ Sheet Khác Trong Excel
  1. Chọn tab Dữ liệu > Từ bảng/đối tượng.
  2. Excel sẽ tự động nhận diện vùng dữ liệu trong sheet hiện tại. Nếu muốn chọn sheet khác, chọn Từ bảng > Từ các nguồn dữ liệu khác > Excel Workbook > chọn file và sheet.
  3. Trong Power Query, bạn có thể áp dụng các bước chuyển đổi: lọc, sắp xếp, chuyển đổi kiểu dữ liệu, nhóm dữ liệu,…

6.2 Kết nối hai bảng

Giả sử bạn có bảng BánHàng và bảng ChiPhi. Bạn muốn tạo một bảng kết hợp để tính lợi nhuận.

  • Sử dụng _preds: Trong Power Query, chọn Merge Queries (Hợp nhất truy vấn) theo cột khóa chung (vd. MãSảnPhẩm).
  • Chọn loại hợp nhất: Inner, Left Outer, Right Outer, Full Outer tùy nhu cầu.
  • Sau khi hợp nhất, bạn có thể tính cột mới: LợiNhuận = DoanhThu - ChiPhi.

6.3 Lợi ích

-оставка: Power Query thực thi quá trình tải dữ liệu một lần, sau đó tính toán mới dựa trên dữ liệu đã nạp.
– Tự động cập nhật khi dữ liệu nguồn thay đổi (bằng cách làm mới truy vấn).
– Xử lý dữ liệu lớn mà công thức truyền thống khó quản lý.

7. Sử dụng VBA để lấy dữ liệu từ sheet khác

Khi công thức hoặc Power Query không đáp ứng đủ nhu cầu (ví dụ: cần tự động cập nhật khi mở workbook, hoặc xử lý tuần tự phức tạp), bạn có thể viết macro VBA.

7.1 Tham chiếu ô trong VBA

Sub LấyDữLiệu() Dim wsNguon As Worksheet Dim wsĐích As Worksheet Dim giáTrị As Variant Set wsNguon = ThisWorkbook.Sheets("DữLiệu") Set wsĐích = ThisWorkbook.Sheets("BáoCáo") giáTrị = wsNguon.Range("C5").Value wsĐích.Range("B2").Value = giáTrị
End Sub

7.2 Lấy dữ liệu dựa trên điều kiện

Sub TìmKiếm() Dim wsNguon As Worksheet Dim wsĐích As Worksheet Dim rng As Range Dim tìmKiếm As String Dim kếtQuả As Range Set wsNguon = ThisWorkbook.Sheets("DữLiệu") Set wsĐích = ThisWorkbook.Sheets("BáoCáo") tìmKiếm = "P001" Set rng = wsNguon.Range("A2:A100") Set kếtQuả = rng.Find(What:=tìmKiếm, LookIn:=xlValues, LookAt:=xlWhole) If Not kếtQuả Is Nothing Then wsĐích.Range("B2").Value = wsNguon.Cells(kếtQuả.Row, "B").Value Else MsgBox "Không tìm thấy mã sản phẩm." End If
End Sub

7.3 Khi nào sử dụng VBA

  • Khi cần tự động hóa quy trình phức tạp (ví dụ: lấy dữ liệu từ nhiều sheet, tính toán, xuất báo cáo).
  • Khi muốn thực thi tác vụ ngay khi workbook mở (định nghĩa sự kiện Workbook_Open()).
  • Khi cần lưu trữ dữ liệu vào file riêng (CSV, TXT, hoặc database).

8. Liên kết tới workbook khác

Đôi khi dữ liệu nguồn nằm trong file Excel khác. Bạn có thể tạo liên kết động tới file đó.

8.1 Cách tạo liên kết

  1. Mở cả hai workbook.
  2. Trong workbook đích, Excelente chọn ô, nhập công thức bắt đầu bằng dấu =.
  3. Chuyển sang workbook nguồn, chọn ô hoặc vùng cần lấy dữ liệu.
  4. Nhấn Enter. Excel sẽ tự động tạo liên kết.

Công thức sẽ trông như sau:

='WorkbookNguon.xlsxDữLiệu'!C5

8.2 Cập nhật liên kết

  • Khi workbook nguồn thay đổi tên file hoặc đặt vào thư mục khác, liên kết sẽ bị lỗi. Bạn có thể cập nhật thủ công hoặc dùng چی.

8.3 Lưu-offline

  • Nếu không Loe, bạn có thể sao chép dữ liệu một lần và dán giá trị (Paste Special > Values).

9. Thực hành: Xây dựng một bảng tính báo cáo doanh thu

Hãy đi qua một ví dụ thực tế: Bạn có bảng dữ liệu DoanhThu trong sheet RawData. Bạn muốn tạo bảng báo cáo doanh thu theo tháng trong sheet Report.

9.1 Bảng dữ liệu nguồn

NgàyMãSảnPhẩmSốLượngGiá
01/01/2026P00110100
02/01/2026P0025200
03/01/2026P0018100
…………

9.2 Tính doanh thu từng bản ghi

Trong RawData, thêm cột DoanhThu:

= SốLượng Giá

9.3 Tạo bảng PivotTable

  1. Chọn dữ liệu trên RawData.
  2. Chèn PivotTable vào sheet Report.
  3. Thêm Ngày vào Hàng, DoanhThu vào Giá trị (tổng).
  4. Định dạng ngày thành tháng: Tháng/ Năm.

9.4 Tự động cập nhật

Khi dữ liệu nguồn thay đổi, bạn chỉ cần refresh PivotTable:

  • Chuột phải vào PivotTable > Refresh.

9.5 Thêm tính năng tự động lấy dữ liệu

Nếu bạn muốn tự động refresh khi mở workbook, thêm macro:

Private Sub Workbook_Open() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Name = "Report" Then ws.PivotTables("PivotTable1").RefreshTable End If Next ws
End Sub

10. Các lưu ý khi lấy dữ liệu từ sheet khác

Lưu ýMô tả
Đảm bảo tên sheet chính xácNếu tên có dấu cách, đặt trong dấu '.
Tránh tham chiếu mảng quá lớnKhi dữ liệu lớn, công thức mảng làm giảm hiệu suất.
Sử dụng hàm IFERRORTránh lỗi khi dữ liệu không tồn tại.
Bảo vệ sheet dữ liệu nguồnĐặt mật khẩu hoặc chỉ đọc để tránh chỉnh sửa không chủ ý.
Sử dụng công cụ Power QueryKhi làm việc với dữ liệu lớn hoặc nguồn dữ liệu nhiều.
Kiểm tra tính năng “Refresh”Đặc biệt khi liên kết giữa các workbook.
Định dạng dữ liệu đúngTránh chỗ trống, ký tự đặc biệt, và kiểu dữ liệu không đồng nhất.
Đặt tên vùng có tênDễ dàng tham chiếu bằng tên thay vì địa chỉ ô.

11. Kết luận

Lấy thông tin từ sheet khác trong Excel là một kỹ năng quan trọng giúp bạn tối ưu hóa quy trình làm việc, giảm sai sót và tăng tính linh hoạt trong quản lý dữ liệu. Bạn có thể bắt đầu bằng công thức đơn giản như ='TênSheet'!A1, sau đó mở rộng sang các hàm nâng cao (INDEX+MATCH, VLOOKUP, HLOOKUP), công cụ Power Query, hoặc VBA tùy theo nhu cầu phức tạp.

Những lưu ý về hiệu suất, bảo mật, và việc sử dụng đúng công cụ sẽ giúp bạn xây dựng một workbook chuyên nghiệp, dễ bảo trì và dễ mở rộng. Hãy thử áp dụng những phương pháp này vào dự án của bạn và cảm nhận sự khác biệt trong cách bạn quản lý dữ liệu.

Bắt đầu ngay – mở Excel, tạo một vài sheet, và thực hiện các công thức tham chiếu. Bạn sẽ nhanh chóng thấy sự tiện lợi và sức mạnh của việc lấy dữ liệu từ sheet khác!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận