Avatar of WeThotUWasAToad
WeThotUWasAToad asked on

Excel formula to convert HSL color values to RGB color values


I'm trying to:
(1) improve the Hue/Sat/Lum formulas in the attached spreadsheet and
(2) determine what Excel formula(s) will convert numeric HSL color values into numeric values for other color formats.

Explanation of the attached Excel file:

The following screenshot is taken from the attached Color Conversion Chart* which I created some time ago.

As shown in the image, inserting values for a given color into the yellow cells of a row enables you to see that color (in the Display Color column) and obtain the conversion values for other numeric color formats.

For example, suppose you want to view the appearance and obtain conversion values of a color for which you have 3-digit 000-255 (MS Office) values. In this case, you would enter your values in the three yellow cells in conversion row [1].

Alternatively, if you have three hex values for a certain color, you could enter them in the yellow cells in conversion row [2] to display the color and obtain the conversion values in other formats.


#1 Hue/Sat/Lum formulas need tweaking:
Although the Hue/Sat/Lum columns work fairly well in most cases, I sometimes get errors or even negative values — which obviously cannot be right. For example, entering MS Office values of [255][153][255] results in HSL values of [-43][255][204] and, as shown in the screenshot, entering values of [025][025][025] gives HSL results of [#DIV/0!][0][25].

#2 Need formulas to convert from HSL parameters to other formats:
The chart converts from other formats to HSL fairly well but I could use some help finding the formulas to convert from HSL to other formats.

By the way, The Color Conversion Chart is in the first tab of the attached file, but there are several other sheet tabs which I was initially going to delete before uploading the file. However, although they contain quite a bit of junk, much of the math and formula breakdowns are in those additional tabs so they may or may not be helpful/of interest.


*There are many websites which will display a particular color and conversion values. However, the value of this color conversion chart is that you can copy & paste one of the conversion rows into multiple rows below and simultaneously see and compare as many different colors as you want.

Attached file: Color-Conversion-Chart-2020-04-12_u.xlsm
Microsoft OfficeWeb Graphics SoftwareMicrosoft Excel

Avatar of undefined
Last Comment

8/22/2022 - Mon
Paul Sauvé

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Ejgil Hedegaard

The HSL formulas was wrong.
S and L values are percentage, and can not be above 100.

I have inserted new formulas for HSL above the line, and the reverse calculation from HSL to RGB in row 17.

Formulas from this page


Thanks for the responses.


>> Paul Sauve

Thanks Paul. I will go back and review that.


>> Ejgil Hedegaard

The HSL formulas was wrong.
S and L values are percentage, and can not be above 100.

I believe your statement is incorrect. For example, the following image shows three views of the font color box for a given color. As is evident in the third box, the Sat value is 255 which is well above 100.

Also, the amended spreadsheet which you attached is giving incorrect values in the existing conversion rows. For example, entering parameters in conversion row [1] is producing incorrect values for other formats.

Finally, attempting to enter values in the HSL boxes in conversion row [5] results in a runtime error.
Ejgil Hedegaard

On the reverse calculator from Paul, HSL to RGB

it is stated
Enter hue in degrees (°), saturation and lightness (0..100%)

Another site show
Hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. Saturation is a percentage value; 0% means a shade of gray and 100% is the full color. Lightness is also a percentage; 0% is black, 100% is white.

If you enter RGB values 0, 128, 128 in [1] the HSL result is 180, 100, 25
Just like the RGB to HSL converter Paul mentioned.
I don't know why Excel convert that to 127, 255, 64

The runtime error is because the resulting RGB values becomes negative when some S or L are above 100%, not all, but when it calculate the RGB values are above 255.

I have not changed other formulas for [1], only HSL formulas, so don't know what the incorrect values are for other formulas.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy

My apologies Ejgil. You are correct and I was wrong. I was looking at the 0-255 values used in MS Office applications. Thank you for your patience and explanation.


Using the link you gave me, I worked the math formulas into Excel formulas and finally got the HSL to RGB conversion row working. Many thanks.

Due to being very rusty with the math and the Excel formulas, the worksheet containing my calculations is very cumbersome but I've added it to my workbook (mostly for my own reference).

Now in the attached file, conversion row [5] enables you to enter values from the HSL numbers in MS Office apps and get them converted into other color formats.

The main reason I wanted this functionality is that I learned some time ago that the best/easiest way to have different colors look good together is to keep the Sat value the same in all of them. Now I can do that with a small chart I created at the bottom of the color conversion worksheet.

For example, the chart in the following screenshot shows 12 different Hues with the same Sat & Lum values resulting in 12 colors that look good with each other:

Different entries can be placed in the three blue cells to see other combinations.

Thanks again for the help.