- ベストアンサー
Excelで指数の表示変換について その2
Excel2000を使用しています。指数「1.234E-06」を「12.340E-07」へ表示変換する方法を教えて下さい。 以前指数の桁数を下げる方法は教わって出来ましたが、上げる方法が出来ないでいます。 何卒お分かりになる方教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
説明不足だったでしょうか? > (1)セルA1の書式を「文字列」にする。 これは OK です。 > (2)セルA1に「2.35536720085965E-06」と書き込む。 これは意図と違います。 セル A1 には、「0.00000000000000E+00」と入力してください。 変換したいデータはセル A2 に「2.35536720085965E-06」と入力してください。 そのままですと、小数点下の桁が切り捨てられるので、書式で「指数」を選び、小数点下の桁数を 15 に拡張してください。 > (3)セルA2に力技の式を貼り付ける。 これも意図と違います。 力技の式では、セル A2 の内容をセル A1 の書式で変換しているので、A1 A2 以外のセルならどこに入力しても構いません。結果は文字列になります。 なお式の中では、「$A$1」で書式を指定し、「A2」で変換する前のデータを指定しています。書式は一つですむために絶対セル参照にしています。 複数の値を表示変換する場合には、セル A2 との位置関係を保って、式の入力されたセルをコピー&貼り付けしてください。 例: 元の値をセル A2 に値を入れて、セル C2 で表示変換しているとき 別の値をセル A3 に入れた後で、セル C2 をコピーして セル C3 に貼り付けてください。
その他の回答 (3)
ANo.2 の回答に補足します(説明が不足していました)。 > セル A1 に元の書式を設定しておきます > 0.00000000000000E+00 (有効数字16桁) 事前にセル A1 の書式を「文字列」にしておいてから書式の文字を設定してください。 書式が「標準」や「指数」のままだと、#VALUE! エラーになります。
補足
どうしてでしょう。やっぱり出来ません。 たぶんあたしがおバカだと思うので出来ない一連の操作を書きますのでおかしい所を指摘下さいませんか? (1)セルA1の書式を「文字列」にする。 (2)セルA1に「2.35536720085965E-06」と書き込む。 (3)セルA2に力技の式を貼り付ける。 (4)すると、TEXTと書かれたのが出て、その中に数式の結果として「23.55367200859650E05」と書かれている。 (5)Enterを押す (6)「この数式は計算できません。循環参照・・・」のメッセージが出る。 こんな感じです。どこがいけないのでしょうか。
ANo.1 です。 このやり方は、元の書式に依存するため以下のように変更してみてください。 前回の回答に対し、有効数字が11桁増えた分だけ (1) 書式の「.」と「E」の間の桁数 (2) 結果の「.」と「E」の間の桁数 (3)指数部の開始位置 をそれぞれ11増やします。 セル A1 に元の書式を設定しておきます 0.00000000000000E+00 (有効数字16桁) セル A2 に表示したい値が入っているものとして、以下の式で表示します。 =MID(TEXT(A2,$A$1),1,1)&MID(TEXT(A2,$A$1),3,1)&"."&MID(TEXT(A2,$A$1),4,13)&"0E"&TEXT(VALUE(MID(TEXT(A2,$A$1),18,3))-1,"00")
補足
やってみましたが、”この数式はできません。循環参照が・・・”とメッセージが出ます。 原因が分かりませんので度々恐縮ですが教えて下さい。
前回の回答者です。 EXCEL 2000 & 2002 では、指数形式の書式で設定できる小数点より前の桁数について、 「ゼロ桁」または「奇数桁」という制約があるようです(他のバージョンでは未確認)。 奇数桁であれば、以下のような書式で設定できます。 #000.0000E+00 (3桁の場合) しかしこの質問のように、小数点の前の桁数が2桁の場合には力技で表示するしかないようです。 セル A1 に元の書式を設定しておきます 0.000E+00 セル A2 に表示したい値が入っているものとして、以下の式で表示します。 =MID(TEXT(A2,$A$1),1,1)&MID(TEXT(A2,$A$1),3,1)&"."&MID(TEXT(A2,$A$1),4,2)&"0E"&TEXT(VALUE(MID(TEXT(A2,$A$1),7,3))-1,"00") もう少しスマートなやり方もあると思いますが、取りあえず出来る方法です。
補足
回答ありがとうございます。 〉「ゼロ桁」または「奇数桁」という制約があるようです そうなんですか。EXCEL 2000 & 2002って結構未完成なものなんですね。 それで、力技やってみました。私が質問で書いた「1.230E-06」は出来ましたが、実際に使用する数字「2.35536720085965E-06」は「23.550E671」と表示されてしまいます。 どうしたら解決するのでしょうか。
お礼
ありがとうございました。 ここまで丁寧に説明していただいたので勿論出来ました。 お陰で資料が完成します!