- ベストアンサー
エクセルで
エクセルで作ったブック表1があって、それを基にブック表2を作っています。 表1と表2は表の形式が違うだけで、ほぼ数値は変わらないので、=を使って、数値をリンクさせています。 表1のセルには| 4 |という数字しかありません。 それを表2では|(4)|とカッコの中に表1の数値を入れたいのですが、どうしたら良いでしょうか? また、表1では-0.026という数値を表2では-2.6X10-2(10-2というのは10のマイナス2乗の意味)としたいのですが、その方法もあればお願いします。 エクセルはあまり詳しくないので困っています。 マクロとか関数とかもよくわかっていません。。。 よろしくお願いします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
遅くなりすみません。 >でも元の数値が「-0.026」は「-2.6X10-2」とバッチリいきましたが、 >「0.026」などマイナスでないものでは「0.26X10-1」となってしまいます。 >「2.6X10-2」となってほしいんですが。。。 あれ? おかしいですね。 こちらで試したときは、正でも負でもちゃんとできたんですが…。 =ROUND(LOG10(ABS(A1)),0) この式を入力間違いしていないでしょうか。すみませんが、もう一度よくお確かめください。
その他の回答 (7)
- taisuke555
- ベストアンサー率55% (132/236)
ちょっと失礼します。 =ROUND(LOG10(ABS(A1)),0) は小数点未満四捨五入ですよね? 0.09なんか入れると、 LOG10(0.09)=-1.045757491 で四捨五入すると、-1になってしまうので =ROUNDUP(LOG10(ABS(A1)),0) (切り上げ)の方が良いのでは? 間違えていたらごめんなさい。
お礼
ありがとうございます! ROUNDUPにしたら解決できました! 解決できたので、締め切らせていただきます。 まだ他にも質問させていただくと思いますので、またよろしくお願いします。
- hinebot
- ベストアンサー率37% (1123/2963)
#5で書き忘れました。 最終的に結果を表示するセルは、表示形式を文字列にしておいた方が良いでしょう。 あと、^ は累乗の記号です。
- hinebot
- ベストアンサー率37% (1123/2963)
#2です。 指数表示ですが、セルを分けても良いのなら下記でどうでしょうか。 数値が入っているセルをA1とします。 セルB1に =ROUND(LOG10(ABS(A1)),0) とすれば、B1に指数部分(-2 の部分)が出ます。 さらにC1に =IF(B1<0,A1*10^ABS(B1),A1/10^B1) とすれば、数値部分(-2.6 に当たる部分)が出ます。 最後に =C1&"×10^"&B1 とすれば、お望みの表示になるかと。
お礼
ご親切にありがとうございます! 不慣れなものなのでオロオロしましたが、なんとかできました。スゴイです。 でも元の数値が「-0.026」は「-2.6X10-2」とバッチリいきましたが、 「0.026」などマイナスでないものでは「0.26X10-1」となってしまいます。 「2.6X10-2」となってほしいんですが。。。 元の数値が正の値でも負の値でも思い通りに表示できる都合の良い数式はありますでしょうか? それとも私の記述ミスなんでしょうか? 度々すみませんがよろしくお願いいたします。
- tizzy
- ベストアンサー率51% (115/224)
表2の式はそのままで良いので 書式設定を変更するといいと思います。 セルの書式設定の「表示形式」で 「ユーザー定義」を選択し 「種類」の入力部分に半角で (0) 上記のように カッコ、ゼロ、カッコ閉じを入力してください。 小数以下が必要な場合は (0.00) というように小数点以下必要な桁数だけ 0をつけてください。 また、-0.026の場合は表示形式を指数に されるとよろしいと思います。 -2.6E-02 と表示できます。 お役に立てるかどうか分かりませんが ご参考までに。
お礼
ありがとうございます! セルの書式設定でも小数もいけるんですね。 勉強になります。 表示形式を指数以外にする方法がありましたらお願いします。
- kyo_seven
- ベストアンサー率30% (7/23)
こんにちは。 リンクのほうですが =Sheet1!A1 のようになっているところを ="( " & Sheet1!A1 & " )" とすればどうでしょうか? 指数表現ですが -2.6E-02のような表現になってしまうのですが セルで右クリックからセルの書式設定を選び表示形式で 指数を選択でできます。 Excel97で確認しましたのでたの参考までに。
お礼
ありがとうございます! 指数はセルの書式設定以外での方法を模索中なんです。。。 なにか良い方法がありましたらお願いします!
- hinebot
- ベストアンサー率37% (1123/2963)
>表1のセルには| 4 |という数字しかありません。 >それを表2では|(4)|とカッコの中に表1の数値を入れたいのですが、どうしたら良いでしょうか? 2つ方法があります。 1つは#1さんの回答のように、そのセルの書式設定で表示形式を変えてやる方法です。 表示を変更したいセルにカーソルをあてて、右クリック→「セルの書式設定」→「ユーザー定義」を選択し、種類のところに、「"("#")"」と入れてやればOKです。 ただし、小数の場合、さらに工夫が必要になります。 もう1つは、数式で入れてやる方法です。 たとえば今、 =A1 としているなら代わりに ="("&A1&")" とすればOKです。こちらですと、少数でもそのまま適用できます。 指数表示の方はちょっと考え中です。(#1さんの方法でも良いとは思いますが、"E"はいやですよね?)
お礼
ありがとうございます! 小数の場合はまた違うんですね。ナルホド! データを全部確認してないのですが、小数があったら困るのでこちらを使おうかな。。。 指数の方も、よろしくお願いします。 #1さんのお礼にもありますが|-2.6|x10|-2|という感じにセルを分けてでも良いので。。。
- PAPA0427
- ベストアンサー率22% (559/2488)
表示形式を変えれば出来ます。 表示を変更したいセルにカーソルをあてて、右クリック→「セルの書式設定」→「ユーザー定義」を選択し書式のところに「(###)」とすれば、カッコつきの数字が表示されます。 同様に、指数表示も右クリック→「セルの書式設定」→「指数」を選択し、小数点を1にしてください。表示は「-2.6E-02」となります。
お礼
ありがとうございます! そうですよね。 指数だとEになってしまうと困ってしまいます。 とりあえず、|-2.6|x10|-2|という感じにセルを分けてでも良いので何か良い方法があればお願いします!
お礼
ありがとうございます!こちらこそ遅くなりました。 式は間違っていなく、#8の方の通りにしましたらできました! どうしてなのかはご説明を読んでもよくわかりませんでしたが。。。勉強します。。 解決できたので、締め切らせていただきます。 他にも質問させていただくと思いますので(…)、またよろしくお願いします。