2013-11-15 15 views
15

Tôi là người mới bắt đầu và cố gắng tạo công thức sửa đổi nội dung của Ô A1 dựa trên màu của ô trong B2;Excel: Tôi có thể tạo Công thức có điều kiện dựa trên Màu của ô không?

Nếu ô B2 = [màu đỏ] thì hiển thị FQS.

Nếu ô B2 = [màu vàng] thì hiển thị SM.

Đây là điều kiện dựa trên màu tô của ô.

+0

Tôi đã thử hàm if. = Nếu (B2 = 255,0,0, 'FQS') Nếu (B2 = 255,255,0, 'SM')) –

Trả lời

16

Thật không may, không có cách nào trực tiếp để làm điều này với một công thức duy nhất. Tuy nhiên, có một giải pháp khá đơn giản tồn tại.

Trên Ribbon Excel, chuyển đến "Công thức" và nhấp vào "Trình quản lý tên". Chọn "Mới" và sau đó nhập "CellColor" làm "Tên". Chuyển xuống phần "Đề cập đến" và nhập thông tin sau:

=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),1,1)) 

Nhấn OK sau đó đóng cửa sổ "Trình quản lý tên".

Bây giờ, trong ô A1 nhập như sau:

=IF(CellColor=3,"FQS",IF(CellColor=6,"SM","")) 

này sẽ trở lại FQS cho màu đỏ và SM cho vàng. Đối với bất kỳ màu nào khác, ô sẽ vẫn trống.

*** Nếu giá trị trong A1 không cập nhật, nhấn 'F9' trên bàn phím để buộc Excel cập nhật các phép tính tại bất kỳ thời điểm nào (hoặc nếu màu trong B2 thay đổi).

Dưới đây là một tài liệu tham khảo cho một danh sách các tế bào điền màu sắc (có 56 sẵn) nếu bạn đã bao giờ muốn mở rộng điều: http://www.smixe.com/excel-color-pallette.html

Cheers.

:: Sửa ::

Công thức được sử dụng trong Tên Manager có thể được tiếp tục đơn giản hóa nếu nó giúp hiểu biết của bạn về cách hoạt động (phiên bản mà tôi bao gồm trên là rất nhiều linh hoạt hơn và dễ dàng hơn để sử dụng trong việc kiểm tra nhiều tham chiếu ô khi được sao chép xung quanh vì nó sử dụng địa chỉ ô của chính nó làm điểm tham chiếu thay vì nhắm mục tiêu cụ thể ô B2).

Dù bằng cách nào, nếu bạn muốn đơn giản hóa mọi thứ, bạn có thể sử dụng công thức này trong Name Manager thay vì:

=GET.CELL(63,Sheet1!B2) 
+0

Điều này làm việc hoàn hảo, tôi phải có một sai lầm khi thực hiện nó trước đó! – MrTheBard

+0

Tôi có giành được tiền thưởng không? :) – Derrik

+0

Tuyệt đối. Tôi phải chờ 24 giờ trước khi tôi có thể trao nó mặc dù, nhưng chắc chắn. Nó làm việc như một say mê! Giải pháp rất thông minh. – MrTheBard

7

Bạn có thể sử dụng chức năng này (tôi thấy nó ở đây: http://excelribbon.tips.net/T010780_Colors_in_an_IF_Function.html):

Function GetFillColor(Rng As Range) As Long 
    GetFillColor = Rng.Interior.ColorIndex 
End Function 

Dưới đây là một lời giải thích, làm thế nào để tạo ra hàm do người dùng định nghĩa: http://www.wikihow.com/Create-a-User-Defined-Function-in-Microsoft-Excel

Trong bảng tính, bạn có thể sử dụng như sau: =GetFillColor(B5)

Các vấn đề liên quan