「index 関数 10行おき参照」
「エクセル index関数 数行おき データ抽出」
「index関数とrow関数を使って、一定の行ごとに別シートのデータを抽出する」
といった検索キーワードでのアクセスが時折あります。
何らかのデータ群から、INDEX関数を使って、n行おき・n行ごとにデータを抽出するには、どうすればいいのかを調べていた方による検索です。
下図のようなデータから、
5行ごとにデータを取得する方法を考えてみましょう。
5行おきにデータを抽出する
まずは5行おきに、5・10・15・20・25行目のデータを抽出する例です。
※A列に入力されたデータから5行おきにデータを抽出して、C1セルから下方向に表示する例
C1セルに
=INDEX(A:A, ROW() * 5)
という数式を入力
↓
C1セルを下方向にオートフィル
上記の操作を行うと下図のような状態となります。
INDEX関数の第2引数に指定されている数式「=ROW() * 5」を、D1セルに入力して下方向にオートフィルして、
「=ROW() * 5」と
「=INDEX(A:A, ROW() * 5)」の意味を理解しておきましょう。
6行目以下から5行おきにデータを抽出する
つづいて1・6・11・16・21行目のデータを抽出することを考えたいのですが、その前に6・11・16・21・26行目のデータを取得する考え方を理解しましょう。
※A列に入力されたデータの6行目以下から5行おきにデータを抽出して、C1セルから下方向に表示する例
C1セルに
=INDEX(A:A, ROW() * 5 + 1)
という数式を入力
↓
C1セルを下方向にオートフィル
上記の操作を行うと下図のような状態となります。
INDEX関数の第2引数に指定されている数式「=ROW() * 5 + 1」を、D1セルに入力して下方向にオートフィルして、
「=ROW() * 5 + 1」と
「=INDEX(A:A, ROW() * 5 + 1)」の意味を納得しておきましょう。
1行目以下から5行おきにデータを取得する
で、1・6・11・16・21行目のデータを取得するには以下のとおりです。
※A列に入力されたデータの1行目以下から5行おきにデータを抽出して、C1セルから下方向に表示する例
C1セルに
=INDEX(A:A, (ROW() - 1) * 5 + 1)
という数式を入力
↓
C1セルを下方向にオートフィル
上記の操作を行うと下図のような状態となります。
やっぱり、INDEX関数の第2引数に指定されている数式「=(ROW() - 1) * 5 + 1」を、D1セルに入力して下方向にオートフィルして、
「=(ROW() - 1) * 5 + 1」
「=INDEX(A:A, (ROW() - 1) * 5 + 1)」の意味を確認しておきましょう。
別シートから5行おきにデータを取得する
別シートから5行おきにデータを取得したい場合は、以下のとおりです。
※元データシートのA列に入力されたデータの1行目以下から5行おきにデータを抽出して、C1セルから下方向に表示する例
C1セルに
=INDEX(元データ!A:A, (ROW()-1) * 5 + 1)
という数式を入力
↓
C1セルを下方向にオートフィル
INDEX関数の第1引数が「元データ!A:A」とシートの指定から行われている部分だけが異なります。
最終更新日時:2022-09-01 15:11
- Newer:VBAで列幅をコピーする
- Older:VBAで数値軸の最大値・最小値を変更する
Home » Excel(エクセル)の関数・数式の使い方 » 検索・行列 » INDEX関数でn行おきにデータを抽出する-ROW関数