「この2つの数値の比率を、もっとシンプルに表したい」
スプレッドシートでデータ整理や資料づくりをしていると、比率を約分したい場面ってありますよね。手計算で共通の約数を探すのは地味に面倒です。
そんなときに便利なのがGCD関数。数値を指定するだけで、最大公約数を一発で求めてくれますよ。
この記事ではGCD関数の基本の書き方から、比率の約分・ロット計算・アスペクト比の算出といった実務活用パターンまで紹介します。
スプレッドシートの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個まで) |
セル範囲(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 に約分されました。
ロット数・共通単位を求める
複数商品の在庫数から、共通のロット単位を求める場面で使えます。
たとえば商品Aの在庫が120個、商品Bが180個のとき、共通のロット単位は次のように求められます。
=GCD(120, 180)
結果は「60」です。つまり60個単位なら、どちらの商品もちょうど割り切れます。出荷やセット組みの単位を決めるときに便利ですよ。
3つの商品で考える場合も同じです。商品A・B・Cの在庫が120個・180個・240個なら、こう書きます。
=GCD(120, 180, 240)
結果は「60」です。3商品とも60個単位でまとめられますね。
アスペクト比(画面比率)を計算する
モニターや画像の解像度から、アスペクト比を算出できます。
A1に横幅「1920」、B1に高さ「1080」が入っているとします。
=A1/GCD(A1, B1) & ":" & B1/GCD(A1, B1)
結果は「16:9」です。GCD(1920, 1080)=120なので、それぞれ120で割ると16:9になります。
資料やプレゼンで画面サイズの情報を整理するときに、さっと計算できますよ。
MOD関数と組み合わせて割り切れるか確認する
MOD関数(余りを返す関数)と組み合わせると、数値がGCDで割り切れるか検証できます。
=MOD(A1, GCD(A1, B1))
結果は必ず「0」になります。最大公約数で割った余りは常に0ですからね。データの検算に使ってみてください。
よくあるエラーと対処法
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 | 最小公倍数を返す | スケジュールの合流点・通分・周期計算 |
最大公約数と最小公倍数の違い
最大公約数(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)
- ロット数や共通単位を求めたい
- アスペクト比を計算したい
LCM関数を使う場面:
- スケジュールの合流日を求めたい(3日ごとと5日ごと → 15日後)
- 通分の分母を求めたい
- 複数の周期の合流点を求めたい
TIP
GCDは「縮める」計算、LCMは「合わせる」計算と覚えるとイメージしやすいですよ。詳しくはLCM関数の使い方の記事も参考にしてみてください。
GCDとLCMの関係式
2つの数a, bについて次の関係が成り立ちます。
GCD(a, b) x LCM(a, b) = a x b
この性質を使って、片方の結果から検算できます。
A1に「12」、B1に「18」が入っているとします。
=GCD(A1, B1) * LCM(A1, B1)
結果は「216」です。
=A1 * B1
こちらも「216」です。2つの結果が一致すれば、計算が正しいことを確認できますよ。
LCM関数がなくても、GCD関数だけで最小公倍数を計算する方法もあります。
=A1 * B1 / GCD(A1, B1)
この数式で =LCM(A1, B1) と同じ結果が得られます。
Excelとの違い
GCD関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =GCD(数値1, [数値2], …) | =GCD(値1, [値2, …]) |
| 動作 | 最大公約数を返す | 最大公約数を返す |
| 小数の扱い | 小数点以下を切り捨て | 小数点以下を切り捨て |
| エラー時 | #NUM! / #VALUE! | #NUM! / #VALUE! |
引数名の表記が若干異なるだけで、機能は完全に同じです。Excelでの使い方はExcelのGCD関数の記事で詳しく解説していますよ。
まとめ
GCD関数は、指定した数値の最大公約数を求める関数です。
ポイントを整理しておきましょう。
- 構文は
=GCD(値1, [値2, ...])で、最大255個の数値を指定できる - 比率の約分に便利。各値をGCDで割るだけでシンプルな比率になる
- ロット数の計算やアスペクト比の算出にも活用できる
- 小数は切り捨て、負の数は#NUM!エラー、0は許容される
- LCM関数(最小公倍数)とはペア関数。GCDが「縮める」、LCMが「合わせる」計算
- MOD関数と組み合わせれば、割り切れるかの検証もできる
- GCD(a,b) x LCM(a,b) = a x b の関係式で相互に検算できる
まずは =GCD(12, 18) で「12と18の最大公約数 = 6」から試してみてください。
