web-dev-qa-db-ja.com

ExcelでHEXをRGBに変換する

「HEX」という列と、「R」、「G」、「B」という3つの列があります。

HEXをRGBに変換するにはどうすればよいですか? _ff0000_から_R=255_、_G=0_、および_B=0_へ?

最初の2文字ffは「R」に属し、次の2つの_00_は「G」に属し、最後の2つの_00_は「B」に属します。したがって、「R」には=LEFT(A1, 2)を使用し、最後には=RIGHT(LEFT(A1, 4), 2)=RIGHT(A1, 2)を使用する必要があります。

しかし、どうすればffを_255_に、_00_を_0_などに変換できますか? 16進数(base 16)から10進数(base 10)に解析するために何かする必要があると思いますか?

VBAなしでやってみたいです。

6
Jamgreen

HEX2DEC()関数を使用して、16進数から10進数に変換できます。例えば:

=HEX2DEC(A1)

セルA1に文字列FFが含まれている場合、これは255を返します。

詳細はこちら

7
Diado

実際に=Hex2Dec(A1)で試すことができますが、その入力を3つの部分に分割する必要があります。

[〜#〜] r [〜#〜]用に1つ、[〜#〜] g [用に1つ〜#〜][〜#〜] b [〜#〜]の1つは、常にこのような形式で取得しますff0000

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

これは、式の結果です。

enter image description here

10
Vityata

一部のページでは( w3SCHOOL PICKER )になりますが、Excelではこれを作成できます

vba rgbから16進および逆変換

Vbaなしで試すと、56色しか使用できません。 (セルの色を使用する場合)

1
Hugo Legua

3つの列で16進数をRGBに変換するExcelスプレッドシートを作成できました。赤、緑、青。以下はそのコードです。赤:=HEX2DEC(LEFT([Cell],2))緑:=HEX2DEC(MID([Cell],3,2))青:=HEX2DEC(RIGHT([Cell],2))これまでのところ、このコードに対する制限はありません。また、RGBを16進数に変換するコードも作成しました。=DEC2HEX(([Red]*65536)+([Green]*256)+[Blue],6)これであなたの質問に答えられることを願っています。

0
Nguyen