在 Excel 中将 HEX 转换为 RGB

Convert HEX to RGB in Excel

我有一列 "HEX" 和三列 "R"、"G" 和 "B"。

如何将 HEX 转换为 RGB,例如ff0000R=255G=0B=0?

我知道前2个字符ff属于"R",后面2个00属于"G",最后2个00属于 "B"。所以我将不得不使用 =LEFT(A1, 2) 作为 "R",=RIGHT(LEFT(A1, 4), 2),最后使用 =RIGHT(A1, 2)

但是如何将 ff 转换为 255,将 00 转换为 0,等等?我想我将不得不做一些事情来从十六进制(基数 16)解析为十进制(基数 10)?

我想在没有 VBA 的情况下进行。

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

=HEX2DEC(A1)

其中单元格 A1 包含字符串 FF,这将 return 255

More details here.

您确实可以尝试使用 =Hex2Dec(A1),但您应该将其输入分成 3 个部分:

一个用于 R,一个用于 G,一个用于 B,考虑到您总是会以这样的格式获取它们 ff0000.

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

这是公式的结果:

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

vba rgb to hex and inverse

如果您尝试不使用 vba,您将只能使用 56 种颜色。 (以防使用单元格中的颜色)

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