Trong công việc xử lý dữ liệu trên Excel, việc phân loại và tổng hợp thông tin theo màu ô hoặc màu chữ sẽ giúp tiết kiệm thời gian và nâng cao hiệu quả. Tuy nhiên, không phải ai cũng biết cách sử dụng các công cụ sẵn có để thực hiện điều này một cách nhanh chóng. Hàm COLOR trong Excel là một giải pháp hữu ích, cho phép bạn đếm và tính tổng các ô dựa trên màu sắc một cách chính xác và linh hoạt. Trong bài viết này, HỌC TIN sẽ hướng dẫn chi tiết cách sử dụng hàm COLOR trong Excel để áp dụng cho nhiều tình huống thực tế.
Tổng quan về hàm COLOR trong Excel
Không có gì lạ nếu đây là lần đầu bạn nghe đến hàm COLOR trong Excel, bởi nó không thuộc hệ thống các hàm mặc định của Excel. Thực chất, đây là một hàm UDF (User-Defined Function) – tức là hàm do người dùng tự tạo thông qua VBA (Visual Basic for Applications). Mục tiêu khi viết hàm COLOR trong Excel là để có thể đếm và tính tổng các ô dựa trên màu sắc, một tính năng mà Excel mặc định không hỗ trợ trực tiếp.
Nếu bạn chưa quen với khái niệm hàm UDF hay cách viết hàm bằng VBA, việc tìm hiểu trước sẽ giúp bạn nhanh chóng áp dụng thủ thuật này vào công việc, từ việc phân loại dữ liệu đến tổng hợp thông tin theo màu sắc một cách hiệu quả và chính xác.

Cách đếm và tính tổng các ô theo màu ô bằng hàm COLOR trong Excel
Để hiểu rõ cách áp dụng hàm COLOR trong Excel, hãy xem xét một ví dụ thực tế. Giả sử bạn có một bảng theo dõi trạng thái giao hàng của một công ty vận tải. Trong bảng này, các trạng thái được phân biệt bằng màu sắc:
- Ô đơn hàng “Đang giao trong X ngày” được tô màu vàng.
- Ô đơn hàng “Giao thành công” được tô màu xanh.
- Ô đơn hàng “Quá hạn giao hàng” được tô màu đỏ.
Bằng cách sử dụng hàm COLOR trong Excel, bạn có thể dễ dàng đếm số lượng các ô tương ứng với từng màu và tính tổng giá trị liên quan, giúp việc quản lý dữ liệu trở nên nhanh chóng và trực quan hơn. Cùng xem các bước thực hiện chi tiết ngay sau đây!
Cách đếm số lượng ô theo màu nền ô
Để đếm số lượng ô dựa trên màu nền bằng hàm COLOR trong Excel, bạn có thể thực hiện theo các bước sau:
Bước 1: Nhấn tổ hợp phím Alt + F11 để mở cửa sổ Visual Basic Editor (VBE). Trong cửa sổ này, nhấn chuột phải vào tên trang tính trong mục Project – VBA Project, sau đó chọn Insert > Module để tạo một module mới.

Bước 2: Trong module vừa tạo, nhập đoạn code VBA cần thiết cho hàm COLOR:
| Function GetCellColor(xlRange As Range)
Dim indRow, indColumn As Long Dim arResults()
Application.Volatile
If xlRange Is Nothing Then Set xlRange = Application.ThisCell End If
If xlRange.Count > 1 Then ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count) For indRow = 1 To xlRange.Rows.Count For indColumn = 1 To xlRange.Columns.Count arResults(indRow, indColumn) = xlRange(indRow, indColumn).Interior.Color Next Next GetCellColor = arResults Else GetCellColor = xlRange.Interior.Color End If End Function
Function GetCellFontColor(xlRange As Range) Dim indRow, indColumn As Long Dim arResults()
Application.Volatile
If xlRange Is Nothing Then Set xlRange = Application.ThisCell End If
If xlRange.Count > 1 Then ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count) For indRow = 1 To xlRange.Rows.Count For indColumn = 1 To xlRange.Columns.Count arResults(indRow, indColumn) = xlRange(indRow, indColumn).Font.Color Next Next GetCellFontColor = arResults Else GetCellFontColor = xlRange.Font.Color End If
End Function
Function CountCellsByColor(rData As Range, cellRefColor As Range) As Long Dim indRefColor As Long Dim cellCurrent As Range Dim cntRes As Long
Application.Volatile cntRes = 0 indRefColor = cellRefColor.Cells(1, 1).Interior.Color For Each cellCurrent In rData If indRefColor = cellCurrent.Interior.Color Then cntRes = cntRes + 1 End If Next cellCurrent
CountCellsByColor = cntRes End Function
Function SumCellsByColor(rData As Range, cellRefColor As Range) Dim indRefColor As Long Dim cellCurrent As Range Dim sumRes
Application.Volatile sumRes = 0 indRefColor = cellRefColor.Cells(1, 1).Interior.Color For Each cellCurrent In rData If indRefColor = cellCurrent.Interior.Color Then sumRes = WorksheetFunction.Sum(cellCurrent, sumRes) End If Next cellCurrent
SumCellsByColor = sumRes End Function
Function CountCellsByFontColor(rData As Range, cellRefColor As Range) As Long Dim indRefColor As Long Dim cellCurrent As Range Dim cntRes As Long
Application.Volatile cntRes = 0 indRefColor = cellRefColor.Cells(1, 1).Font.Color For Each cellCurrent In rData If indRefColor = cellCurrent.Font.Color Then cntRes = cntRes + 1 End If Next cellCurrent
CountCellsByFontColor = cntRes End Function
Function SumCellsByFontColor(rData As Range, cellRefColor As Range) Dim indRefColor As Long Dim cellCurrent As Range Dim sumRes
Application.Volatile sumRes = 0 indRefColor = cellRefColor.Cells(1, 1).Font.Color For Each cellCurrent In rData If indRefColor = cellCurrent.Font.Color Then sumRes = WorksheetFunction.Sum(cellCurrent, sumRes) End If Next cellCurrent
SumCellsByFontColor = sumRes End Function |
Sau khi hoàn tất, lưu file Excel ở định dạng Excel Macro-Enabled Workbook (.xlsm) để đảm bảo các macro và hàm do người dùng tạo hoạt động bình thường. Như vậy, phần thiết lập hàm COLOR đã hoàn tất.
Bước 3: Quay trở lại bảng tính trạng thái giao hàng, bạn có thể tạo một bảng tổng hợp để hiển thị số lượng ô theo từng màu nền. Để thực hiện, sử dụng công thức của hàm COLOR trong Excel với cú pháp:
=CountCellsByColor(range, color_code)
Trong đó:
- range: phạm vi các ô cần đếm
- color_code: mã màu của ô tương ứng
Ví dụ: Để đếm số ô có màu nền giống ô tham chiếu A15 trong phạm vi từ E2:E12, bạn có thể nhập công thức vào ô B15 như sau:
=CountCellsByColor($E$2:$E$12, A15)
Lưu ý: Sử dụng tham chiếu tuyệt đối ($E$2:$E$12) để khóa phạm vi cần đếm, giúp công thức hoạt động chính xác khi sao chép xuống các ô khác.

Cách tính tổng các ô có cùng màu nền
Tương tự như cách đếm số ô theo màu nền, để tính tổng giá trị các ô dựa trên màu sắc, bạn có thể sử dụng hàm SUM với hàm COLOR trong Excel với cú pháp:
=SumCellsByColor(range, color_code)
Trong đó:
- range: phạm vi các ô cần tính tổng
- color_code: mã màu của ô tương ứng
Ví dụ: Nếu bạn muốn tính tổng số lượng hàng theo từng trạng thái giao hàng trong bảng ví dụ trước, bạn có thể nhập công thức vào ô B15 như sau:
=SumCellsByColor($C$2:$C$12, A15)
Công thức này sẽ tự động tính tổng tất cả các ô trong phạm vi C2:C12 có cùng màu với ô tham chiếu A15, giúp việc tổng hợp dữ liệu theo màu nền trở nên nhanh chóng và chính xác.

➤ Xem thêm: Hướng Dẫn Sử Dụng Hàm IF Trong Excel Từ Cơ Bản Đến Nâng Cao
Cách đếm và tính tổng các ô theo màu chữ bằng hàm COLOR trong Excel
Tương tự như ví dụ về màu nền, chúng ta có thể áp dụng hàm COLOR trong Excel để làm việc với màu chữ của các ô. Giả sử cùng bảng theo dõi trạng thái giao hàng, mỗi trạng thái được phân biệt bằng màu chữ:
- Chữ màu vàng cho “Đang giao trong X ngày“.
- Chữ màu xanh cho “Giao thành công“.
- Chữ màu đỏ cho “Quá hạn giao hàng“.
Bằng cách sử dụng hàm COLOR, bạn có thể dễ dàng đếm số ô và tính tổng giá trị dựa trên màu chữ, giúp việc tổng hợp và phân loại dữ liệu trở nên trực quan và chính xác hơn. Cùng xem các bước thực hiện chi tiết ngay sau đây!
Cách đếm số lượng ô theo màu chữ
Thay vì dựa trên màu nền, bạn cũng có thể đếm số ô dựa trên màu chữ bằng cách sử dụng hàm COLOR trong Excel với cú pháp:
=CountCellsByFontColor(range, color_code)
Trong đó:
- range: phạm vi các ô cần đếm
- color_code: mã màu chữ tương ứng
Ví dụ: Để đếm số ô có màu chữ giống ô tham chiếu A15 trong phạm vi E2:E12, bạn nhập công thức vào ô B15 như sau:
=CountCellsByFontColor($E$2:$E$12, A15)

Cách tính tổng các ô có cùng màu chữ
Để tính tổng các ô dựa trên màu chữ, bạn có thể sử dụng công thức đơn giản sau trong hàm COLOR trong Excel:
=SumCellsByFontColor(range, color_code)
Trong đó:
- range: phạm vi các ô cần tính tổng
- color_code: mã màu chữ của ô tham chiếu
Ví dụ: Nếu bạn muốn tính tổng số lượng hàng theo từng trạng thái giao hàng trong bảng dữ liệu, bạn có thể nhập công thức vào ô B15 như sau:
=SumCellsByFontColor($C$2:$C$12, A15)
Công thức này sẽ tự động cộng tất cả các giá trị trong phạm vi C2:C12 có màu chữ giống ô A15, giúp việc tổng hợp dữ liệu theo màu chữ trở nên nhanh chóng và chính xác.

Lưu ý: Khi sử dụng đoạn code VBA trên, nếu bạn thêm các ô dữ liệu mới, việc tô màu ô hoặc màu chữ vẫn phải thực hiện thủ công. Kết quả đếm và tổng các ô sẽ không được tự động cập nhật cho các ô mới này. Để Excel cập nhật số liệu chính xác, bạn chỉ cần đặt con trỏ vào một ô bất kỳ trong phạm vi, nhấn F2 rồi nhấn Enter, lúc đó kết quả mới được tính toán lại.
Cách đếm và tính tổng các ô theo màu trên toàn bộ sheet bằng hàm COLOR
Nếu bạn muốn đếm hoặc tính tổng tất cả các ô theo một màu nhất định trên toàn bộ sheet, trước tiên cần thêm đoạn code VBA phù hợp vào file Excel:
| Function WbkCountCellsByColor(cellRefColor As Range)
Dim vWbkRes Dim wshCurrent As Worksheet
Application.ScreenUpdating = False Application.Calculation = xlCalculationManual
vWbkRes = 0 For Each wshCurrent In Worksheets wshCurrent.Activate vWbkRes = vWbkRes + CountCellsByColor(wshCurrent.UsedRange, cellRefColor) Next Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic
WbkCountCellsByColor = vWbkRes End Function
Function WbkSumCellsByColor(cellRefColor As Range) Dim vWbkRes Dim wshCurrent As Worksheet
Application.ScreenUpdating = False Application.Calculation = xlCalculationManual
vWbkRes = 0 For Each wshCurrent In Worksheets wshCurrent.Activate vWbkRes = vWbkRes + SumCellsByColor(wshCurrent.UsedRange, cellRefColor) Next Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic
WbkSumCellsByColor = vWbkRes End Function |
Sau đó, bạn có thể sử dụng các macro như:
- =WbkCountCellsColor() – để đếm số ô cùng màu trong toàn bộ sheet
- =WbkSumCellsByColor() – để tính tổng giá trị của các ô cùng màu
Cách sử dụng rất đơn giản: Nhập công thức vào một ô trống bên ngoài vùng dữ liệu, xác định ô chứa màu mà bạn muốn đếm hoặc tính tổng, rồi nhập tham chiếu ô đó vào trong ngoặc (). Excel sẽ trả về kết quả là tổng số ô hoặc tổng giá trị của các ô cùng màu trong toàn bộ trang tính.
Bên cạnh đó, hàm COLOR trong Excel cũng hỗ trợ nhiều chức năng tùy chỉnh khác nhau để làm việc với màu nền, màu chữ và mã màu.
Công thức đếm số ô theo màu:
- CountCellsByColor(range, color_code) – đếm các ô có màu nền xác định
- CountCellsByFontColor(range, color_code) – đếm các ô có màu chữ xác định
Công thức tính tổng theo màu:
- SumCellsByColor(range, color_code) – tính tổng giá trị các ô cùng màu nền
- SumCellsByFontColor(range, color_code) – tính tổng giá trị các ô cùng màu chữ
Công thức lấy mã màu:
- GetCellFontColor(cell) – trả về mã màu chữ của ô được chọn
- GetCellColor(cell) – trả về mã màu nền của ô được chọn

Lưu ý: Tất cả các công thức trên chỉ hoạt động khi bạn đã thêm các hàm này vào trang tính thông qua VBA. Điều này cho phép bạn đếm, tổng hợp và quản lý dữ liệu theo màu sắc một cách linh hoạt trên toàn bộ sheet.
➤ Xem thêm: Cách Sử Dụng Hàm MATCH Trong Excel Tìm Kiếm Giá Trị Xác Định
Cách đếm và tính tổng các ô màu định dạng có điều kiện bằng hàm COLOR
Để đếm và tính tổng các ô dựa trên màu được áp dụng từ định dạng có điều kiện, bạn cần sử dụng một đoạn code VBA chuyên biệt:
| Sub SumCountByConditionalFormat()
Dim indRefColor As Long Dim cellCurrent As Range Dim cntRes As Long Dim sumRes Dim cntCells As Long Dim indCurCell As Long
cntRes = 0 sumRes = 0
cntCells = Selection.CountLarge indRefColor = ActiveCell.DisplayFormat.Interior.Color
For indCurCell = 1 To (cntCells – 1) If indRefColor = Selection(indCurCell).DisplayFormat.Interior.Color Then cntRes = cntRes + 1 sumRes = WorksheetFunction.Sum(Selection(indCurCell), sumRes) End If Next MsgBox “Count=” & cntRes & vbCrLf & “Sum= ” & sumRes & vbCrLf & vbCrLf & _ “Color=” & Left(“000000”, 6 – Len(Hex(indRefColor))) & _ Hex(indRefColor) & vbCrLf, , “Count & Sum by Conditional Format color” End Sub |
Sau đó, thực hiện theo các bước sau:
Bước 1: Chọn vùng dữ liệu mà bạn muốn thao tác.
Bước 2: Nhấn giữ phím Ctrl, rồi chọn một ô có màu mà bạn muốn tính toán trong vùng dữ liệu, sau đó thả phím Ctrl.
Bước 3: Nhấn tổ hợp Alt + F8 để mở danh sách các Macro có sẵn.
Bước 4: Chọn SumCountByConditionalFormat và nhấn Run để thực hiện.

Sau khi hoàn tất, Excel sẽ hiển thị kết quả tổng hợp. Ví dụ: Nếu trong bảng theo dõi trạng thái giao hàng, có 3 ô nền màu đỏ đại diện cho 3 đơn hàng quá hạn giao, tổng số lượng hàng quá hạn được tính là 29 và mã màu đỏ được sử dụng trong ô là 7578FF.

Cách này giúp bạn nhanh chóng tổng hợp số lượng và giá trị các ô được tô màu thông qua định dạng có điều kiện mà không cần thao tác thủ công với từng ô, rất hữu ích khi quản lý dữ liệu lớn.
➤ Xem thêm: Cách Dùng Hàm COUNTIF Trong Excel Đếm Giá Trị Theo Điều Kiện
Ứng dụng thực tế của hàm COLOR trong Excel là gì?
Trong công việc hàng ngày với Excel, việc phân loại, đếm và tổng hợp dữ liệu theo màu sắc sẽ giúp bạn quản lý thông tin nhanh chóng, trực quan và chính xác hơn. Hàm COLOR trong Excel mang lại khả năng này, mở ra nhiều ứng dụng thực tiễn trong công việc và quản lý dữ liệu. Một số ứng dụng phổ biến bao gồm:
- Quản lý trạng thái công việc hoặc dự án: Bạn có thể sử dụng màu để phân loại các nhiệm vụ theo trạng thái như “Đang thực hiện”, “Hoàn thành” hay “Chậm tiến độ”. Sau đó, hàm COLOR trong Excel sẽ giúp đếm số lượng nhiệm vụ theo từng trạng thái và tổng hợp dữ liệu liên quan.
- Thống kê doanh số hoặc hàng tồn kho: Nếu bạn đánh dấu các mức doanh số hoặc số lượng hàng tồn kho bằng các màu khác nhau, hàm COLOR có thể tính tổng giá trị hoặc số lượng sản phẩm theo từng màu, giúp lập báo cáo nhanh chóng mà không cần lọc thủ công.
- Phân tích dữ liệu định dạng có điều kiện: Khi sử dụng định dạng có điều kiện để tô màu ô dựa trên giá trị hoặc điều kiện cụ thể, hàm COLOR trong Excel sẽ đếm và tính tổng các ô theo màu, giúp đánh giá tình trạng dữ liệu ngay lập tức.
- Tổng hợp dữ liệu lớn: Trong các bảng tính phức tạp với nhiều loại dữ liệu và màu sắc khác nhau, hàm COLOR giúp bạn tạo các bảng tổng hợp trực quan, dễ đọc và giảm thiểu sai sót khi thao tác thủ công.

➤ Xem thêm: Cách Sử Dụng Hàm INT Trong Excel Lấy Giá Trị Phần Nguyên
Một số lưu ý cần biết khi sử dụng hàm COLOR trong Excel
Khi áp dụng hàm COLOR trong Excel, mặc dù công cụ này rất hữu ích trong việc đếm và tính tổng dữ liệu theo màu sắc, nhưng vẫn có một số điểm cần lưu ý để đảm bảo kết quả chính xác và tránh nhầm lẫn. Dưới đây là những lưu ý quan trọng:
- Không tự động cập nhật với ô mới: Các hàm do người dùng tạo bằng VBA sẽ không tự động tính toán khi bạn thêm dữ liệu mới. Nếu bạn thêm các ô hoặc thay đổi màu của ô, cần nhấn F2 rồi Enter trên một ô bất kỳ trong phạm vi để Excel cập nhật kết quả.
- Phụ thuộc vào định dạng hiện tại: Hàm COLOR trong Excel dựa trên màu nền hoặc màu chữ hiện tại của ô. Nếu màu thay đổi sau khi nhập dữ liệu, bạn phải đảm bảo cập nhật lại bằng thao tác thủ công hoặc chạy lại macro.
- Chỉ hoạt động với file .xlsm: Vì đây là các hàm UDF do người dùng tạo bằng VBA, bạn cần lưu file ở định dạng Excel Macro-Enabled Workbook (.xlsm) để các công thức hoạt động bình thường.
- Chú ý khi dùng với định dạng có điều kiện: Nếu ô được tô màu thông qua định dạng có điều kiện, cần sử dụng các hàm và macro tương thích với định dạng này, ví dụ như SumCountByConditionalFormat, để kết quả đếm và tính tổng chính xác.
- Sử dụng tham chiếu tuyệt đối khi cần: Khi đếm hoặc tính tổng theo phạm vi cố định, nên dùng tham chiếu tuyệt đối (ví dụ $E$2:$E$12) để tránh sai số khi sao chép công thức sang các ô khác.

Qua bài viết, chúng ta đã tìm hiểu chi tiết cách sử dụng hàm COLOR trong Excel để đếm và tính tổng các ô dựa trên màu nền, màu chữ, cũng như áp dụng cho toàn bộ sheet hoặc các ô được định dạng có điều kiện. Những hướng dẫn và ví dụ minh họa sẽ giúp bạn quản lý dữ liệu theo màu sắc một cách nhanh chóng, trực quan và chính xác. Hy vọng những kiến thức này sẽ hỗ trợ bạn áp dụng hiệu quả hàm COLOR trong Excel vào công việc hàng ngày.
➤ Xem thêm: Hướng Dẫn Cách Sắp Xếp Các Sheet Trong Excel Theo Thứ Tự A-Z Hoặc Z-A

