• ベストアンサー

Excel 16進数

Excelで16進数を(2の補数などで)負の数の10進数に変換するやり方を 教えてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>それでは、負の数にはならないんじゃないですか? HEX2DECで扱う幅より小さい場合は、 便宜的に以下のようにすればいいかと思います。 =IF(HEX2DEC(A1)<16^LEN(A1)/2,HEX2DEC(A1),HEX2DEC(A1)-16^LEN(A1))

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • chikk109
  • ベストアンサー率52% (10/19)
回答No.4

意味理解してなかったです。すみません。 =IF(MOD(DEC2BIN(POWER(2,LEN(IF(A2="","",HEX2BIN(A2))))-1)-IF(A2="","",HEX2BIN(A2)),2)=0,F2+1,DEC2BIN(BIN2DEC(DEC2BIN(POWER(2,LEN(IF(A2="","",HEX2BIN(A2))))-1)-IF(A2="","",HEX2BIN(A2)))+1)) これ2進数での結果です。あとは10進数に変換すればいいとおもいますよ。

すると、全ての回答が全文表示されます。
  • puni2
  • ベストアンサー率57% (1002/1731)
回答No.2

>それでは、負の数にはならないんじゃないですか? なります。 試しにやってみてください。 以下は,右の列の各セルに =hex2dec(左隣のセル) と入れてみた結果です。 7fffffffff 549755813887 8000000000 -549755813888 FFFFFFFFFF -1 どうやら,40ビットで計算しているようです。

すると、全ての回答が全文表示されます。
  • chikk109
  • ベストアンサー率52% (10/19)
回答No.1

こんにちは。 HEX2DEC関数です。エンジニア分類です。 HEX2DEC(数値)です。 エンジニア分類がアドインされてなかったら手動で※アドインしてください。 ※ツール⇒アドイン⇒分析ツール[チェック]⇒OKです。(なおofficeCD-ROMが必要になる場合があります。)

koton_
質問者

補足

それでは、負の数にはならないんじゃないですか?

すると、全ての回答が全文表示されます。

関連するQ&A