Excel関数 逆引き集 | 最大公約数 → GCD

Excel
スポンサーリンク

概要

GCD 関数は、複数の整数の「最大公約数」を求める関数です。
最大公約数とは、「指定したすべての整数を余りなく割り切れる整数のうち、いちばん大きい数」のことです。
分数の約分、比率の簡略化、「何個ずつにきれいに分けられるか」といった場面で、とてもよく効きます。


GCD 関数の基本

書式と意味

=GCD(数値1, [数値2], …)

数値1 は必須、数値2 以降は省略可能で、最大 255 個まで指定できます。
指定したすべての数値を割り切れる「最大の整数」が返ってきます。

例えば:

=GCD(24,36)      ' 24 と 36 の最大公約数 → 12
=GCD(18,24)      ' 18 と 24 の最大公約数 → 6
=GCD(5,2)        ' 5 と 2 の最大公約数 → 1
=GCD(A1,B1,C1)   ' A1,B1,C1 の最大公約数

24 と 36 の場合、両方を割り切れる数は 1,2,3,4,6,12 ですが、その中で最大の 12 が返ってきます。


挙動とエラーのポイント

整数として扱われる

GCD は「整数の最大公約数」を求める関数なので、小数が渡された場合は小数部が切り捨てられて扱われます。
また、数値以外(文字列など)が含まれると #VALUE! エラーになります。

=GCD(10.8, 4.2)   ' → GCD(10,4) として扱われる

負の数・大きすぎる数

負の数を渡すと #NUM! エラーになります。
また、パラメーターが非常に大きく(2^53 以上)なると #NUM! エラーになる仕様があります。

=GCD(-10,20)   ' → #NUM!

0 を含む場合

0 が含まれている場合、「0 でないほうの数」が最大公約数になります。
例えば:

=GCD(5,0)   ' → 5

0 と 5 の両方を割り切れる最大の整数は 5 だからです。


実務での使いどころ

分数の約分に使う

たとえば「18/24」をできるだけ簡単な分数にしたいとします。
18 と 24 の最大公約数は 6 なので、分子・分母を 6 で割れば約分できます。

Excel では:

=GCD(18,24)   ' → 6

これを使って、

  • 分子:=18/GCD(18,24) → 3
  • 分母:=24/GCD(18,24) → 4

とすれば、「18/24 → 3/4」にきれいに約分できます。

比率を一番シンプルな形にする

「48 : 18 : 30」のような比率を、できるだけ小さい整数比にしたいときも GCD が使えます。
48, 18, 30 の最大公約数は 6 なので、それぞれを 6 で割れば、

  • 48 ÷ 6 → 8
  • 18 ÷ 6 → 3
  • 30 ÷ 6 → 5

となり、「48 : 18 : 30 → 8 : 3 : 5」というシンプルな比率にできます。

「何個ずつに分けられるか」を考える

「24 個と 36 個の部品を、同じ個数ずつのセットに分けたい。最大で何個ずつにできるか?」
これは「24 と 36 の最大公約数」を求めればよく、GCD(24,36)=12 なので、
「12 個ずつのセットなら、両方きれいに割り切れる」と分かります。


コード例・テンプレート

2つの数の最大公約数

=GCD(A1,B1)

A1 と B1 の最大公約数を求めます。

3つ以上の数の最大公約数

=GCD(A1,B1,C1)
=GCD(A1:D1)

A1~C1、または A1~D1 の最大公約数をまとめて求められます。

比率を簡略化するための GCD

=GCD(A1,B1,C1)

で最大公約数を求め、その値で A1,B1,C1 を割れば、
「A1 : B1 : C1」を最も簡単な整数比にできます。


例題

問題1

A1 に「24」、B1 に「36」が入っています。
この 2 つの数の最大公約数を求める式を書いてください。

=GCD(A1,B1)

(結果は 12 になります。)


問題2

セルに「18 と 24 の最大公約数」を直接表示したいとします。
GCD 関数を使った式を書いてください。

=GCD(18,24)

(結果は 6 になります。)


問題3

A1 に「48」、B1 に「18」、C1 に「30」が入っています。
この 3 つの数の最大公約数を求める式を書いてください。

=GCD(A1,B1,C1)

(結果は 6 になり、「48 : 18 : 30 → 8 : 3 : 5」と簡略化できます。)


問題4

A1 に「分子」、B1 に「分母」が入っています。
この分数を GCD を使って約分したいとき、
約分後の分子・分母を求める式をそれぞれ書いてください。

約分後の分子:

=A1/GCD(A1,B1)

約分後の分母:

=B1/GCD(A1,B1)

(GCD で最大公約数を求め、それで両方を割るイメージです。)


問題5

=GCD(-10,20) を計算するとどうなるか、エラーの種類と理由を答えてください。

GCD は負の数を受け付けないため、この式は #NUM! エラーになります。
最大公約数は「正の整数」に対して定義される、というルールがあるからです。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました