スプレッドシートのGCD関数の使い方|最大公約数

スポンサーリンク

「この2つの数値の比率を、もっとシンプルに表したい」

データ整理や資料づくりで、比率を約分したい場面ってありますよね。

手計算で共通の約数を探すのは地味に手間がかかります。

そんなときに使えるのがGCD関数です。数値を指定するだけで、最大公約数を一発で求めてくれます。

この記事では基本の書き方から比率の約分、LCM関数との違いまで紹介します。

GCD関数とは?

GCD関数(読み方: ジーシーディー関数)は、指定した数値の最大公約数を返す関数です。

名前は英語の「Greatest Common Divisor(最大公約数)」の頭文字からきています。

最大公約数とは、複数の数値をすべて割り切れる最大の整数のことです。

たとえば =GCD(12, 18) と書くと「6」が返ります。12と18を両方割り切れる一番大きい数は6ですね。

GCD関数にできることをまとめると、次のとおりです。

  • 2つ以上の数値の最大公約数を求める
  • 比率や分数を約分する
  • LCM関数と組み合わせて最小公倍数を検算する
  • ロット数や共通単位を計算する

NOTE

GCD関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。

GCD関数の書き方(構文と引数)

基本構文

=GCD(値1, [値2, ...])

カッコの中に最大公約数を求めたい数値を指定します。2つ以上の数値を指定できます。

引数の説明

引数必須/任意説明
値1必須最大公約数を求める最初の数値またはセル範囲
値2, …任意追加の数値またはセル範囲(最大255個まで)

引数は最大255個まで指定できます。セル範囲(A1:A10など)で複数の値をまとめて渡すことも可能です。

GCD関数の基本的な使い方

もっともシンプルな使い方

数値を直接指定するパターンです。

=GCD(12, 18)

結果は「6」です。12と18の最大公約数ですね。

=GCD(24, 36)

結果は「12」です。24 = 12 x 2、36 = 12 x 3 なので、12が最大公約数です。

=GCD(7, 13)

結果は「1」です。7と13は互いに素(共通の約数が1しかない)なので、最大公約数は1になります。

セル参照を使う

A1に「24」、B1に「36」が入っているとします。

=GCD(A1, B1)

結果は「12」です。セル参照を使えば、値を変えるだけで結果が自動更新されます。

3つ以上の数値を指定する

GCD関数は3つ以上の数値にも対応しています。

=GCD(12, 18, 24)

結果は「6」です。12・18・24のすべてを割り切れる最大の整数が6です。

特殊なケース

0を含む場合、0以外の数値がそのまま返ります。

=GCD(5, 0)

結果は「5」です。数学的にGCD(n, 0) = n と定義されています。

小数を指定した場合は、小数点以下が切り捨てられて計算されます。

=GCD(12.9, 18.3)

この数式は =GCD(12, 18) と同じ結果で「6」を返します。

GCD関数の実践的な使い方・応用例

比率を約分する

2つの数値の比率をシンプルに表すのに、GCD関数が活躍します。

たとえばA1に「150」、B1に「200」が入っているとします。

=A1/GCD(A1, B1)

結果は「3」です。

=B1/GCD(A1, B1)

結果は「4」です。

つまり150:200の比率が3:4に約分できました。GCD(150, 200)=50なので、それぞれ50で割った結果ですね。

TIP

売上比率やアンケート結果の割合を資料に載せるとき、約分した比率のほうが見やすくなります。

分数を約分する

分子・分母をそれぞれGCDで割れば、最も簡単な分数になります。

A1に分子「36」、B1に分母「48」が入っているとします。

=A1/GCD(A1, B1)

約分後の分子は「3」です。

=B1/GCD(A1, B1)

約分後の分母は「4」です。

36/48 が 3/4 に約分されました。

3つの数値の比を約分する

商品A・B・Cの売上が「120」「180」「240」だったとします。

=GCD(120, 180, 240)

結果は「60」です。各値を60で割ると、売上比は 2:3:4 とシンプルに表現できます。

LCM関数と組み合わせて検算する

GCDとLCMには、次の数学的な関係があります。

GCD(a, b) x LCM(a, b) = a x b

この性質を使って、LCM関数の結果を検算できます。

A1に「12」、B1に「18」が入っているとします。

=GCD(A1, B1) * LCM(A1, B1)

結果は「216」です。

=A1 * B1

こちらも「216」です。2つの結果が一致すれば、GCDとLCMの値が正しいことを確認できます。

よくあるエラーと対処法

GCD関数で発生しやすいエラーをまとめました。

エラー原因対処法
#NUM!負の数を指定した(例: GCD(-5, 10))0以上の整数を指定する
#VALUE!引数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カッコ忘れ等)数式の入力内容を見直す

負の数を指定したとき

もっとも多いエラーです。GCD関数は0以上の整数でしか使えません。

=GCD(-12, 18)

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

=GCD(ABS(A1), ABS(B1))

引数に文字列が含まれるとき

セル範囲を指定して、その中に文字列が混ざっていると#VALUE!エラーになります。

数値だけのセル範囲を指定するようにしてみてください。

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

関数動作用途
GCD最大公約数を返す比率の約分・共通単位の計算
LCM最小公倍数を返すスケジュールの合流点・共通倍数の計算

最大公約数と最小公倍数の違い

最大公約数(GCD)は「すべての数を割り切れる最大の数」です。最小公倍数(LCM)は「すべての数で割り切れる最小の数」です。

12と18の場合で比べてみましょう。

  • GCD(12, 18) = 6: 12も18も6で割り切れる。6より大きい公約数はない
  • LCM(12, 18) = 36: 36は12でも18でも割り切れる。36より小さい公倍数はない

使い分けの目安

GCD関数を使う場面:

  • 比率を約分したい(150:200 → 3:4)
  • 分数を約分したい(36/48 → 3/4)
  • 共通のロット単位を求めたい

LCM関数を使う場面:

  • スケジュールの合流日を求めたい(3日ごとと5日ごと → 15日後)
  • 複数の周期の最小公倍数を求めたい
  • 通分の分母を求めたい

TIP

GCDは「縮める」計算、LCMは「合わせる」計算と覚えるとイメージしやすいです。

GCDとLCMの関係式

先ほども紹介しましたが、2つの数a, bについて次の関係が成り立ちます。

GCD(a, b) x LCM(a, b) = a x b

つまりLCM関数がなくても、GCD関数から最小公倍数を計算できます。

=A1 * B1 / GCD(A1, B1)

この数式で =LCM(A1, B1) と同じ結果が得られます。

Excelとの違い

GCD関数はExcelとGoogleスプレッドシートで完全に同じ動作です。

項目ExcelGoogleスプレッドシート
構文=GCD(数値1, [数値2], …)=GCD(値1, [値2, …])
動作最大公約数を返す最大公約数を返す
小数の扱い小数点以下を切り捨て小数点以下を切り捨て
エラー時#NUM! / #VALUE!#NUM! / #VALUE!

引数名の表記が若干異なるだけで、機能は完全に同じです。Excelでの使い方はExcelのGCD関数の記事で詳しく解説しています。

まとめ

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

ポイントを整理します。

  • 構文は =GCD(値1, [値2, ...]) で、最大255個の数値を指定できる
  • 比率の約分に便利。各値をGCDで割るだけでシンプルな比率になる
  • 小数は切り捨て、負の数は#NUM!エラー、0は許容される
  • LCM関数(最小公倍数)との違いは「縮める計算」か「合わせる計算」か
  • GCD(a,b) x LCM(a,b) = a x b の関係式で相互に検算できる
  • ExcelのGCD関数と完全に同じ動作で、互換性も安心

まずは =GCD(12, 18) で「12と18の最大公約数 = 6」から試してみてください。

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