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]を押すと抽出結果が表示されます。
結果は青枠で囲まれてスピルして表示されます。スピルに関しては下のリンク先をご覧ください。
また、FILTER関数についての詳しい説明はこちら。
まとめ
抽出に関しては、最近のバージョンではFILTER関数を使用すると作業が楽になりますね。
別の列を用意して偶数奇数を判断する際は、オートフィル機能でサクッと終わらせるのが良いかもしれません。
状況に応じて使えるMOD関数の利用も抑えておきたいところです。
ROW関数も便利な関数だにゃ