アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2000および2003で数値の「1000」をDEC2HEX関数を使用して16進の「03E8」に変換し、これをカンマ区切りのcsvファイルで保存したいのですが「CSVと互換性のない機能が含まれている可能性があります。」と表示され、そのまま保存すると、セルの内容が「3.00E+8」の指数形式に変わってしまいます。
指数形式ではなく、文字列で03E8と保存する方法はないのでしょうか?
ご存知の方よろしくお願いいたします。

A 回答 (2件)

CSVに書き出した場合、文字列3E8はそのまま文字列3E8として保存さ


れています。しかしそれをExcelで開くと、文字列3E8を勝手に数値
3.00E+08と解釈して、変換されてしまいます。これはExcelのいつも
の「でっかいお世話」機能ですので、回避するには当該ファイルが
CSVじゃなくてテキストファイルだよと見せかけて、ウィザードを経
由して読み込むしかありません。

Microsoft製ではないあらゆるソフトでは正しく3E8という文字列と
して扱ってくれますので、CSVに書き出す目的が他のソフトへのデー
タの移動でしたら、CSVをExcelで開くのは危険とだけ憶えて、ほっ
といていいです。

どうしてもExcelに戻す必要がある場合、私なら16進表記の数値であ
ることを示す意味でも「0x03E8」と書きますね。これならExcelには
何のことだか判らないので、勝手なことをされません。
=REPLACE("0x0000",7-LEN(DEC2HEX(A2)),LEN(DEC2HEX(A2)),DEC2HEX(A2))
    • good
    • 4
この回答へのお礼

grumpy_the_dwarfさん
回答ありがとうございます。
Excel以外で再検討してみます。

お礼日時:2006/12/14 10:59

> セルの内容が「3.00E+8」の指数形式に変わってしまいます。


どのような方法で確認されましたか?
CSVをEXCELで開いておられるとか?
メモ帳などテキストエディタで開くと、どのように保存されていますか?

小生がEXCEL2000にて試験したところ、うまく行くようです。
(テキストエディタで開いても、CSVをEXCELで開いても)
ただ、[03E8]ではなく、[3E8]になりますので、何かさらなる編集をなさってますか?([]は説明上付加したもの)


強制的に「文字列」とさせるなら、
DEC2HEX関数を設定するセルで、先頭に'(シングルクォート)を連結しておくとか。(’が表示されて邪魔かも?)
="'"&RIGHT("0000"&DEC2HEX(1000),4)
    • good
    • 1
この回答へのお礼

bin-chanさん。
回答ありがとうございます。
テキストエディタでファイルをひらいたら[03E8}で保存されていました。

お礼日時:2006/12/14 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A