在Excel中将HEX转换为RGB

时间:2017-08-23 07:52:59

标签: excel excel-formula hex excel-2010 base

我有一列“HEX”和三列“R”,“G”和“B”。

如何将HEX转换为RGB(例如ff0000到R = 255,G = 0和B = 0)?

我知道前两个字符“ff”属于“R”,下一个2“00”属于“G”,最后2“00”属于“B”。

所以我必须使用=LEFT(A1, 2)代表“R”,=RIGHT(LEFT(A1, 4), 2)=RIGHT(A1, 2)作为最后一个。

但是如何将ff转换为25500转换为0等?我想我必须做一些事情从十六进制(基数16)解析到十进制(基数10)?

我想在没有VBA的情况下这样做。

4 个答案:

答案 0 :(得分:6)

您可以使用HEX2DEC()函数将十六进制转换为十进制。例如:

= HEX2DEC(A1)

如果单元格A1包含字符串' FF',则返回255。

此处有更多详情:https://support.office.com/en-gb/article/HEX2DEC-function-8c8c3155-9f37-45a5-a3ee-ee5379ef106e

答案 1 :(得分:5)

您可以尝试使用Hex2Dec(),但您应该将其输入分为3部分。一个用于 R ,一个用于 G ,一个用于 B ,考虑到您总是以这样的格式获取它们 ff0000 < /强>

=HEX2DEC(LEFT(B1,2))&"-"&HEX2DEC(MID(B1,3,2))&"-"&HEX2DEC(RIGHT(B1,2))

这是公式的结果:

enter image description here

答案 2 :(得分:1)

有些网页会产生(w3SCHOOL PICKER),但在excel中你可以做到这一点

vba rgb to hex and inverse

如果您尝试不使用vb​​a,您只能使用56种颜色。 (如果使用单元格中的颜色)

答案 3 :(得分:0)

我设法创建了一个Excel电子表格,该表格可以在三列中将Hex转换为RGB;红色,绿色和蓝色。下面是它的代码: 红色:=HEX2DEC(LEFT([Cell],2)) 绿色:=HEX2DEC(MID([Cell],3,2)) 蓝色:=HEX2DEC(RIGHT([Cell],2)) 到目前为止,我还没有发现对此代码的任何限制。 我还为RGB编写了十六进制代码: =DEC2HEX(([Red]*65536)+([Green]*256)+[Blue],6) 我希望这能回答您的问题。