スプレッドシートのODD関数の使い方|奇数に切り上げ

スポンサーリンク

スプレッドシートで「この数を奇数に揃えたいんだけど、どうすればいいの?」と思ったことはありませんか?

3人1組のチーム分けで人数を揃えるとき、奇数ページだけ印刷設定を変えたいとき。手作業で奇数に直すのは面倒ですし、ミスも起きがちです。

そんなときに便利なのがODD関数です。数値を奇数に切り上げてくれるシンプルな関数ですよ。

この記事では基本の書き方からEVEN関数との違い、CEILING・MROUNDとの使い分けまで解説します。

ODD関数とは?

ODD関数(読み方: オッド関数)は、数値をいちばん近い奇数に切り上げる関数です。

名前は英語の「odd(奇数の・風変わりな)」に由来しています。たとえば「4」にODD関数をかけると「5」になります。すでに奇数の「3」を渡すとそのまま「3」です。

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

  • 偶数や小数を次の奇数に切り上げる
  • すでに奇数ならそのままの値を返す
  • 0を渡すと1が返る(0は偶数なので次の奇数)
  • 負の数は0から離れる方向に切り上げる

NOTE

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

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

基本構文

=ODD(値)

カッコの中に「奇数に切り上げたい数値」を指定します。引数は1つだけです。

引数の説明

引数必須/任意説明
必須奇数に切り上げたい数値やセル参照、数式

直接入力・セル参照・他の関数の結果など、数値として扱えるものなら何でも指定できます。

ODD関数の基本的な使い方

偶数を奇数に切り上げる

もっともシンプルな使い方です。

=ODD(4)

結果は「5」です。4は偶数なので、次の奇数である5に切り上がります。

=ODD(6.3)

結果は「7」です。小数も同じように、次の奇数まで切り上げられます。

すでに奇数の場合

=ODD(7)

結果は「7」です。すでに奇数なら、そのままの値が返ります。

セル参照で指定する

A1に「10.5」が入っているとします。

=ODD(A1)

結果は「11」です。セル参照でも同じように使えます。実務ではこちらの書き方がメインになるでしょう。

0を渡した場合

=ODD(0)

結果は「1」です。0は偶数なので、次の奇数である1が返ります。EVEN関数では0を渡すと0が返るので、ここが大きな違いです。

実務でのODD関数活用例

3人1組のチーム人数を確保する

3人チームを組むとき、まず参加人数を奇数に揃えたい場合があります。B2に参加人数が入っているとします。

=ODD(B2)

たとえばB2が「12」なら結果は「13」です。「15」ならそのまま「15」が返ります。奇数に揃えてからチーム編成を考えると計算しやすくなります。

予備を含めた発注数の算出

部品を奇数単位でパッケージ販売している場合、必要数を奇数に切り上げて発注数を求められます。

=ODD(B2)

B2が「20」なら結果は「21」です。端数が出ても必ず奇数に切り上がるので、不足を防げます。

奇数チェックはMOD関数で

数値が奇数かどうかを「判定」したいときは、ODD関数ではなくMOD関数を使います。

=MOD(A1, 2)

結果が「1」なら奇数、「0」なら偶数です。ODD関数は「切り上げ」であって「判定」ではない点に注意してください。

TIP

奇数判定にはISODD関数を使う方法もあります。=ISODD(A1) で TRUE / FALSE が返ります。

ODD関数の負の数の扱い

ここがODD関数でもっとも注意すべきポイントです。

負の数は「0から離れる方向」に切り上がる

ODD関数は正の数も負の数も、0から遠ざかる方向で切り上げます。数直線で見ると、絶対値が大きくなる側の奇数を返します。

=ODD(-2)

結果は「-3」です。「-1」ではない点に注意してください。-2より絶対値が大きい奇数は-3です。

正の数と負の数の挙動比較

元の値ODD(値)説明
45次の奇数に切り上げ
6.37次の奇数に切り上げ
77すでに奇数なのでそのまま
01偶数なので次の奇数
-2-30から離れる方向に切り上げ
-6.3-70から離れる方向に切り上げ
-7-7すでに奇数なのでそのまま

INT関数が「負の無限大方向」に丸めるのと似た考え方です。ODD関数は必ず奇数を返す点が違います。

よくあるエラーと対処法

ODD関数はシンプルな関数ですが、エラーが出ることもあります。

エラー原因対処法
#VALUE!値に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カッコ忘れ等)数式の入力内容を見直す
結果が想定と違う負の数の方向を誤解「0から離れる方向」に切り上がる仕様を確認

文字列が混在しているとき

ODD関数に文字列を渡すと#VALUE!エラーになります。

=ODD("abc")

セル参照先が数値かどうか不安なときは、ISNUMBER関数で事前にチェックできます。

=IF(ISNUMBER(A1), ODD(A1), "数値を入力してください")

負の数の結果が想定と違うとき

=ODD(-2) が「-1」ではなく「-3」になるのは正常な動作です。0に近い奇数が欲しい場合は、絶対値をODD関数で処理してから符号を戻す方法があります。

=SIGN(A1) * ODD(ABS(A1))

ただしこの書き方は、正の数の切り上げと方向が逆になります。用途に合わせて使い分けてください。

EVEN関数・CEILING関数との違い・使い分け

ODD関数と混同しやすい関数を比較表で整理します。

関数切り上げ先引数の数用途
ODD奇数1奇数に切り上げたいとき
EVEN偶数1偶数に切り上げたいとき
CEILING指定した倍数2任意の倍数に切り上げたいとき
MROUND指定した倍数(四捨五入)2倍数単位で四捨五入したいとき
ROUNDUP指定した桁数2桁数を指定して切り上げたいとき
INT整数(切り捨て)1小数を整数に切り捨てたいとき

ODDとEVENの違い

ODD関数とEVEN関数は、切り上げ先が「奇数」か「偶数」かの違いだけです。構文も引数の数も同じです。

元の値ODDEVEN
334
454
5.176
010
-3-3-4

0を渡したときの違いがポイントです。ODD(0)は「1」(0は偶数なので次の奇数)、EVEN(0)は「0」(0は偶数なのでそのまま)です。

ODDとCEILINGの使い分け

ODD関数は「奇数への切り上げ」専用です。CEILING関数は任意の倍数を指定できます。

=ODD(4)            → 5(奇数に切り上げ)
=CEILING(4, 5)     → 5(5の倍数に切り上げ)
=CEILING(4, 10)    → 10(10の倍数に切り上げ)

「奇数に切り上げたい」だけならODD関数が引数1つでシンプルです。「5の倍数」「10の倍数」など自由に指定したいならCEILING関数を使いましょう。

TIP

CEILING関数で「奇数に切り上げ」を再現するのは簡単ではありません。奇数に切り上げたい場面ではODD関数一択です。

ODDとMROUNDの使い分け

MROUND関数は指定した倍数に「四捨五入」で丸めます。ODD関数は「切り上げ」のみです。

=ODD(4)        → 5(切り上げ)
=ODD(2)        → 3(切り上げ)

ODD関数は常に奇数以上に切り上がります。四捨五入のような「近い方に丸める」動作はしません。

Excelとの違い

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

項目ExcelGoogleスプレッドシート
構文=ODD(数値)=ODD(値)
動作奇数に切り上げ奇数に切り上げ
負の数-2→-3-2→-3
011

引数名の表記が若干異なるだけで、機能は完全に同じです。ExcelとSheetsでファイルを共有しても計算結果がずれることはありません。

TIP

Excel版の解説はExcelのODD関数の使い方の記事で詳しく紹介しています。丸め関数の使い分けについてはExcelの丸め関数10種を完全比較もチェックしてみてください。

まとめ

ODD関数は、数値を奇数に切り上げるシンプルな関数です。

ポイントを整理します。

  • 構文は =ODD(値) の1引数だけ
  • すでに奇数ならそのまま、偶数や小数は次の奇数に切り上がる
  • 0を渡すと1が返る(EVEN関数の0→0とは異なる)
  • 負の数は「0から離れる方向」に切り上がる(-2 → -3)
  • 「奇数に揃えたい」→ ODD関数、「偶数に揃えたい」→ EVEN関数
  • 奇数の判定にはISODD関数やMOD関数を使う

まずは =ODD(A1) でセルの値を奇数に変換するところから試してみてください。

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