いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Excel)1行おきにデータを抽出する

Excelで表から1行おきにデータを抽出する方法についてです。

  • FILTER関数とROW関数などを使って1行おきにデータを抽出することができます。
  • FILTER関数のメリットとして複数列のデータを抽出することができます。

手順

f:id:accs2014:20191231154353p:plain:right:w500

 B2:B8にデータが並んでいますので、ここから1行おきに(最初のデータは抽出し、あとは1行おきに)データを抽出するものとします。

 D2セルに次のように入力します。

=FILTER(B2:B8,ISODD(SEQUENCE(ROWS(B2:B8))))

 SEQUENCE関数により1~7の連番(データの行数と同じ)を生成し、奇数の番号に対応した行を抽出しています(ただし抽出するのはB列)。
 なお、この例では「=FILTER(B2:B8,ISEVEN(ROW(B2:B8)))」でも同じ結果になりますが、このやり方だとデータの位置によって奇数番目の行が抽出されるか偶数番目の行が抽出されるかが変わってしまい、ISODD関数とISEVEN関数を切り替える必要が生じるためSEQUENCE関数を用いて位置の影響を除いています。
 

f:id:accs2014:20191231154357p:plain:right:w500

 結果はこうなります。

 

f:id:accs2014:20191231154401p:plain:right:w500

 絞り込みにFILTER関数を用いていますので、このように複数列のデータを抽出するのも容易です。