- ベストアンサー
エクセルで連続データから、数個飛ばしのデータを抜き取る方法
A B 1 a1 2 a2 3 a3 4 a4 5 a5 ・・・・・ のような表において、 Bの列にB1=a1、B2=a3、B3=a5 のような2個飛ばしのデータを連続で抜き取る方法はありますでしょうか。 A列が3000行ほどあり手打ち入力がしんどいです。 OFFSET関数を使ってもうまく連続コピーされません。 どなたかご教授願います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
OFFSET関数利用でもよいが、INDEX関数のほうが普通かな。 =INDEX($A$1:$A$100,(ROW()-1)*2+1,1) 100はデータ数が多い場合はデータ行数に変える。 例データ A1:A5 a1 a2 a3 a4 a5 B1に上記。データ数の半数の行数を複写。 結果 a1 a3 a5
その他の回答 (3)
- chie65536(@chie65535)
- ベストアンサー率44% (8757/19871)
追記。 (ROW()-1)*2 の部分を (ROW()-1)*3 とか (ROW()-1)*4 とかにすれば「2行飛ばし」「3行飛ばし」も可能。 A$1 の部分が「基準点」なので A B 1 (略) (略) 6 (略) 7 a1 a1 8 a2 a3 8 a3 a5 8 a4 a7 8 a5 a9 のように7行目から始めたいなら A$1 を A$7 に変えればよい。
お礼
これもすごい! 見事にできました。 行数に関数が入れられるとは。。。 私には到底思いつかない手法でした。 ありがとうございました。
- chie65536(@chie65535)
- ベストアンサー率44% (8757/19871)
=OFFSET(A$1,(ROW()-1)*2,0,1,1) をB1セルに入れて、B1セルを「セルのコピー」で下方向に1600行辺りまでコピー
お礼
返答遅れて申し訳ありません。 今まで気がつかすにいました。 ありがとうございました。
- xls88
- ベストアンサー率56% (669/1189)
B1に、#A1 B2に、#A3 B1とB2を選択 選択枠の右下角の■(フィルハンドル)を下方に必要行までドラッグ セル範囲選択状態のまま、編集メニューの「置換」で # を = に「すべて置換」
お礼
すごい! こんな発想があったなんて。 おかげで一発解決しました。 ありがとうございました。
お礼
これもすごい! またまたできました。 INDEX関数初めて使用しましたが便利ですね。 イメージし易い関数だと思いました。 ROW関数をからめた数式は今後も役に立つと思います。 ありがとうございました。