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
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
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER