【Excel】GCD関数|最大公約数の求め方と実務活用3選

スポンサーリンク

「最大公約数ってどうやって求めるんだっけ?」と悩んだことはありませんか。分数を約分したいときや、データを均等に分けたいときなど。最大公約数が必要になる場面は意外とあります。

手計算で素因数分解するのは手間ですし、数が大きくなるとミスも増えます。そんなときに使えるのが GCD関数 です。基本の書き方から実務で役立つパターンまで、まとめて紹介します。

GCD関数とは?

読み方と基本概念

GCD関数は、指定した数値の 最大公約数 を求める関数です。

  • 読み方: ジーシーディー関数
  • 語源: 英語の「Greatest Common Divisor」(最大公約数)

最大公約数とは、複数の数値を割り切れる整数のうち最も大きい数のことです。たとえば 12 と 18 の最大公約数は 6 です。12 も 18 も 6 で割り切れますよね。

GCD関数を使えば、こうした計算をセル1つで完結できます。

構文と引数(数値1〜255個)

GCD関数はExcel 2007以降のすべてのバージョンで使用できます。

=GCD(数値1, [数値2], ...)
引数必須/省略可説明
数値1必須最大公約数を求めたい1つ目の数値
数値2〜255省略可最大公約数を求めたい追加の数値(最大255個)

引数には数値またはセル参照を指定します。ポイントは次の3つです。

  • 小数は切り捨て: 4.7 を指定すると 4 として処理されます
  • 0は有効: GCD(5, 0) は 5 を返します(エラーにはなりません)
  • 負の数はNG: 負の数を指定すると #NUM! エラーになります

GCD関数の基本的な使い方

値を直接入力する

もっともシンプルな使い方です。数値を直接指定します。

=GCD(12, 18)

結果は 6 です。12 と 18 をどちらも割り切れる最大の整数が 6 ということですね。

ほかにもいくつか例を見てみましょう。

数式結果考え方
=GCD(8, 12)48 = 4 x 2、12 = 4 x 3
=GCD(15, 25)515 = 5 x 3、25 = 5 x 5
=GCD(7, 13)1互いに素(共通の約数が1のみ)
=GCD(24, 36, 60)123つの数値もまとめて指定できる

3つ以上の数値を指定する場合も、カンマで区切って並べるだけです。

セル参照で複数の値を指定する

実務ではセル参照を使うケースがほとんどです。A2セルとB2セルに数値が入っている場合は次のように書きます。

=GCD(A2, B2)

セル参照にしておけば、数値を変更するだけで結果が自動的に再計算されます。3つ以上のセルを指定する場合は、カンマで区切って追加してください。

=GCD(A2, B2, C2)

配列(範囲)をまとめて指定する

数値がA2:A10のように連続したセルに入っている場合は、範囲をまとめて指定できます。

=GCD(A2:A10)

セルを1つずつカンマで区切る必要がないので、データが多いときに便利です。もちろん、範囲と個別のセルを組み合わせることもできます。

=GCD(A2:A10, C2)

GCD関数の実務活用シーン3選

分数を約分して表示する

GCD関数の定番の使い方が 分数の約分 です。分子と分母の最大公約数で割れば、約分後の値が得られます。

A2セルに分子(18)、B2セルに分母(24)が入っている場合の数式はこちらです。

約分後の分子を求める数式です。

=A2/GCD(A2, B2)

約分後の分母を求める数式です。

=B2/GCD(A2, B2)

具体的に確認してみましょう。

 A列(分子)B列(分母)約分後の分子約分後の分母結果
例11824343/4
例24560343/4
例31435252/5

18 と 24 の最大公約数は 6 です。18 ÷ 6 = 3、24 ÷ 6 = 4 で、約分後は 3/4 になります。

データを均等分割する共通単位を求める

「複数のデータを同じ単位で均等に分けたい」というときにGCD関数が役立ちます。

たとえば、3種類の商品の在庫数が 120個、180個、240個だとします。これらをすべて同じ個数ずつセットにまとめたいとき、1セットあたりの個数は次の式で求められます。

=GCD(120, 180, 240)

結果は 60 です。つまり60個ずつのセットにすれば、どの商品もちょうど割り切れます。

この考え方は、ケーキの等分、予算の均等配分、倉庫スペースの区画割りなど、さまざまな場面で応用できます。

スケジュールの共通サイクルを調べる

「Aさんは6日ごと、Bさんは8日ごとに出勤する。2人が同時に出勤するのは何日おき?」という問題。これは最小公倍数(LCM関数)で求められますが、その途中計算でGCD関数が活躍します。

2数の場合、最小公倍数は次の関係式で計算できます。

=A2*B2/GCD(A2, B2)

A2に6、B2に8が入っている場合、GCD(6, 8) = 2 なので、6 x 8 ÷ 2 = 24 です。24日ごとに2人の出勤日が重なります。

TIP

Excelには最小公倍数を直接求める LCM関数 もあります。最小公倍数だけが必要な場合はLCM関数が簡単です。関係式を知っておくと、GCD関数の理解が深まります。

GCD関数とLCM関数の違いと使い分け

GCD vs LCM 比較表

GCD関数と LCM関数 は対になる関数です。混同しやすいので、違いを整理しておきましょう。

比較項目GCD関数LCM関数
正式名称Greatest Common DivisorLeast Common Multiple
日本語最大公約数最小公倍数
求めるもの共通して割り切れる最大の整数共通の倍数のうち最小の整数
構文=GCD(数値1, [数値2], …)=LCM(数値1, [数値2], …)
GCD(12,18)の例636
関係式(2数)GCD(a,b) x LCM(a,b) = a x b同左

2数の場合、GCD と LCM の積はもとの2数の積に等しいという関係があります。GCD(12, 18) = 6、LCM(12, 18) = 36 で、6 x 36 = 12 x 18 = 216 です。

シーン別:どちらを使うべきか

やりたいこと使う関数理由
分数を約分するGCD分子と分母を共通の最大値で割る
データを均等に分割するGCD共通して割り切れる最大の単位を知りたい
複数周期の重なりを求めるLCM全周期の最小公倍数が合流タイミング
異なるサイズの部品をまとめ買いするLCMすべての数の公倍数で揃える

結論: 「割る」操作が絡む場面ではGCD関数、「揃える」操作が絡む場面では LCM関数 を選んでください。

GCD関数のエラーと対処法

GCD関数で発生するエラーと対処法をまとめます。

エラー原因対処法
#NUM!負の数を指定したABS関数 で絶対値に変換してから渡す
#NUM!結果が 2^53 を超える値が大きすぎないか確認する
#VALUE!文字列など数値以外を指定したセルに数値が入っているか確認する
#NAME?関数名のスペルミス「GCD」のスペルを確認する

#NUM! エラーの対処例

GCD関数でもっとも多いエラーです。負の数を指定すると発生します。

=GCD(-12, 18)

この数式は #NUM! エラーになります。ABS関数で絶対値にすれば回避できます。

=GCD(ABS(A2), ABS(B2))

データに負の数が含まれる可能性がある場合は、ABS関数で囲んでおくと安心です。

0を含む場合の動作

0を引数に指定してもエラーにはなりません。GCD(5, 0) は 5 を返します。すべての整数は0の約数とみなされるためです。

ただし GCD(0, 0) は 0 を返します。この点は覚えておきましょう。

まとめ

GCD関数のポイントを整理します。

  • 書き方: =GCD(数値1, [数値2], …) で、最大公約数を求める
  • 引数: 最大255個の数値を指定できる。小数は切り捨て処理される
  • 実務活用: 分数の約分、データの均等分割、スケジュール計算に使える
  • LCM関数との違い: 「割る」場面はGCD、「揃える」場面は LCM関数
  • エラー対策: 負の数には ABS関数を組み合わせて #NUM! を回避

最大公約数の計算が必要になったら、ぜひGCD関数を活用してみてください。

biz-tactics の Excel関数リファレンス

biz-tactics ではExcel関数の使い方を多数紹介しています。用途に合わせてご活用ください。

タイトルとURLをコピーしました