いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Excel)表の中のn行目/n列目を抽出する

 Excelで、表の中の(つまり指定した範囲内の)n行目の内容を取得する方法についてです。n列目の内容を取得することもできます。

  • 「=INDEX(範囲,n,)」という式により、表の中のn行目の内容を抽出することができます。
  • 「=INDEX(範囲,,n)」という式により、n列目の内容を抽出することができます。

手順

n番目の行を取得する

 画像ではF3セルに式を入力することで、B3:D8の範囲(見出し部分を含まないことに注意)の中の3行目の内容を取り出しています。


 F3セル

=INDEX(B3:D8,3,)

 INDEX関数は指定した範囲のうち、指定した行・列に存在する値を抽出する関数です。
 このように第3引数(列の指定)を省略すれば、列全体を抽出することができます。ただし、第2引数の後のカンマは省略できない(省略するとエラーになる)ことに注意が必要です。
 

 なお、複数の行を指定するときには第2引数を配列にします。
 しかし画像のように単に「{2;4}」とするだけでは(「;」で区切ることに注意)、2行目と4行目の一番左の列しか抽出できません。

 

 よってこのときは第3引数を省略せず、このような式にする必要があります。

 F3セル

=INDEX(B3:D8,{2;4},{1,2,3})

n番目の列を取得する

 考え方は行の抽出と同じです。
 INDEX関数の第2引数(行の指定)を省略すれば、行全体を抽出することができます。

 F3セル

=INDEX(B3:D8,,2)

 備考としては、複数の列を抽出する際には行番号の指定が省略できません(上記の例と同様)。
 行数が多いとすべての行を指定するのが困難になることが想定されますが、関数で対応するとすれば次のようになります(2列目と3列目を抽出する例)。

=INDEX(B3:D8,SEQUENCE(ROWS(B3:D8)),{2,3})