• ベストアンサー

HEX2BIN関数の使い方。

HEX2BINを使用して16進数4桁を2進数に変換しようとしたところ=HEX2BIN(B2) (B2セルは6F67)としたところ#NUMエラーが出てしまいます。 B2を”B2”にすれば変換ができたのですが今度はオートフィルが使えなくなってしまいます。 なので、=HEX2BIN(B2)で変換できる方法か””をつかってもオートフィルで=HEX2BIN("C2")などにする方法を教えて下さい Excelは2007です。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> としたところ#NUMエラーが出てしまいます。 ヘルプでは数値に指定できるのは40ビットってなってますが、~1FFより大きい16進数は指定できません。 > B2を”B2”にすれば変換ができたのですが B2セルの内容でなくて、B2という16進数を変換しています。 セル指定してるわけでないので、オートフィル出来ないのは自明。 > なので、=HEX2BIN(B2)で変換できる方法か B2セルに、 1FF B2 なんかの桁数の少ない16進数を指定するか、2バイトずつ桁数分けて2進数にするとか。 必ず4桁の16進数が指定されるのなら、 =HEX2BIN(LEFT(B2,2),8)&HEX2BIN(RIGHT(B2,2),8) とか。

nogumi
質問者

お礼

ありがとうございます

その他の回答 (3)

回答No.4

オートフィルの方法 列 A に 16進数(2桁以内)が入力され、2進数が 列 B に変換される場合 行方向(下方)へオートフィルする場合 =HEX2BIN(INDIRECT("B"&ROW())) 列方向(右方)へオートフィルする場合 =HEX2BIN(INDIRECT("R"&ROW()&"C"&COLUMN(B1),FALSE)) 16進数 3桁 以上の場合は、 既回答を参考にされ、最大2桁毎に分割・変換してから 各先頭セルを上記の数式を活用してオートフィルし、 最後に分割変換された先頭セルを結合し、普通にオートフィルすればできると思います。 お試しください。

nogumi
質問者

お礼

ありがとうございます

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>HEX2BINを使用して16進数4桁を2進数に変換しようとしたところ=HEX2BIN(B2) (B2セルは6F67)としたところ#NUMエラーが出てしまいます。 当然のことです。 HEX2BIN関数は16進数の2桁までが対象の関数なので4桁を一括で変換できません。 >なので、=HEX2BIN(B2)で変換できる方法か””をつかってもオートフィルで=HEX2BIN("C2")などにする方法を教えて下さい Excelは2007です。 下桁から2桁ずつに分割して結果(文字列)を連結します。 C2=HEX2BIN(LEFT(B3,2))&HEX2BIN(RIGHT(B2,2),8) 上の桁有効桁数を自動で決めても良いですが、下の桁は8桁フルに指定しないと連結時に桁落ちして不正確な2進数になりますので注意してください。 添付画像は C3=HEX2BIN(LEFT(B3,2))&HEX2BIN(RIGHT(B3,2)) としたことで桁落ちが発生しています。

nogumi
質問者

お礼

詳しい説明ありがとうございます

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>16進数4桁 =HEX2BIN(LEFT(B2,2),8)&HEX2BIN(RIGHT(B2,2),8) とかで。

nogumi
質問者

お礼

ありがとうございます

関連するQ&A