スプレッドシートのLCM関数の使い方|最小公倍数

スポンサーリンク

「3日ごとと5日ごとのタスク、次に同時に発生するのはいつだろう?」

異なる周期のスケジュールが重なるタイミングを調べたいこと、ありますよね。

手計算で倍数を書き出して探すのは、数が大きくなるほど大変です。

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

この記事では基本の書き方からスケジュール調整への活用、GCD関数との違いまで紹介します。

LCM関数とは?

LCM関数(読み方: エルシーエム関数)は、指定した数値の最小公倍数を返す関数です。

名前は英語の「Least Common Multiple(最小公倍数)」の頭文字からきています。

最小公倍数とは、複数の数値の公倍数のうち最も小さい数のことです。

たとえば =LCM(4, 6) と書くと「12」が返ります。12は4でも6でも割り切れる、一番小さい数ですね。

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

  • 2つ以上の数値の最小公倍数を求める
  • スケジュールの合流タイミングを計算する
  • まとめ買いの数量をそろえる
  • GCD関数と組み合わせて検算する

NOTE

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

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

基本構文

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

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

引数の説明

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

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

LCM関数の基本的な使い方

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

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

=LCM(4, 6)

結果は「12」です。

4の倍数と6の倍数を並べると、最初に一致するのが12です。

=LCM(3, 5)

結果は「15」です。3と5は互いに素なので、積の15がそのまま最小公倍数になります。

=LCM(8, 12)

結果は「24」です。

8の倍数(8, 16, 24, …)と12の倍数(12, 24, …)を比べると、最小の共通値が24ですね。

セル参照を使う

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

=LCM(A1, B1)

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

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

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

=LCM(4, 6, 10)

結果は「60」です。4・6・10のすべてで割り切れる最小の数が60になります。

特殊なケース

0を含む場合、結果は「0」になります。

=LCM(5, 0)

結果は「0」です。0はすべての整数の倍数とみなされるためです。

NOTE

GCD関数では GCD(5, 0) = 5 ですが、LCM関数では LCM(5, 0) = 0 です。ペア関数ですが0の扱いが異なるので注意してください。

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

=LCM(4.9, 6.3)

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

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

スケジュールの合流日を求める

LCM関数の定番の使い方が、スケジュール調整です。

たとえばAさんは6日ごと、Bさんは8日ごとに出勤するとします。2人が同時に出勤するのは何日おきでしょうか。

=LCM(6, 8)

結果は「24」です。つまり24日ごとに2人の出勤日が重なります。

3人以上の場合も同様です。Cさんが10日周期なら次のように書きます。

=LCM(6, 8, 10)

結果は「120」です。3人全員の出勤日がそろうのは120日ごとですね。

TIP

基準日に日数を足せば、具体的な合流日も求められます。たとえばA1に基準日が入っていれば =A1 + LCM(6, 8) で24日後の日付が表示されます。

まとめ買い数量をそろえる

「入り数が違う部品を、過不足なく同じ数だけ揃えたい」という場面で役立ちます。

たとえばボルトが12本入り、ナットが8本入りで売られているとします。

=LCM(12, 8)

結果は「24」です。ボルトは2箱(24 / 12)、ナットは3箱(24 / 8)で、24本ずつちょうど揃います。

通分の分母を求める

分数の足し算で必要な通分にも、LCM関数が使えます。

たとえば 1/4 と 1/6 を足すとき、通分する分母を求めます。

=LCM(4, 6)

結果は「12」です。1/4 = 3/12、1/6 = 2/12 となるので、足し算は 5/12 ですね。

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

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

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つの結果が一致すれば、GCDとLCMの値が正しいことを確認できます。

よくあるエラーと対処法

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

エラー原因対処法
#NUM!負の数を指定した(例: LCM(-4, 6))ABS関数で絶対値に変換する
#NUM!結果が大きすぎる引数の組み合わせを見直す
#VALUE!引数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カッコ忘れ等)数式の入力内容を見直す

負の数を指定したとき

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

=LCM(-4, 6)

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

=LCM(ABS(A1), ABS(B1))

結果が大きくなりすぎるとき

LCM関数は結果が大きくなりやすい関数です。互いに素な数値を複数指定すると、積がそのまま結果になります。

結果が 2^53(約9007兆)を超えると#NUM!エラーになるので注意してください。

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

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

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

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

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

項目LCM関数GCD関数
正式名称Least Common MultipleGreatest Common Divisor
日本語最小公倍数最大公約数
求めるもの共通の倍数のうち最小の整数共通して割り切れる最大の整数
LCM/GCD(12, 18)366
0の扱いLCM(5, 0) = 0GCD(5, 0) = 5

使い分けの目安

LCM関数を使う場面:

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

GCD関数を使う場面:

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

TIP

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

GCDとLCMの関係式

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

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

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

=A1 * B1 / GCD(A1, B1)

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

Excelとの違い

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

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

引数名の表記が若干異なるだけで、機能は完全に同じです。Excelでの使い方はExcelのLCM関数の記事をご覧ください。

まとめ

LCM関数は、指定した数値の最小公倍数を求める関数です。

ポイントを整理します。

  • 構文は =LCM(値1, [値2, ...]) で、最大255個の数値を指定できる
  • スケジュールの合流日やまとめ買い数量の計算に便利
  • 小数は切り捨て、負の数は#NUM!エラー、0を含むと結果は0になる
  • GCD関数(最大公約数)との違いは「合わせる計算」か「縮める計算」か
  • GCD(a,b) x LCM(a,b) = a x b の関係式で相互に検算できる
  • ExcelのLCM関数と完全に同じ動作で、互換性も安心

まずは =LCM(4, 6) で「4と6の最小公倍数 = 12」から試してみてください。

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