[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『分数について』(みど)
過去の質問も読んでみたのですが、今ひとつ理解できないので、教えてください。
分数(例1/2)を、小数(0.5)でなく、分数として表示したい時、勝手に通分しないで、入力した通りに表示することは出来ないんでしょうか。「0 2/4」と入力したら、「1/2」とならずに、「2/4」となって欲しいのです。1を超える場合(例3/2)は、「0 3/2」と入力したら、「1 1/2」になって欲しくないのです。勿論、全て数値として扱い計算に使いたいのですが。
セルの書式をユーザー定義で?/?にしてみたら?(YS)
そうですね、もう少し調べます(YS)
そうなんですよね。9/10は?/??にする必要がありますよね。
分数の表示は「入力した通り」に表示するのは難しいみたいです。 入力した分数はいったん少数値に変換され、 分数表示形式に設定してある場合は「近似値」を設定された分母の 許容範囲内で表示します。 処理としては「どうやって入力されたか」ではなくて、 「入力後の値はどれだけか」が表示の判断基準になっているようです。 したがって、分母を任意のものにしたいときはその都度ユーザー設定で 「?/4」「?/12」などにしてやる必要があります。
セルごとの設定が難しいようなら、「分子」「/」「分母」を別々のセルに入力して A B C D 1 2 / 4 =(A1/C1)*15
などのようにしてみてはいかがでしょう。 (KAMIYA)
もしくは、多少「チカラワザ」になりますが、 例えばA1を表示形式文字列に設定して分数を入力し、下記数式でA1を参照すると 数値化できます。 =VALUE(LEFT(A1,FIND("/",A1)-1))/VALUE(RIGHT(A1,LEN(A1)-FIND("/",A1))) (KAMIYA)
横から失礼します。Yosh!です。 文字列として入力しておいて、計算時にVALUEで変換するというKAMIYAさんの案が 一番簡単な方法のように思います。ただ、KAMIYAさんの式だと「0 3/2」の入力には 対応していないようなので、少し変更した式を考えてみました。 =VALUE(IF(ISERR(FIND(" ",A1)),"0 "&A1,A1)) (Yosh!)
2/4、9/10のように入力通りに表示させるには「表示形式」分数で「分母を4に設定」や「分母を10に設定」とします。 ただし、3/2のような仮分数の表示はされません。 以前に分数計算式の説明をした記憶がありましたので、検索しました。 ただし、最大公約数、最小公倍数、通分、仮分数を帯分数にするなどの関数の関係で分析ツールを組み込む必要があります。 [[20030408191040]] 『きちんとした分数の入力ができません』(ミッコ) (シニア)
上記の説明であれば、入力通りに表示させて、計算もさせたいですね? 前準備として 分数入力欄の列番号を選択して、「セルの書式設定・表示形式・文字列」とします。 分数計算させる列番号を選択して、「セルの書式設定・表示形式・数値(桁数指定)かパーセンテージ」とします。 分数列に3/100、49/98、・・・・・のように入力します。 不良率の欄にKAMIYAさんの=VALUE(LEFT(A2,FIND("/",A1)-1))/VALUE(RIGHT(A2,LEN(A2)-FIND("/",A2)))式入力 またはEXCELは文字列の式でも計算しますから、VALUE を除いて =LEFT(A2,FIND("/",A2)-1)/RIGHT(A2,LEN(A2)-FIND("/",A2)) と式入力しても結果が得られます。 このような設定をすれば、みどさんの予定していた設定になるのではないですか? 【注意】事前にセルの書式を文字列にしないと、EXCELは勝手に日付と判断してシリアル値を返します。 このような場合は分数の前に半角スペース入力すれば、文字列になります。 (シニア)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.