365・LibreOfficeなどに関するメモ2020-08-23(Gスプレッドシート)表の中のn行目(n列目)を取得するGoogleスプレッドシートGoogleスプレッドシートで、指定した範囲の中で上からn行目(左からn列目)を抽出する方法についてです。「=INDEX(範囲,n)」で、指定した範囲内の上からn行目を取得できます。「=INDEX(範囲,,n)」で、左からn列目を取得できます。ARRAYFORMULAを使っても複数行(列)の取得ができないのが難点です。手順n番目の行を取得するn番目の列を取得する手順n番目の行を取得する画像ではF3セルにINDEX関数を使った式を入力し、B3:D11の範囲(見出し部分を含まないことに注意)の中の、上から3行目の内容を取り出しています。F3セル=INDEX(B3:D11,3)INDEX関数は範囲(第1引数)と行番号(第2引数)、列番号(第3引数)を指定することで値を取得する関数ですが、列番号を省略することで行全体を取得することができます。第2引数を配列にしてARRAYFORMULA関数を併用すれば複数の行を取得できそうですが、INDEX関数と併用しても効果がないため失敗します(画像)。INDEX関数でやろうとすれば「={INDEX(B3:D11,3);INDEX(B3:D11,8)}」で済みますが、取得する行が多くなるとお手上げです。QUERY関数のOFFSET,LIMIT句やARRAY_CONSTRAIN関数などの利用を考慮した方がよさそうです。n番目の列を取得するINDEX関数の第2引数(行の指定)を省略すれば、行全体を取得することができます。画像ではF3セルに式を入力して、B3:B11の範囲内の左から2行目を取得しています。F3セル=INDEX(B3:D11,,2)備考として、ARRAYFORMULA関数を使ってもやはり複数の列を取得することはできません(行取得の例と同様)。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。