人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルで質問です。エクセルのバージョンは2007です。
数式バーに数式を,例えば「=1.50e-3*(B3+2.5e4)」のように,定数を指数の形で表記して入力します。数式を確定したあともう一度数式バーを見ると,指数が自動的に開かれて「=0.0015*(B3+25000)」になっています。
ちょっと桁数が増えると後で見るとき大変不便ですし,有効数字など意図的に書きたい桁数の情報も落ちてしまいます。数式中の指数を勝手に開いてしまわないように設定したいのですが,設定方法を教えてください。


●質問者: じゅげむ
●カテゴリ:コンピュータ 学習・教育
✍キーワード:E-3 エクセル バージョン 入力 勝手
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● lang_and_engine
●35ポイント

設定による方法ではないのですが…

ttp://shoji.blog1.fc2.com/blog-entry-60.html

を参考にさせて頂き,開発タブからマクロで

Function Eval(ByVal expr As String)
 Eval = Evaluate(expr)
End Function

という関数を作ります。


セルには,

=1.50e-3*(B3+2.5e4)

のかわりに,

=Eval("1.50e-3*(B3+2.5e4)")

と入力します。

この場合,セル内の表記は保たれます。

◎質問者からの返答

回答ありがとうございました。教えていただいた方法を試してみました。

この方法ですと,そのままでは数式中に相対参照がある状態でセルのコピーや移動をしたときに,適正にリンクが追従しないようです。つまりB3などのセルが自動的に修正されず絶対参照のようになってしまいました。

そこで使い方を工夫して,文字列として""でくくる部分を「指数で書かれた定数」部分だけにしてやってみるとうまくいきました。つまり

=Eval("1.50e-3"*(B3+"2.5e4"))

と書くとリンクの問題を回避できるようです。

Eval関数が常にこの書き方で正しく解釈してくれるか,未知の部分はありますが,この方法で当面は大丈夫そうです。

質問はもうしばらく開いておきますので,このほかの方法がありましたらぜひ教えてください。特に諸悪の根源「指数が自動的に開かれてしまう」という仕様?の変更方法を知りたいと思います。


2 ● lang_and_engine
●35ポイント

この指数の仕様はもどかしいですね。


Excel 打った文字と違う数字が表示される

http://qa.asahi.com/qa3358590.html?ans_count_asc=1

…Eを使った指数形式で入力すると,

・表示上は,Eの前が10以下に正規化される

・式内容は,10進数で開かれてしまう


Excel で文字列または数値が意図しない表示形式に変換される

http://support.microsoft.com/kb/214233/ja

…文字列として入力すれば入力内容は変わらない(しかし計算もされない)


Excelの指数表示

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1110482...

…指数だけ解除はできない


↑Eの対処方法はないようです。



なお,もしも指数の入力をEを使わずに

=1.5*10^(-3)*(B3+2.5*10^(4))

のように書くのならば,入力内容は保存され,また相対参照のフィルもできます。

桁の精度は ホーム>数値>表示桁数を増やす で変えられますね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ