Link to home
Create AccountLog in
Avatar of WeThotUWasAToad
WeThotUWasAToad

asked on

Determining Excel color from RGB and vice versa

Hello,

This is a follow-up question to a previous thread located here:

Auto-fill a cell's color based on numeric RGB values and vice versa in Excel

In that thread, the solution (by Ejgil Hedegaard) includes an attached Excel file in which the fill color of a particular cell, automatically changes in response to entering various values in three other cells labeled R (red), G (green), & B (blue).

This functionality is tremendously useful for me (and I suspect will be for others) because it enables you to instantly view the new color resulting from changes in any of the RGB parameters (ie without the necessity of the four clicks typically required to obtain that information):

        Home > Fill Color > More Colors > Custom

(The file also includes a chart for quickly converting from RGB decimal to RGB hex and vice versa.)

Additionally, the solution to the thread contains the formula for calculating Excel's color code:

        ExcelColor = R + G *256 + B *256^2

For example:

        Red = 204
        Green = 102
        Blue = 255

is calculated as follows:

        ExcelColor = 204 + (102*256) + (255*256^2)
        ExcelColor = 16737996

It also displays the following for reversing the process (ie :

        R = C Mod 256
        G = C \ 256 Mod 256
        B = C \ 256^2 Mod 256

Are these three formulas math or code and what is the purpose of the backslash?

It seems that to reverse the process, the =FLOOR() function should be used to first determine Blue, then Green and then Red as follows:

        ExcelColor = 16737996

        ExcelBlue = FLOOR(ExcelColor,256^2)
        ExcelBlue = 16711680

        Blue = 16711680 / 256^2
                Blue = 255

        Remainder = 16737996 – 16711680
        Remainder = 26316

        ExcelGreen = FLOOR(26316,256)
        ExcelGreen = 26112

        Green = 26112 / 256
                Green = 102

        Remainder = 26316 – 26112
        Remainder = 204

                Red = 204

How are these steps and the three equations/lines of code from the previous solution the same — assuming they are?

Thanks
ASKER CERTIFIED SOLUTION
Avatar of Ejgil Hedegaard
Ejgil Hedegaard
Flag of Denmark image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Avatar of WeThotUWasAToad
WeThotUWasAToad

ASKER

Thanks again Ejgil.