28.4 C
Ho Chi Minh City
Thursday, June 4, 2026
AIPHOGPT.COM
Trang chủCông thức ExcelTính Tổng Các Ô Dựa Trên Màu Nền

Tính Tổng Các Ô Dựa Trên Màu Nền

Join LeQuocThai.Com on Telegram Channel

Đánh giá lequocthai.com:

0 / 5 Voted: 0 Votes: 0

Your page rank:

Vài tuần trước, một độc giả thân thiết đã gửi email cho tôi, mô tả một vấn đề anh ấy gặp phải. Nhiệm vụ của anh ấy là tính tổng giá trị trong một số ô nhất định dựa trên màu nền của chúng.

Như chúng ta đều biết, Excel mặc định không có sẵn công thức hay tính năng nào để thực hiện việc này. Vì vậy, trong bài viết này, tôi sẽ chia sẻ một vài phương pháp giúp bạn đạt được mục tiêu trên.

Để hình dung rõ hơn, chúng ta hãy xem hình ảnh dưới đây.

Hình ảnh cho thấy chúng ta không cần tính tổng tất cả các ô, mà chỉ cần tổng của những ô có cùng màu nền.

Bài viết liên quan:

[Tính Tổng Có Trọng Số (Weighted SUM) trong Excel]()

Phương pháp 1: Tính tổng các ô dựa trên màu nền bằng hàm SUMIF:

Chúng ta biết rằng hàm SUMIF là sự kết hợp giữa hàm SUMIF, và do đó nó có thể khá hữu ích để cộng các ô dựa trên màu nền.

Đầu tiên, hãy cùng tìm hiểu cách thực hiện:

Giả sử chúng ta có một bảng dữ liệu như hình dưới đây.

Tiếp theo, chúng ta sẽ thêm một cột nữa vào bảng này, trong đó chúng ta nhập thủ công màu nền của các ô tương ứng như hình dưới đây.

Khám phá:  Hàm TEXTJOIN trong Excel – Cách Sử Dụng

Bây giờ, hãy thử sử dụng hàm SUMIF để tìm tổng các ô có nền màu vàng như sau:

=SUMIF(B2:B13,"Yellow",A2:A13)

Tương tự, để tìm tổng các ô có nền màu Cam và Xanh lá, chúng ta sẽ sử dụng các hàm

=SUMIF(B2:B13,"Orange",A2:A13) và =SUMIF(B2:B13,"Green",A2:A13)

tương ứng.

Tuy nhiên, như có thể thấy, phương pháp này khá rườm rà, đặc biệt nếu chúng ta cần áp dụng cho danh sách có hàng trăm dòng dữ liệu.

Vậy, giải pháp thay thế nhanh hơn là gì?

Để làm cho quy trình trên dễ sử dụng hơn, chúng ta cần giảm bớt công sức nhập màu nền thủ công.

Khi đó, một Hàm do Người dùng Tự định nghĩa (UDF) nhỏ sẽ hữu ích.

“`

Function ColorIndex(CellColor As Range)

ColorIndex = CellColor.Interior.ColorIndex

End Function

“`

Lưu ý: Hàm này không trả về tên màu mà trả về chỉ số màu (color index), cũng là một giá trị duy nhất và có thể được sử dụng trong nhiệm vụ của chúng ta.

Làm theo các bước dưới đây để sử dụng UDF:

  • Trước hết, mở bảng tính nơi bạn cần tính tổng các ô dựa trên màu nền.
  • Tiếp theo, nhấn ALT + F11 để mở Trình soạn thảo VB (VB Editor). Điều hướng đến ‘Insert’ > ‘Module’.
  • Sau đó, dán UDF “ColorIndex” vào Trình soạn thảo.

  • Bây giờ, thêm một cột bên cạnh phạm vi mà bạn muốn tính tổng. Trong cột mới này, nhập công thức như sau:
=ColorIndex(ô_cần_lấy_mã_màu)

Ví dụ: `=ColorIndex(A2)`

Khám phá:  Hàm TRANSPOSE trong Excel – Cách Sử Dụng

  • Sau đó, kéo công thức này cho toàn bộ phạm vi.

  • Bây giờ, bạn có thể sử dụng hàm SUMIF để tính tổng các ô có cùng màu nền như hình trên.

Phương pháp 2: Sử dụng một UDF nhanh hơn và tốt hơn nhiều:

UDF mà chúng ta sẽ sử dụng trong phương pháp này đơn giản là một phiên bản mở rộng của hàm ở trên.

Hàm này như sau:

“`

Function SumByColor(CellColor As Range, rRange As Range)

Dim cSum As Double

Dim ColIndex As Integer

ColIndex = CellColor.Interior.ColorIndex

For Each cl In rRange

If cl.Interior.ColorIndex = ColIndex Then

cSum = WorksheetFunction.Sum(cl, cSum)

End If

Next cl

SumByColor = cSum

End Function

“`

Cách sử dụng UDF này:

Làm theo các bước dưới đây:

  • Mở bảng tính mục tiêu của bạn.
  • Nhấn ALT + F11 để mở Trình soạn thảo VBA và điều hướng đến ‘Insert’ > ‘Module’.
  • Dán Hàm “SumByColor” vào Trình soạn thảo.

  • Bây giờ, chỉ cần nhập hàm “SumByColor” để gọi nó và truyền các đối số sau:
=SumByColor(ô_mẫu_có_màu_nền, phạm_vi_tính_tổng)

Ví dụ: `=SumByColor(A2, A2:A13)`

Lưu ý: Trong công thức được hiển thị trong hình trên, thay vì đối số đầu tiên “A2”, chúng ta cũng có thể sử dụng bất kỳ ô nào trong số A2, A5, A8, A10, A12. Bởi vì tất cả các ô này đều có nền màu vàng.

Trong trường hợp của chúng ta, chúng ta có thể sử dụng các công thức sau:

Khám phá:  XLOOKUP XFUNTION EXCEL ADD-INS MIỄN PHÍ CHO TẤT CẢ CÁC PHIÊN BẢN EXCEL

* Tổng các ô Vàng:

=SumByColor(A2,A2:A13)

(Vì ‘A2’ là ô mẫu màu vàng và A2:A13 là phạm vi cần tính tổng)

* Tổng các ô Cam:

=SumByColor(A3,A2:A13)

(Vì ‘A3’ là ô mẫu màu cam và A2:A13 là phạm vi cần tính tổng)

* Tổng các ô Xanh lá:

=SumByColor(A4,A2:A13)

(Vì ‘A4’ là ô mẫu màu xanh lá và A2:A13 là phạm vi cần tính tổng)

Vậy, đó là tất cả từ tôi về chủ đề này. Đừng quên tải xuống bảng tính mẫu [tại đây](http://exceltrick.com/wp-content/uploads/2013/07/Sum_based_on_background_color.xls) và hãy cho tôi biết nếu bạn gặp bất kỳ vấn đề nào khi sử dụng các phương pháp này.

Join LeQuocThai.Com on Telegram Channel

Lê Quốc Thái
Lê Quốc Tháihttps://lequocthai.com/
Yep! I am Le Quoc Thai codename name tnfsmith, one among of netizens beloved internet precious, favorite accumulate sharing all my knowledge and experience Excel, PC tips tricks, gadget news during over decades working in banking data analysis.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây
Captcha verification failed!
CAPTCHA user score failed. Please contact us!

Join LeQuocThai.Com on Telegram Channel

Đọc nhiều nhất

BÀI VIẾT MỚI NHẤT

CÙNG CHỦ ĐỀ