エクセルで分数計算
普通の設定だと、Excel は小数で数値演算を実行しますが、分数形式 で計算させることもできます。
分数形式で表示されるように設定します
セル B2 に
=1/2+1/3
と入力してみましょう。Excel の初期設定では「 0.8333 」というように小数で値が返ってきます。上の式を 分数 のまま計算するにはセルの書式設定を変更します。セル B2 を選択した状態で [ホーム] タブの [表示形式] から [分数] を選択します。
すると、次のように 分数形式 で値が表示されます。
分子と分母の桁数を設定します
これで大成功 … と言いたいところですが、このままではちょっとまずいことになります。今度は同じセルに
=1/15+1/18
と入力してみます。すると …
「 1/8 」という値が表示されています。
「え? 1/15+1/18 がこんなにきれいな値になるかな!?」
と疑問に思いつつ手計算してみると 1/15+1/18 = 11/90 となります。つまり今の状態では分子・分母がともに 1 桁で表されるような分数で勝手に値を近似しているのです。こんなのは使いものにならないので、設定を変えるしかありません。セル B2 を右クリックして [セルの書式設定] を選びます。
[分類] から [ユーザー定義] を選択し、[種類] のボックスに
?/#####
と入力して [OK] を押します。「 # 」は表示する桁数を表し、今の場合は 5 桁まで値を丸めずそのまま表示するという設定にしたのです。すると …
正確な値が表示されましたね! 分数同士の足し算では通分があるために、分母が思いの他大きくなる可能性があります。分母が 3 桁同士でも足し算すると分母が 6 桁になってしまうこともあるので、必要に応じて「 # 」の数を増やしておいてください。
分数計算シート
桁数を気にせずに、電卓代わりに素早く分数の加減乗除を計算できるシートの作り方も載せておきます。次のようなシートを用意してください。
セル C2 と C3, E2 と E3, G2 と G3 はそれぞれ結合させてあります([セルを結合して中央揃え])。$a/b$ と $c/d$ を加えると
\[\frac{a}{b}+\frac{c}{d}=\frac{ad+bc}{bd}\]
となります。数値によっては、このあと約分できる可能性もありますが、それもあとでちゃんと処理します。まずは上の式を計算させるために、セル F2 に
=B2*D3+D2*B3
と入力します。またセル F3 には
=B3*D3
と入力しておきましょう。
すると、上図のように約分されていない分数が表示されます。次に分子と分母を最大公約数で割れば、この分数を約分できます。Excel には最大公約数を計算する GCD 関数が用意されているので、セル H2 には
=F2/GCD(F2,F3)
と入力します。また、セル H3 には
=F3/GCD(F2,F3)
と入力しておきます。
すると上図のように約分された分数が表示されます。分数の引き算は
\[\frac{a}{b}-\frac{c}{d}=\frac{ad-bc}{bd}\]
で計算できます。また掛け算と割り算はそれぞれ
\[\frac{a}{b}\frac{c}{d}=\frac{ac}{bd},\quad \frac{a/b}{c/d}=\frac{ad}{bc}\]
と計算できます。これらをまとめてシートに入力しましょう。
それぞれのセルに入力する数式は次のようになります。
F5:=B5*D6-D5*B6
F6:=B6*D6
F8:=B8*D8
F9:=B9*D9
F11:=B11*D12
F12:=B12*D11
H5:=F5/GCD(F5,F6)
H6:=F6/GCD(F5,F6)
H8:=F8/GCD(F8,F9)
H9:=F9/GCD(F8,F9)
H11:=F11/GCD(F11,F12)
H12:=F12/GCD(F11,F12)
これでどんな分数の計算も手早く実行できます。
ぜひ色々な数値を入れて試してください。
【おすすめ記事】≫ [Excel VBA] 約数表を作成する
コメント
=IF(AB6=”1/5″,T14/5),IF(AB6=”1/7″,T14/7),IF(AB6=”1/10″,T14/10,T14/20)
*ドロップダウンリストにて1/5,1/7,1/10,1/20を文字列に設定しています。どこが悪いのかわかりません。教えて下さい。お願い致します。
データの入力規則のダイアログボックスで
”1/5″,”1/7″,”1/10″,”1/20″
と入力されていると思いますが、ドロップダウンリストでは「”」もデータの一部であると認識されてしまいます。代わりに、次のように、それぞれの小数の頭に「’」を添えてリストを作ってください。
’1/5,’1/7,’1/10,’1/20
シングルクォーテーションを付けることによって、セルに入力したそのままの文字列として認識させることができます(「’」を付けないと 1/5 は 1月5日のように勝手に日付データ形式に変換されてしまいます)。