Hướng dẫn cho người mới bắt đầu về các hàm lồng nhau trong Excel

Lồng hàm (Nesting) trong Microsoft Excel bao gồm việc sử dụng một hàm làm đối số cho một hàm khác, cho phép bạn thực hiện nhiều phép tính cùng một lúc. Nó giúp bạn không cần phải sử dụng các cột phụ trợ (helper columns) hoặc viết nhiều công thức khác nhau trong các ô khác nhau, giữ cho trang tính của bạn gọn gàng và hiệu quả hơn.
Để theo dõi khi đọc hướng dẫn này, hãy tải xuống miễn phí bản sao của tệp Excel được sử dụng trong các ví dụ. Sau khi nhấp vào liên kết, bạn sẽ tìm thấy nút tải xuống ở góc trên bên phải màn hình và khi mở tệp, bạn có thể truy cập từng ví dụ trên một tab trang tính riêng biệt.
Xem thêm: Hướng dẫn cách tắt hoặc gỡ cài đặt Copilot khỏi Windows 11
1. Các định nghĩa chính
Hướng dẫn này sử dụng ba thuật ngữ sau xuyên suốt, vì vậy hãy dành chút thời gian để hiểu ý nghĩa của chúng:
- Công thức (Formula): Sự kết hợp của các hàm, tham chiếu ô, giá trị, toán tử và tên, khi được sử dụng cùng nhau theo sau dấu bằng (=), sẽ tạo ra một giá trị mới.
- Hàm (Function): Một công thức được xác định trước, thực hiện phép tính bằng cách sử dụng các đối số theo một thứ tự cụ thể.
- Đối số (Argument): Một giá trị đầu vào cung cấp thông tin cho một hàm.
2. Lồng hàm trong hàm IF trong Excel
Nếu bạn là người mới làm quen với các hàm lồng nhau trong Excel, bạn nên bắt đầu bằng cách sử dụng hàm IF:
=IF(a,b,c)
trong đó đối số a
là một phép kiểm tra logic, đối số b
là giá trị trả về nếu phép kiểm tra được đáp ứng, và đối số c
là giá trị trả về nếu phép kiểm tra không được đáp ứng. Đối với phép kiểm tra logic trong đối số a
, bạn có thể lồng một hàm khác.
Tất cả các ví dụ trong hướng dẫn này đều sử dụng các phạm vi thông thường và tham chiếu ô trực tiếp để các công thức dễ hiểu hơn và việc lồng hàm dễ thấy hơn.
Trong ví dụ này, tiền thưởng được trả nếu tổng lợi nhuận của nhóm (tổng giá trị trong các ô B2 đến B6) vượt quá ngưỡng (giá trị trong ô E1). Nếu đạt ngưỡng, bạn muốn ô E2 hiển thị Yes, và nếu không đạt, bạn muốn nó hiển thị No. Công thức để đạt được điều này là:
=IF(SUM(B2:B6)>=E1,"Yes","No")
Vậy, điều này hoạt động như thế nào?
Khi tạo hoặc đọc các công thức có chứa các hàm lồng nhau, điều cốt lõi là bắt đầu từ trung tâm và làm việc ra bên ngoài. Trung tâm của công thức này là tổng các giá trị trong các ô B2 đến B6, vì vậy đây là nơi bạn cần bắt đầu:
=SUM(B2:B6)
Tiếp theo, bạn muốn Excel đánh giá xem tổng này có bằng hoặc lớn hơn giá trị trong ô E1 hay không. Theo mặc định, Excel trả về TRUE nếu kết quả đánh giá là đúng, hoặc FALSE nếu sai — còn được gọi là giá trị Boolean:
=SUM(B2:B6)>=E1
Bây giờ, thay vì trả về giá trị Boolean, bạn muốn Excel trả về Yes hoặc No. Do đó, bạn cần bọc công thức SUM bên trong hàm IF, để phép tính tổng là phép kiểm tra logic (đối số a
):
=IF(SUM(B2:B6)>=E1,"Yes","No")
Chìa khóa để làm việc với các hàm lồng nhau là hiểu thứ tự mà mọi thứ được tính toán. Như bạn có thể thấy trong ví dụ trên, các hàm lồng nhau được xử lý trước, và kết quả của chúng cung cấp dữ liệu cho các phần bên ngoài của công thức. Vì vậy, nếu bạn đang tạo một công thức phức tạp với nhiều hàm lồng nhau, hãy làm việc từ trong ra ngoài.
Bạn không nhất thiết phải sử dụng hàm SUM bên trong IF. Trên thực tế, bạn có thể lồng hầu hết mọi hàm làm phép kiểm tra logic. Ở đây, hàm AVERAGE tính toán trung bình của các giá trị trong các ô B2 đến F2, và nếu kết quả lớn hơn 5.000, công thức trả về Yes (hoặc No nếu không):
=IF(AVERAGE(B2:F2)>5000,"Yes","No")
Sau đó, bạn có thể nhấp đúp vào nút điền (fill handle) ở góc dưới bên phải của ô G2 để mở rộng công thức sang các ô còn lại trong cột G.
Lần này, hàm OR mở ra hai tùy chọn cho phép kiểm tra logic của hàm IF. Nói cách khác, nếu giá trị trong B2 là Ordered (Đã đặt hàng) hoặc In transit (Đang vận chuyển), công thức trả về In progress (Đang tiến hành). Ngược lại, nó trả về Completed (Hoàn thành):
=IF(OR(B2="Ordered",B2="In transit"),"In progress","Completed")
Một lần nữa, việc nhấp đúp vào nút điền sẽ áp dụng công thức cho các hàng còn lại trong tập dữ liệu.
3. Các ví dụ khác về lồng hàm trong Excel
Khi bạn bắt đầu thử nghiệm với các hàm khác, sức mạnh của việc lồng hàm sẽ nhanh chóng trở nên rõ ràng.
3.1. Lồng hàm FILTER bên trong hàm UNIQUE
Trong trường hợp này, mục tiêu của bạn là trích xuất tên của tất cả những người đã giành được giải thưởng ở New York.
Nói cách khác, bạn muốn sử dụng hàm FILTER để tạo lại một phiên bản đã lọc của cột C. Để làm điều này, hãy gõ:
=FILTER(C2:C15,B2:B15=F1)
vào ô E2 và nhấn Enter. C2:C15
là mảng bạn muốn lọc (tên người), và B2:B15=F1
yêu cầu Excel chỉ bao gồm các giá trị mà giá trị tương ứng trong cột B bằng giá trị trong ô F1 (New York).
Tuy nhiên, như bạn có thể thấy trong ảnh chụp màn hình ở trên, một trong các tên bị lặp lại vì người đó đã thắng hai lần ở New York. Vì vậy, bạn cần lồng hàm FILTER bên trong hàm UNIQUE để chỉ trả về mỗi tên một lần:
=UNIQUE(FILTER(C2:C15,B2:B15=F1))
Điều cốt lõi trong quá trình này là buộc Excel thực hiện phép tính chính trước, sau đó sử dụng kết quả của công thức này để điều khiển một công thức khác.
Các hàm lồng nhau không yêu cầu dấu bằng (=). Dấu bằng chỉ cần thiết ở đầu để báo cho Excel biết bạn đang nhập một công thức vào ô.
3.2. Lồng hàm XMATCH bên trong hàm INDEX
Một trong những cặp hàm phổ biến nhất của Excel là INDEX và XMATCH, chúng hoạt động cùng nhau để truy xuất và trích xuất một giá trị từ tập dữ liệu.
Ở đây, sau khi nhập ID của một người chơi vào ô F2, bạn muốn trả về điểm số của họ trong ô G2.
Để làm điều này, bạn có thể sử dụng hàm INDEX:
=INDEX(a,b,c)
trong đó a
là mảng để quét, b
là số hàng, và c
là số cột.
Đối với đối số b
, vì hàng thay đổi tùy thuộc vào ID người chơi bạn nhập vào ô F2, bạn cần lồng hàm XMATCH, hàm tìm kiếm một mục được chỉ định và trả về vị trí tương đối của nó. Và vì cách tiếp cận tốt nhất để lồng hàm trong Excel là bắt đầu với các hàm lồng nhau, nên đây là nơi bạn nên bắt đầu. Vì vậy, trong ô G2, hãy gõ:
=XMATCH(F2,A2:A6)
Khi bạn nhấn Enter, công thức này trả về 4 một cách chính xác, vì người chơi D nằm ở hàng thứ tư của phạm vi A2 đến A6.
Bây giờ, công thức XMATCH này có thể hoạt động như đối số b
của hàm INDEX, vì vậy bây giờ bạn cần bọc phần còn lại của các đối số INDEX xung quanh XMATCH:
=INDEX(a,XMATCH(F2,A2:A6),c)
Đối số c
sẽ là 4 vì bạn muốn trả về giá trị từ cột thứ tư (total – tổng cộng):
=INDEX(a,XMATCH(F2,A2:A6),4)
Vì vậy, bây giờ, tất cả những gì cần thiết là nhập đối số a
, và vì đây là toàn bộ mảng để quét, nên nó sẽ là các ô A2 đến D6:
=INDEX(A2:D6,XMATCH(F2,A2:A6),4)
Bây giờ, khi bạn nhập một người chơi khác vào ô F2, XMATCH lồng nhau sẽ tìm kiếm nó trong các ô A2 đến A6, và trả về vị trí tương đối của nó cho đối số b
của hàm INDEX.
Để làm cho một công thức phức tạp với các hàm lồng nhau dễ hiểu và dễ phân tích hơn, hãy tách công thức thành nhiều dòng trên thanh công thức bằng cách sử dụng Alt+Enter. Sau khi thực hiện việc này, hãy nhấp và kéo phần dưới của thanh công thức xuống dưới để bạn có thể xem tất cả các dòng của công thức cùng một lúc.
Nếu bạn không phải lúc nào cũng muốn trả về tổng cộng ở cột thứ tư, bạn có thể tiến thêm một bước và lồng một công thức XMATCH khác để xác định số cột:
=INDEX(A1:D6,XMATCH(F2,A1:A6),XMATCH(G2,A1:D1))
Trong trường hợp này, đối với đối số c
, XMATCH lấy giá trị trong ô G5, tìm kiếm nó trong các ô A1 đến D1, và trả về vị trí tương đối của nó.
3.3. Lồng hàm MAX bên trong hàm AVERAGE
Giả sử bạn có bảng tính này, chứa điểm số của năm người chơi qua ba trò chơi, và mục tiêu của bạn là tìm điểm trung bình của các điểm cao nhất trong mỗi trò chơi.
Nói cách khác, trước tiên bạn cần Excel tính ra các điểm tối đa (MAX) trong các ô B2 đến B6, C2 đến C6, và D2 đến D6, tương ứng, trước khi tính trung bình (AVERAGE) kết quả đó. Vì vậy, hàm MAX cần được lồng bên trong hàm AVERAGE.
Đầu tiên, thiết lập ba hàm MAX lồng nhau, lưu ý rằng các đối số cho hàm AVERAGE được phân tách bằng dấu phẩy:
MAX(B2:B6),MAX(C2:C6),MAX(D2:D6)
Bây giờ, khi chế độ Enter vẫn được kích hoạt, hãy bọc hàm AVERAGE xung quanh các công thức MAX lồng nhau này:
=AVERAGE(MAX(B2:B6),MAX(C2:C6),MAX(D2:D6))
Trước khi lồng hàm, hãy dành một chút thời gian để kiểm tra xem các đối số của một hàm có khả năng thực hiện cùng một việc hay không. Ví dụ, bạn không cần lồng XLOOKUP bên trong IFERROR, vì XLOOKUP có đối số xử lý lỗi riêng.
4. Lồng hàm bên trong chính hàm đó
Cho đến nay, tất cả các ví dụ đều lồng một hàm bên trong một hàm khác. Tuy nhiên, đôi khi, bạn có thể cần lồng một hàm bên trong chính nó. Lẫn lộn ư? Hãy để tôi chỉ cho bạn cách điều này hoạt động bằng cách sử dụng hàm IF.
Trong trang tính này, tiền thưởng của nhân viên được xác định bằng lợi nhuận họ tạo ra. Cụ thể, lợi nhuận trên $25.000 sẽ nhận được tiền thưởng 10%, lợi nhuận trên $20.000 trả về tiền thưởng 5%, lợi nhuận trên $15.000 mang lại tiền thưởng 2%, và lợi nhuận trên $10.000 mang lại tiền thưởng 1%.
Hãy đảm bảo rằng tất cả các ô liên quan đã được áp dụng định dạng số Percentage (Phần trăm) để chúng hiển thị dưới dạng giá trị phần trăm thay vì số thập phân.
Trong trường hợp này, bạn cần lồng hàm IF để tạo ra một hệ thống đánh giá theo bậc từ cao nhất đến thấp nhất. Điều này là do các hàm IF lồng nhau đánh giá từ trái sang phải, dừng lại ở điều kiện đầu tiên là đúng. Vì vậy, trong ô C2, hãy gõ:
=IF(B2>25000,10%
nhưng đừng nhấn Enter vội. Phần đầu tiên này yêu cầu Excel đánh giá ô B2, và nếu nó lớn hơn $25.000 (nói cách khác, nếu nó đánh giá phép kiểm tra logic là TRUE), trả về 10%. Tuy nhiên, bạn cần cho Excel biết phải làm gì nếu nó trả về FALSE. Trong trường hợp này, bạn muốn kiểm tra xem giá trị trong ô B2 có lớn hơn giá trị bậc thứ hai, $20.000, hay không, trả về 5% nếu đúng:
=IF(B2>25000,10%,IF(B2>20000,5%
Nếu hàm IF lồng nhau này trả về FALSE, bạn muốn Excel chuyển sang bậc tiếp theo, vì vậy bạn phải lồng thêm một hàm IF nữa:
=IF(B2>25000,10%,IF(B2>20000,5%,IF(B2>15000,2%
Bây giờ, bạn cần tạo bậc thấp nhất thông qua một hàm IF lồng nhau khác:
=IF(B2>25000,10%,IF(B2>20000,5%,IF(B2>15000,2%,IF(B2>10000,1%
Vì không còn bậc nào nữa, bạn cần cho Excel biết phải trả về gì nếu không có hàm IF lồng nhau nào đánh giá là TRUE. Trong trường hợp này, bạn muốn trả về 0%:
=IF(B2>25000,10%,IF(B2>20000,5%,IF(B2>15000,2%,IF(B2>10000,1%,0%
Bây giờ tất cả các bậc đã được tạo thông qua các hàm IF lồng nhau, bạn có thể đóng dấu ngoặc đơn. Có bốn dấu ngoặc đơn mở, vì vậy bạn cần gõ bốn dấu ngoặc đơn đóng trước khi nhấn Enter:
=IF(B2>25000,10%,IF(B2>20000,5%,IF(B2>15000,2%,IF(B2>10000,1%,0%))))
Khi bạn gõ dấu ngoặc đơn đóng, Excel tạm thời làm nổi bật dấu ngoặc đơn mở mà chúng tương ứng, và các dấu ngoặc đơn được mã hóa màu, nghĩa là bạn có thể nhanh chóng kiểm tra xem tất cả các cặp đã hoàn chỉnh hay chưa.
Bây giờ bạn có thể nhấp đúp vào nút điền để áp dụng công thức cho các ô còn lại trong cột C.
Trong Excel 2007 trở lên (bao gồm Excel cho Microsoft 365), bạn có thể lồng tối đa 64 hàm IF. Trong các phiên bản cũ hơn (Excel 2003 trở về trước), bạn có thể lồng tối đa bảy.
Lồng hàm trong Excel cho phép bạn tận dụng khả năng của nhiều hơn một hàm cùng một lúc. Bạn càng tận dụng tối đa cấu trúc công thức này, bạn sẽ càng bắt đầu học được những kết hợp hàm nào hoạt động tốt để giúp tăng tốc quy trình làm việc trên bảng tính của mình.
5. Kết luận
Các hàm lồng nhau trong Excel là công cụ mạnh mẽ giúp bạn xử lý dữ liệu phức tạp một cách hiệu quả, từ việc kết hợp IF, VLOOKUP đến các hàm như INDEX và MATCH để tạo ra những công thức linh hoạt. Với những hướng dẫn chi tiết trong bài viết, người mới bắt đầu hoàn toàn có thể làm chủ kỹ thuật này, mở ra cơ hội tối ưu hóa công việc phân tích dữ liệu và nâng cao năng suất. Hãy thực hành thường xuyên và sáng tạo với các hàm để biến Excel thành trợ thủ đắc lực trong công việc hàng ngày của bạn!
Xem thêm: Hướng dẫn cách trích xuất văn bản từ hình ảnh trên Windows 11
Nếu bạn cần thêm phần mềm, thiết bị hoặc giải pháp công nghệ để hỗ trợ công việc với Excel và hơn thế nữa, hãy ghé thăm COHOTECH – cửa hàng cung cấp các sản phẩm công nghệ chất lượng cao, luôn sẵn sàng đồng hành cùng bạn để chinh phục mọi thử thách!
Hãy chia sẻ trải nghiệm của bạn khi sử dụng các hàm lồng nhau trong Excel hoặc bất kỳ mẹo hay nào bạn đã khám phá trong phần bình luận bên dưới. Đừng quên chia sẻ bài viết này với bạn bè và đồng nghiệp để cùng nhau học hỏi và làm chủ Excel nhé!