概要
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! エラーになります。
最大公約数は「正の整数」に対して定義される、というルールがあるからです。
