ExcelのISODD関数の使い方|数値が奇数かどうかを判定する方法

スポンサーリンク

「この番号って奇数? 偶数?」を手作業で確認していませんか。数件なら目で見てわかりますが、100行を超えるリストになると見落としが出てきます。

交互に色を付けたい、奇数番だけ抽出したい……そんなときに便利なのがISODD関数です。

この記事では、ISODD関数の基本から実務で役立つ活用パターンまでまとめて紹介します。

この記事は次のような人におすすめ

– 数値が奇数かどうかをすばやく判定したい
– 条件付き書式で奇数行・偶数行を交互に色分けしたい
– ISEVEN関数やMOD関数との違いを知りたい

ISODD関数とは?

ISODD(いず おっど)関数は、指定した数値が奇数かどうかを判定する関数です。ODD は英語で「奇数」という意味です。

対象が奇数であれば TRUE を返します。偶数や 0 の場合は FALSE です。

IS系(情報関数)の1つで、セルに入っているデータの種類をチェックする関数ファミリーに属しています。

NOTE

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

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

基本構文

=ISODD(数値)

引数の説明

引数必須/省略可説明
数値必須奇数かどうか判定したい数値またはセル参照

引数は1つだけです。省略はできません。セル参照・直接値・数式の結果のいずれも指定できます。

TIP

小数を指定した場合は、小数点以下が切り捨てられてから判定されます。たとえば =ISODD(3.9) は整数部分の 3 で判定されるため TRUE です。

ISODD関数の基本的な使い方

まずはシンプルな例で動きを確認してみましょう。

値の種類ごとの判定結果

さまざまなデータをISODD関数で判定すると、次のような結果になります。

数式結果理由
=ISODD(1)TRUE1 は奇数
=ISODD(2)FALSE2 は偶数なので FALSE
=ISODD(0)FALSE0 は偶数扱い
=ISODD(-3)TRUE負の奇数も TRUE
=ISODD(5.7)TRUE小数点以下切り捨て → 5 で判定
=ISODD("ABC")#VALUE!文字列はエラー

少しややこしいのが 0 の扱いです。0 は偶数として扱われるため FALSE になります。

セル参照で判定する

セル参照を使えば、特定のセルの値が奇数かどうかを確認できます。

=ISODD(A1)

A1 に 3 が入っていれば TRUE を返します。4 なら FALSE です。

数式の結果を判定する

ISODD関数の引数に数式を直接入れることもできます。

=ISODD(A1+B1)

A1 と B1 の合計が奇数なら TRUE です。合計が偶数なら FALSE になります。

ISODD関数の実務活用パターン

パターン1: IF関数と組み合わせて奇数・偶数を表示する

番号が奇数か偶数かに応じてラベルを付けたい場面で使えます。

=IF(ISODD(B2),"奇数","偶数")

B2 が奇数なら「奇数」と表示します。偶数なら「偶数」です。

社員番号やロット番号の振り分けルールがある場合に、視覚的にわかりやすくなります。

パターン2: 条件付き書式で奇数行を色分けする

表の行番号が奇数のときだけ背景色を付ければ、交互に色が付いた見やすい表を作れます。

  1. 対象範囲を選択します
  2. 「ホーム」タブ →「条件付き書式」→「新しいルール」を選択します
  3. 「数式を使用して、書式設定するセルを決定」を選びます
  4. 数式欄に =ISODD(ROW()) と入力します
  5. 好きな書式(薄い青の塗りつぶしなど)を設定します

これで奇数行だけが色分けされます。ROW関数と組み合わせるのがポイントです。

TIP

偶数行に色を付けたい場合は =ISEVEN(ROW()) に変えるだけです。ISEVEN関数はISODD関数の対になる関数で、偶数のときにTRUEを返します。

パターン3: SUMPRODUCT と組み合わせて奇数の合計を求める

範囲内の奇数だけを合計したいときは、SUMPRODUCT関数と組み合わせます。

=SUMPRODUCT(ISODD(A2:A20)*A2:A20)

ISODD(A2:A20) が各セルに対してTRUE/FALSEの配列を返します。TRUE のセルだけが *A2:A20 で掛け算されるため、奇数の値だけが合計されます。

同じ考え方で、奇数の個数を数えることもできます。

=SUMPRODUCT(ISODD(A2:A20)*1)

パターン4: 奇数番号のデータだけを抽出する

商品番号や座席番号が奇数のものだけを取り出したい場面があります。FILTER関数と組み合わせると便利です。

=FILTER(A2:B20,ISODD(A2:A20))

A列の番号が奇数のデータだけが抽出されます。

NOTE

FILTER関数は Microsoft 365 / Excel 2021 以降で使用できます。それ以前のバージョンでは、作業列にISODD関数を入れてオートフィルターで絞り込む方法が使えます。

パターン5: ページ番号の奇数・偶数で処理を分ける

印刷設定で奇数ページと偶数ページで異なるヘッダーやフッターを付けたい場合の準備に使えます。

=IF(ISODD(C2),"右ページ","左ページ")

C2 がページ番号のとき、奇数なら「右ページ」、偶数なら「左ページ」と表示します。冊子印刷の面付けチェックなどに活用できます。

ISODD関数とISEVEN関数の違い

ISODD関数には対になる ISEVEN関数 があります。判定の結果が真逆になる関係です。

入力値ISODD の結果ISEVEN の結果
1(奇数)TRUEFALSE
2(偶数)FALSETRUE
0FALSETRUE
-3(負の奇数)TRUEFALSE
5.7(小数)TRUE(5で判定)FALSE(5で判定)

つまり =ISODD(A1)=NOT(ISEVEN(A1)) は同じ結果です。

使い分けのポイント: 条件式の読みやすさで選んでください。「奇数か?」を確認したいならISODD、「偶数か?」ならISEVENが自然です。

ISODD関数とMOD関数の違い

奇数・偶数の判定には MOD関数 を使う方法もあります。

=MOD(A1,2)=1

この数式も「A1 が奇数なら TRUE」を返します。ISODDとの違いを比較してみましょう。

比較項目ISODD関数MOD関数で判定
数式=ISODD(A1)=MOD(A1,2)=1
文字列を渡した場合#VALUE! エラー#VALUE! エラー
小数を渡した場合整数部分で判定余りを返す(1.7 など)
0 の判定FALSE(偶数扱い)FALSE(余り 0)
可読性「奇数か?」が一目でわかる「2で割った余りが1」と読み解く必要あり

使い分けのポイント: 奇数・偶数の判定だけならISODD/ISEVENのほうがシンプルです。「3の倍数かどうか」「5で割った余り」など、2以外の数で割りたい場合はMOD関数を使いましょう。

よくあるエラーと対処法

ISODD関数で「思った結果にならない」ケースをまとめました。

症状原因対処法
#VALUE! エラーが出る引数に文字列を指定している数値のみ指定する。ISNUMBER関数で事前に数値か確認すると安心
小数で予想外の結果になる小数点以下が切り捨てられている3.9 は 3 として判定される。意図と合わない場合は事前にROUND関数で丸めておく
0 で FALSE になる0 は偶数として扱われる仕様どおりの動作。0 を除外したい場合は =AND(ISODD(A1), A1<>0) は不要(0 は常に FALSE)
空白セルで #VALUE! が出る空白セルは数値ではない空白判定には ISBLANK関数 を使う。空白を除外するなら =IF(A1="","",ISODD(A1))
日付セルで TRUE/FALSE が返る日付はシリアル値(数値)で管理されているシリアル値が奇数か偶数かで判定される。日付の奇偶判定には =ISODD(DAY(A1)) のように日の部分を取り出す

IS系12関数の違い・使い分け

IS系関数は、セルに入っているデータの種類を判定するファミリーです。用途に合わせて使い分けましょう。

関数名判定内容TRUE になる例
ISBLANK空白セルか未入力のセル
ISERROR任意のエラー値か#N/A, #VALUE!, #REF! など
ISERR#N/A 以外のエラー値か#VALUE!, #REF!, #DIV/0! など
ISNA#N/A エラーか#N/A のみ
ISLOGICAL論理値(TRUE/FALSE)かTRUE, FALSE
ISNUMBER数値か100, 3.14, 日付のシリアル値
ISTEXT文字列か“東京”, “123”(文字列型)
ISNONTEXT文字列以外か100, TRUE, 空白
ISFORMULA数式が入っているか=SUM(A1:A10) が入ったセル
ISREF有効なセル参照かA1, Sheet2!B3
ISEVEN偶数か2, 4, 100
ISODD(この記事)奇数か1, 3, 99

TIP

ISODDと対になるのが ISEVEN関数 です。奇数・偶数の両方を判定したい場合はセットで使うのがおすすめです。「数値かどうか」の確認には ISNUMBER関数 が便利です。

まとめ

ISODD関数は、数値が奇数かどうかを判定するシンプルな関数です。

  • 引数は1つだけ。奇数なら TRUE、偶数・0 なら FALSE
  • 小数は整数部分で判定される(3.9 → 3 として TRUE)
  • 文字列や空白セルを渡すと #VALUE! エラーになる
  • IF関数や条件付き書式と組み合わせるのが実務での定番パターン
  • =ISODD(ROW()) で交互の行色分けが簡単にできる
  • 偶数判定には対になるISEVEN関数を使う

条件付き書式の交互色分けやデータの振り分けにぜひ活用してみてください。


関連記事

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