365・LibreOfficeなどに関するメモ2019-12-31(Gスプレッドシート)データを1行おきに抽出するGoogleスプレッドシートGoogoleスプレッドシートで関数を使い、表から1行おきにデータを抽出した結果を得る方法についてです。FILTER関数とSEQUENCE関数などを使って、表からデータを1行おきに抽出することができます。FILTER関数を用いているので複数の列を抽出することも容易です。手順B2:B8に対象となるデータが並んでいます。このうち最初の行と、あとは1行おきにデータを抽出するものとします。D2セルに次のように入力します。=FILTER(B2:B8,ISODD(SEQUENCE(ROWS(B2:B8))))SEQUENCE関数により1~7の連番(データの行数と同じ)を生成し、奇数の番号に対応した行を抽出しています。抽出しているのはあくまでB列です。この例ではSEQUENCE関数を使わずに「=FILTER(B2:B8,ISEVEN(ROW(B2:B8)))」としても同じ結果になりますが、このようにROW関数を用いるとデータの位置によって奇数番目の行が抽出されるか偶数番目の行が抽出されるかが変わってしまい、ISODD関数とISEVEN関数を切り替える必要が生じるので、SEQUENCE関数とROWS関数を用いることで位置の影響を受けないようにしています。結果はこのようになります。FILTER関数を用いているので、複数の列を抽出するのも容易です。この例では上記の式のうち「B2:B8」の部分をいずれも「B2:C8」とすることで2つの列を抽出しています。式は次のようになります。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。