スプレッドシートのISEVEN関数の使い方|偶数判定の基本と実務活用

スポンサーリンク

「この番号って偶数? 奇数?」を手作業で確認していませんか。

数件なら目で見てわかりますが、100行を超えるリストになると見落としが出てきますよね。

偶数行だけ色を付けたい、偶数番号のデータだけ集計したい——そんなときに便利なのが ISEVEN関数 です。

この記事では、スプレッドシートのISEVEN関数の基本構文から、IF関数・条件付き書式・FILTER・SUMPRODUCT との組み合わせ、ペア関数のISODD関数MOD関数との違い、よくあるエラー、FAQまでまとめて解説しますよ。

  1. スプレッドシートのISEVEN関数とは
  2. ISEVEN関数の書き方(構文と引数)
    1. 基本構文
    2. 引数の説明
  3. ISEVEN関数の基本的な使い方
    1. 値の種類ごとの判定結果
    2. セル参照で判定する
    3. 数式の結果を判定する
  4. ISEVEN関数の実践的な使い方・応用例
    1. IF関数と組み合わせて偶数・奇数を振り分ける
    2. 条件付き書式で偶数行に色を付けて縞模様にする
    3. FILTER関数で偶数番号のデータだけを抽出する
    4. SUMPRODUCT関数で偶数行・偶数値だけを合計する
    5. ARRAYFORMULA で列全体を一括判定する
    6. WEEKNUM+ISEVENで隔週スケジュールを自動判定する
    7. 出席番号の偶奇で当番表を自動生成する
  5. ISEVEN関数と似た関数の違い・使い分け
    1. ISODD関数との違い
    2. MOD関数との違い
    3. EVEN関数・ODD関数との違い(名前が似ているので注意)
  6. よくあるエラーと対処法
  7. Excelとの違い
  8. よくある質問(FAQ)
    1. Q1. ISEVEN(0) はなぜ TRUE になるんですか?
    2. Q2. 負の数(マイナス)も正しく判定されますか?
    3. Q3. 小数点を含む数値を正しく判定したいときはどうすればいいですか?
    4. Q4. 文字列の「2」のように見た目が数値の場合は判定できますか?
    5. Q5. 範囲全体に対して一度に判定するにはどう書けばいいですか?
    6. Q6. 条件付き書式で偶数行に色を付けたのに、ヘッダー行も色が付きます
    7. Q7. ExcelファイルをスプレッドシートにインポートしたらISEVENがエラーになります
    8. Q8. ISEVEN を使って「偶数行ごとに別シートへ転記」できますか?
    9. Q9. WEEKNUM関数とISEVENを組み合わせて隔週判定するとき、年が変わると週番号がリセットされて判定がズレますか?
    10. Q10. ISEVEN(COLUMN())で縦縞の条件付き書式を設定しましたが、ヘッダー列も色が付きます
  9. まとめ
    1. 関連記事

スプレッドシートのISEVEN関数とは

ISEVEN関数(読み方: いず・いーぶん)は、指定した数値が偶数かどうかを判定する関数です。

名前は英語の「IS EVEN(偶数ですか?)」からきています。対象が偶数なら TRUE、奇数なら FALSE を返します。0 は偶数扱いなので TRUE になりますよ。

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

  • 数値が偶数かどうかを TRUE/FALSE で返す
  • IF関数と組み合わせて偶数・奇数で処理を分岐する
  • 条件付き書式で偶数行(または偶数番号)に色を付ける
  • FILTER関数で偶数番号のデータだけを抽出する
  • SUMPRODUCT関数で偶数行・偶数値だけを合計する

奇数かどうかを判定したいときはペア関数のISODD関数を使ってくださいね。

NOTE

ISEVEN関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、.xlsx で受け渡ししても結果が変わらず安心ですよ。

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

基本構文

=ISEVEN(値)

カッコの中に偶数かどうか判定したい数値を指定します。

引数の説明

引数必須/任意説明
必須偶数かどうか判定したい数値またはセル参照

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

TIP

小数を指定した場合は、小数点以下が切り捨てられてから判定されます。たとえば =ISEVEN(3.9) は整数部分の 3 で判定されるため FALSE です。意図と合わない場合はROUND関数で先に丸めておくと安全ですよ。

ISEVEN関数の基本的な使い方

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

値の種類ごとの判定結果

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

数式結果理由
=ISEVEN(2)TRUE2 は偶数
=ISEVEN(1)FALSE1 は奇数
=ISEVEN(0)TRUE0 は偶数扱い
=ISEVEN(-4)TRUE負の偶数も TRUE
=ISEVEN(5.7)FALSE小数点以下切り捨て → 5 で判定
=ISEVEN(TRUE)FALSETRUE は 1 として扱われる
=ISEVEN(FALSE)TRUEFALSE は 0 として扱われる
=ISEVEN("ABC")#VALUE!文字列はエラー

0 と論理値の扱いは覚えておきましょう。0 と FALSE は偶数扱い、TRUE は 1(奇数)扱いになります。

セル参照で判定する

01 data sample table

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

=ISEVEN(A1)
02 formula iseven basic

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

03 result iseven basic

数式の結果を判定する

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

=ISEVEN(A1+B1)

A1 と B1 の合計が偶数なら TRUE、奇数なら FALSE を返します。たとえば 2人の出席番号の合計で席の左右を決める、といった使い方ができます。

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

ここからは、実務でよく使うパターンを紹介します。

IF関数と組み合わせて偶数・奇数を振り分ける

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

=IF(ISEVEN(A2),"偶数","奇数")
04 formula iseven if

A2 が偶数なら「偶数」、奇数なら「奇数」と表示します。

05 result iseven if

社員番号やロット番号で振り分けルールがある場合に便利ですよ。たとえば偶数番号をAチーム、奇数番号をBチームに割り当てる運用に使えます。詳しくはIF関数の使い方も参考にしてみてください。

条件付き書式で偶数行に色を付けて縞模様にする

表の行番号が偶数のときだけ背景色を付ければ、交互に色が付いた読みやすい縞模様の表になります。

  1. 縞模様にしたい範囲(たとえば A2:E100)を選択します
  2. 「表示形式」メニュー →「条件付き書式」を選択します
  3. 「カスタム数式」を選びます
  4. 数式欄に =ISEVEN(ROW()) と入力します
  5. 好きな書式(薄い緑の塗りつぶしなど)を設定します
  6. 「完了」をクリックします

これで偶数行だけが色分けされ、見やすい縞模様になりますよ。ROW関数で各セルの行番号を取得し、その行番号が偶数のときだけ書式を適用する仕組みです。

TIP

奇数行に色を付けたい場合は =ISODD(ROW()) に変えるだけです。Googleスプレッドシートには「交互の背景色」機能もありますが、条件付き書式のほうが書式の自由度が高く、特定条件と組み合わせやすい(例: 偶数行かつ売上が10万円以上だけ色付け)というメリットがあります。詳しくはISODD関数の使い方を参考にしてみてください。

横縞だけでなく、列ごとに交互の色を付けた縦縞テーブルも同じ仕組みで作れます。カスタム数式に =ISEVEN(COLUMN()) を指定すれば、偶数列だけに背景色が付きます。COLUMN関数は各セルの列番号(A列=1、B列=2…)を返します。その列番号の偶奇で書式を切り替える仕組みです。日付や週を横方向に並べるガントチャートや週次カレンダー型シートで、列の区切りを見やすくしたいときに重宝します。奇数列に色を付けたいときは =ISODD(COLUMN()) に変えるだけですよ。

FILTER関数で偶数番号のデータだけを抽出する

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

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

A列の番号が偶数の行だけが、A列とB列セットで抽出されます。

たとえば次のような場面で活躍します。

  • イベント座席リストから偶数番号(左ブロック)だけを取り出す
  • 商品ロット番号が偶数のものだけを集計シートに転記する
  • アンケート対象者のID(偶数番号のみ抽出してA班、奇数はB班)でグループ分け

SUMPRODUCT関数で偶数行・偶数値だけを合計する

「偶数行のデータだけを合計したい」「セルの値が偶数のものだけ合計したい」というケースにはSUMPRODUCT関数を使います。

偶数行の値を合計する

=SUMPRODUCT(ISEVEN(ROW(A2:A20))*A2:A20)

ISEVEN(ROW(A2:A20)) が各行番号に対して TRUE/FALSE の配列を返します。TRUE(=1)の行だけが値と掛け算されるため、偶数行の値だけが合計されますよ。

セルの値自体が偶数のものを合計する

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

たとえば商品番号が偶数のものだけの売上合計を出したいときに使えます。

ARRAYFORMULA で列全体を一括判定する

行ごとに =ISEVEN(A2)=ISEVEN(A3)、…と数式をコピーするのは面倒です。GoogleスプレッドシートならARRAYFORMULA関数で一発処理できますよ。

=ARRAYFORMULA(IF(A2:A20="","",ISEVEN(A2:A20)))

A2:A20 のすべての値に対して、空白セルは空白を返し、値があれば TRUE/FALSE を返します。IF(A2:A20="","",...) を入れているのは、空白セルが 0(偶数)扱いされて余計な TRUE が並ばないようにするためです。

データが追加されてもセル範囲を広めに取っておけば、自動で反映されるので便利ですよ。

TIP

数値・文字列・空白が混在した列を =ARRAYFORMULA(ISEVEN(A2:A20)) で判定すると、文字列セルで #VALUE! が出て配列全体が止まります。そんなときはIFERROR関数を挟んでエラーを FALSE に落としましょう。

“`
=ARRAYFORMULA(IFERROR(ISEVEN(A2:A20),FALSE))
“`

エラーになるセルは FALSE 扱いになるので、判定が止まらず最後まで一括処理できます。この結果をSUMPRODUCT関数FILTER関数の絞り込み条件に渡せば、汚れたデータでも安全に偶数だけ集計・抽出できます。

WEEKNUM+ISEVENで隔週スケジュールを自動判定する

「今週はA班、来週はB班」のように隔週で担当が入れ替わるシフト管理に便利な組み合わせがあります。WEEKNUM関数とISEVENを使えば、隔週の振り分けを自動判定できます。

WEEKNUM関数はその日付が1年の何週目かを数値で返します。その週番号が偶数か奇数かをISEVENで判定すれば、隔週の振り分けが一発です。

=IF(ISEVEN(WEEKNUM(A2)),"A班担当","B班担当")

A2 に日付を入れると、偶数週なら「A班担当」、奇数週なら「B班担当」が自動表示されます。日付を1日ずつ並べたカレンダーシートに数式をコピーしておけば、隔週シフトが手作業ゼロで埋まります。

スポーツクラブの会場割り当て、会議の隔週開催チェック、清掃当番の週回り管理などにも使えます。

出席番号の偶奇で当番表を自動生成する

学校・職場の当番表で「偶数番号は午前、奇数番号は午後」のように振り分けるテンプレです。

=IF(ISEVEN(A2),"午前担当","午後担当")

A2 に出席番号を入れると、自動で時間帯が割り当てられます。受付窓口の振り分け、配送ルートの偶奇分担などにも応用できますよ。

TIP

3グループ以上(月・水・金 / 火・木 のように)に分けたい場合はMOD関数=MOD(A2,3) のように剰余を使うと、0/1/2 の3パターンに分けられます。

ISEVEN関数と似た関数の違い・使い分け

似た用途や名前の関数があるので、混同しやすいポイントを整理しておきましょう。

ISODD関数との違い

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

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

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

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

MOD関数との違い

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

=MOD(A1,2)=0

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

比較項目ISEVEN関数MOD関数で判定
数式の形=ISEVEN(A1)=MOD(A1,2)=0
文字列を渡した場合#VALUE! エラー#VALUE! エラー
小数を渡した場合整数部分で判定余りを返す(0.7 など)
0 の判定TRUE(偶数扱い)TRUE(余り 0)
可読性「偶数か?」が一目でわかる「2で割った余りが0」と読み解く必要あり
倍数判定への拡張できない(2固定)=MOD(A1,3)=0 で3の倍数も判定可能

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

EVEN関数・ODD関数との違い(名前が似ているので注意)

EVEN関数ODD関数は名前が似ていますが、まったく別の関数です。

関数機能
ISEVEN偶数かどうかを判定する=ISEVEN(3) → FALSE
ISODD奇数かどうかを判定する=ISODD(3) → TRUE
EVEN偶数に切り上げ=EVEN(3) → 4
ODD奇数に切り上げ=ODD(4) → 5

IS が頭に付くISEVEN/ISODDは「判定する(TRUE/FALSE)」関数、頭に IS が付かないEVEN/ODDは「数値を変換する」関数です。混同しないように注意してくださいね。

よくあるエラーと対処法

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

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

特に「空白セルで TRUE」は見落としやすいポイントです。データに空白が含まれる場合は、IF関数で空白チェックを入れておくと安心ですよ。

Excelとの違い

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

項目ExcelGoogleスプレッドシート
構文=ISEVEN(数値)=ISEVEN(値)
動作偶数なら TRUE偶数なら TRUE
小数の扱い小数点以下を切り捨て小数点以下を切り捨て
論理値の扱いTRUE=1, FALSE=0TRUE=1, FALSE=0
エラー時#VALUE!#VALUE!
配列対応動的配列(Microsoft 365)でサポート標準でサポート

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

よくある質問(FAQ)

Q1. ISEVEN(0) はなぜ TRUE になるんですか?

A. 数学的に 0 は偶数の定義(2で割り切れる整数)を満たすためです。0 ÷ 2 = 0(余り 0)なので偶数として扱われ、ISEVEN は TRUE を返します。これはExcel・Googleスプレッドシート共通の仕様ですよ。

Q2. 負の数(マイナス)も正しく判定されますか?

A. はい、負の整数も正しく判定されます。=ISEVEN(-4) は TRUE、=ISEVEN(-3) は FALSE です。マイナス符号の有無に関係なく、絶対値の偶奇で判定されますよ。

Q3. 小数点を含む数値を正しく判定したいときはどうすればいいですか?

A. ISEVEN は内部で 整数部分のみを見るため、小数点以下は無視されます。=ISEVEN(2.5) は 2 で判定して TRUE、=ISEVEN(3.5) は 3 で判定して FALSE です。意図と合わない場合は事前にROUND関数で丸めてから渡しましょう。

Q4. 文字列の「2」のように見た目が数値の場合は判定できますか?

A. セルの中身が文字列の「2」(左寄せ表示)の場合、=ISEVEN(A1) は数値として再解釈されて TRUE を返すことが多いですが、環境によっては #VALUE! になることもあります。確実に判定したいなら =ISEVEN(VALUE(A1)) のように VALUE関数で明示的に数値に変換すると安全ですよ。

Q5. 範囲全体に対して一度に判定するにはどう書けばいいですか?

A. Googleスプレッドシートは標準で配列対応しているので、=ARRAYFORMULA(ISEVEN(A2:A20)) のように書けば縦に TRUE/FALSE が並びます。ISEVEN(A2:A20)*1 のように数値演算と組み合わせれば、ARRAYFORMULA を省略できるケースもありますよ。

Q6. 条件付き書式で偶数行に色を付けたのに、ヘッダー行も色が付きます

A. 条件付き書式の適用範囲にヘッダー行(A1:E1 など)が含まれている可能性が高いです。範囲を A2:E100 のように2行目以降から指定し直してください。または数式側で =AND(ISEVEN(ROW()), ROW()>1) のように1行目を除外する条件を加える方法もあります。

Q7. ExcelファイルをスプレッドシートにインポートしたらISEVENがエラーになります

A. ほとんどの場合はそのまま動きますが、まれにExcel側で =_xlfn.ISEVEN(...) のような形式で保存されているとエラーが出ることがあります。その場合は数式バーで _xlfn. 部分を削除して =ISEVEN(...) に直してくださいね。

Q8. ISEVEN を使って「偶数行ごとに別シートへ転記」できますか?

A. はい、FILTER関数と組み合わせれば実現できます。たとえば別シートで =FILTER(Sheet1!A2:C100, ISEVEN(ROW(Sheet1!A2:A100))) と書けば、元シートの偶数行だけが別シートに動的に転記されますよ。元データが更新されると転記先も自動更新されるので、月次レポートの集計などにも応用できます。

Q9. WEEKNUM関数とISEVENを組み合わせて隔週判定するとき、年が変わると週番号がリセットされて判定がズレますか?

A. はい、WEEKNUM は年ごとに第1週へリセットされるため、年末年始をまたぐと隔週の並びが崩れることがあります。年をまたぐ期間で安定させたい場合は、基準日からの経過週数で判定する方法が確実です。=ISEVEN(INT((A2-基準日)/7)) のように基準日からの日数を7で割って週数を求めます。年に関係なく連続した隔週判定ができます。ISO基準の週番号を使うISOWEEKNUM関数に切り替える方法もあります。

Q10. ISEVEN(COLUMN())で縦縞の条件付き書式を設定しましたが、ヘッダー列も色が付きます

A. 適用範囲の開始列番号を確認してみてください。A列(COLUMN()=1、奇数)始まりなら =ISEVEN(COLUMN()) は FALSE になるので、A列には色は付きません。B列(COLUMN()=2、偶数)始まりだと最初の列に色が付きます。意図と逆になっているときは =ISODD(COLUMN()) に切り替えるか、適用範囲をずらして調整してください。

まとめ

ISEVEN関数は、数値が偶数かどうかを判定するシンプルで実務派の関数です。

  • 構文は =ISEVEN(値) で、引数は1つだけ
  • 偶数なら TRUE、奇数なら FALSE を返す
  • 0 と FALSE は偶数扱い(TRUE)、TRUE は奇数扱い(FALSE)
  • 小数は整数部分で判定(3.9 → 3 として FALSE)
  • IF関数や条件付き書式と組み合わせるのが実務での定番パターン
  • 条件付き書式で =ISEVEN(ROW()) を使えば縞模様の表が一瞬で作れる
  • ARRAYFORMULA関数で列全体を一括判定できる
  • 奇数判定にはISODD関数、2以外の倍数判定にはMOD関数を使う
  • EVEN関数(偶数に切り上げ)とは別物なので混同に注意
  • ExcelのISEVEN関数と完全に同じ動作で、互換性も安心

まずは =ISEVEN(2) で「2 は偶数 = TRUE」から試して、慣れてきたら条件付き書式での縞模様や FILTER との組み合わせに挑戦してみてくださいね。


関連記事

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