Excel(エクセル)で偶数行か奇数行だけを抽出してコピーする4つの方法

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

Excelで偶数行か奇数行だけを抜き出してコピーする方法を4つ紹介します。

すべてのバージョンで可能な方法は、オートフィルター機能を使用して偶数行か奇数行を絞り込むやり方です。

新たな列を追加して、奇数行か偶数行かを判別すれば、

[ホーム]タブ → [並べ替えとフィルター] →

一覧から[フィルター]を選択して、

簡単にそれぞれの行だけを抽出することができます。

その、偶数行と奇数行の判別方法を3つ紹介します。

 

もう一つ、最近のバージョンで使用できるFILTER関数も最後に紹介します。

この関数はバージョン2021以降、office365でしか使用できないのですが、フィルター機能を使用せずに抽出できます。

 

偶数と奇数の判定は、手間がかからない順番で説明するよ

スポンサーリンク

オートフィル機能を使用する

今回は下画像のように、左の表から偶数行か奇数行だけを抽出してコピーしたいと思います。
※下の例では奇数行を抽出してコピーしています。

では、元の表を偶数行か奇数行だけに抽出する作業です。

今回3つの方法を紹介しますが、一番簡単で早く作業できるのはここで説明するオートフィル機能を使用する方法でしょう。

 

では始めます。

データの最初の行と、次の行に異なる文字を入力しましょう。

今回は「あ」と「い」と入力します。「a」「b」でも「子猫」「豆しば」でも何でもかまいません。
※数字ではなく文字列にしてください。

入力した2つのセルだけをマウスでドラッグ(引っ張る)して選択します。

右下のフィルハンドル(■)にマウスを移動して「+」になったら

下へドラッグしてオートフィル機能を使用してコピーします。

2つのセルを選択してコピーしたことで、偶数行と奇数行それぞれ異なる文字が交互に入力されます。

偶数行と奇数行の判別が可能になりました。

 

では、抽出作業です。

表内のどこか1セルを選択した状態で、

[ホーム]タブ → [並べ替えとフィルター] →

一覧から[フィルター]を選択します。

オートフィルター機能が働き、見出しのセルに「▼」が表示されるので、先ほど準備した列の「▼」をクリック。

抽出の設定画面が表示されるので、中段を確認しましょう。

この場所で、偶数行か奇数行に入力した文字の、残したい方だけにチェックを入れます。

今回は偶数行を残したいので、「い」だけにチェックを入れます。

[OK]をクリックすると、「い」が入力されていた行だけ(今回の例では偶数行)が抽出されます。

後はコピーすれば終了です。

抽出結果を選択して、

コピー。

コピー先を選択して、貼り付け。

今回は右側に貼り付けてみました。

「ん」、なんかデータの数が減ってしまっている・・・。

上の方の行はオートフィルターがかかった状態なので、貼り付けたデータが隠れてしまっています。

ということで、オートフィルターの解除です。

元表のどこか1セルが選択されている状態で、[並べ替えとフィルター] → [フィルター]をクリックすると、

オートフィルターが解除されて、隠れていたデータが表示されます。

偶数のデータだけをコピーできました。

※コンピュータの状態によっては、コピー後にすぐ貼り付けないとコピーできない場合があります。
 その場合は、別シートや元表の下部にいったん結果を貼り付けて、後からデータを移動してあげましょう。

最後に偶数奇数の判別で使用した列を削除するのを忘れずに。

スポンサーリンク

ISEVEN関数かISODD関数を使用する

偶数行と奇数行を判別する2つ目の方法です。

偶数か奇数かを判別する関数を使用します。

偶数を判定するにはISEVEN関数。偶数かどうかの結果は「TRUE」か「FALSE」で表示されます。


ISEVEN関数・・・数値が偶数の場合「TRUE」、奇数の場合「FALSE」を返す

=ISEVEN(数値)

  • 数値・・・確認したい値(セル)を指定
    ※値が整数でない場合、小数点以下は切り捨て

 

奇数を判定するにはISODD関数。奇数かどうかの結果は同じく「TRUE」か「FALSE」で表示されます。


ISODD関数・・・数値が偶数の場合「FALSE」、奇数の場合「TRUE」を返す

=ISODD(数値)

  • 数値・・・確認したい値(セル)を指定
    ※値が整数でない場合、小数点以下は切り捨て

 

どちらか一つの関数だけを使用します。どちらでも構いません。

後で抽出する際に「TRUE」か「FALSE」のどちらを選ぶかで、偶数行と奇数行の好きな方を抽出することができます。

 

今回は偶数を判定するISEVEN関数を使用してみます。

データが入力されている先頭右側のセルを選択して[関数の挿入]ボタンをクリック。

[関数の分類]を[情報]か[すべて表示]に切り替えて「ISEVEN」関数を選んで[OK]をクリック。

[数値]の場所に、

row()

と入力します。

ROW関数は括弧の中を空欄にしておくことで、現在の行位置を指定することになります。


ROW関数・・・指定したセルの行番号を返す。

=ROW(範囲[省略可])

  • 範囲・・・行番号を調べるセルや範囲を指定[省略可]

 

できあがる関数は下のようになります。

=ISEVEN(ROW())

[OK]を押すと結果が表示されます。

今回は、2行目の偶数行でISEVEN関数を使用したので、結果は「TRUE」と表示されました。

後はオートフィル機能を使用して下にコピーすれば、「偶数行」と「奇数行」がそれぞれ「TRUE」と「FALSE」で表示されたことになります。

後は抽出作業です。

[ホーム]タブ → [並べ替えとフィルター] →

一覧から[フィルター]を選択して、

「TRUE」と「FALSE」の残したい方だけにチェックを入れて、
※今回は偶数行を残したいので「TRUE」。

[OK]を押せば抽出完了です。

その後のコピー作業は先ほどと同じなので割愛します。

MOD関数を使用する

偶数と奇数を判別するにはMOD関数を使用する方法もあります。

関数が異なるだけで手順はこれまでと同じなので、関数だけを説明します。

データが入力されている先頭右側のセルを選択して[関数の挿入]ボタンをクリック。

[関数の分類]を[数学/三角]か[すべて表示]に切り替えて「MOD」関数を選んで[OK]をクリック。

MOD関数は、割り算をした余りを返します。

数値を「2」で割り算すると、常に余りは「0」か「1」になることを利用します。


MOD関数・・・数値を除数で割った余りを返す

MOD(数値,除数)

  • 数値・・・割り算の分子となる数値を指定
  • 除数・・・割り算の分母となる数値を指定

 

[数値]には row() と入力、[除数]には「2」と入力します。

これで、現在の行を「2」で割り算した余りが表示されます。

完成する式は下のようになります。

=MOD(ROW(),2)

[OK]をクリックすると結果が「0」か「1」で表示されるので、数式を下にコピー。

後は、オートフィルター機能を使用して「0」か「1」で抽出すれば良いですね。

今回は「0」つまり偶数行で抽出してみました。

FILTER関数を使用する

※最近のバージョン限定の関数です

バージョン2021、もしくはoffice365を使用している方はFILTER関数を使用すると一発で抽出できます。

抽出結果を表示したいセルを選択して[関数の挿入]ボタンをクリック。

[関数の種類]を[検索/行列]か[すべて表示]に切り替えて「FILTER」を選んで[OK]をクリック。


FILTER関数・・・指定した条件で行データを抽出する。

=FILTER(配列 , 含む , 空の場合)

  • 配列・・・対象となる表のデータ部分全体を指定
  • 含む・・・抽出条件を指定
  • 空の場合・・・抽出結果が存在しないときに表示する文字列を指定[省略可能]
    ※省略した場合、抽出結果が存在しないときは「#CALC!」エラーが表示されます

 

引数の最初[配列]の場所には抽出するデータ部分全体を指定します。

次の[含む]の部分が条件の指定場所です。

この条件の場所が複雑になります。

偶数行を抽出したい場合はISEVEN関数、奇数行を抽出したい場合はISODD関数を使用します。

  • 偶数行・・・ISEVEN
  • 奇数行・・・ISODD

さらに、現在の行を判別するためにROW関数を使用します。

今回の場合は下のように入力します。

ISEVEN(ROW(A2:B11))=TRUE

イメージは下のような感じ。

奇数行を抽出したい場合は

ISEVEN関数を → ISODD関数へ変更します。

もしくは

TRUEを → FALSE に変更してもOKです。

最後の[空の場合]は空欄のままで大丈夫。

関数する関数は下のようになります。

=FILTER(A2:B11,ISEVEN(ROW(A2:B11))=TRUE)

[OK]を押すと抽出結果が表示されます。

結果は青枠で囲まれてスピルして表示されます。スピルに関しては下のリンク先をご覧ください。

Excel(エクセル)を使っていたら、セル範囲に青枠、青い線が付いた!?|スピル(SPILL)の機能と意味を簡単に紹介
エクセルでの「スピル」機能の説明です。なるべく、難しい言葉を避け、簡単に仕組みを説明してみます。

また、FILTER関数についての詳しい説明はこちら。

Excel(エクセル)で、関数を使用してデータを抽出する方法【文字列一致や日付、複数条件での指定】|FILTER関数の使い方
エクセルでオートフィルター機能を使用せずに、関数でデータを抽出する方法です。最近登場したFILTER関数を使用することで、簡単に行データを抽出することができるようになりました。

まとめ

抽出に関しては、最近のバージョンではFILTER関数を使用すると作業が楽になりますね。

別の列を用意して偶数奇数を判断する際は、オートフィル機能でサクッと終わらせるのが良いかもしれません。

 

状況に応じて使えるMOD関数の利用も抑えておきたいところです。

 

ROW関数も便利な関数だにゃ