- ベストアンサー
○行おきにデータを読み込む
エクセルのデータで7行おきにデータを読み込んで、空白を詰めて隣または別のシートに書きこんでいきたいのですがどうしたらいいでしょうか。 分かりにくい質問ですが、要するに7行おきに書かれているところのデータが欲しいのです。 ←わかってもらえたでしょうか。 大変困っています。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
スマートな方法が思い浮かばないんですが、 例えば一番左に1列挿入します。 挿入した列に、上から ○ ○ ○ ○ ○ ○ ● ○ ○ ○ ○ ○ ○ ● のように7個ごとに印をつけます。 印は、何でも構いません。アルファベットでも数字でも お好みの物を使用してください。 で、メニューのデータ→フィルタ→「オートフィルタの設定」 で大丈夫だと思います。 オートフィルタでダメなら、「フィルタオプションの設定」の方で試してみてください。 ポイントは、7個ごとに印をつけて、フィルタです。 それぞれの機能でわからなければ、また質問してみてください。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
Sheet1のA列にデータがあるとして Sheet2のA列にA1に =INDIRECT("Sheet1!A"&(ROW()-1)*7+1) と入れて下方向に式を複写する。 Sheet1のA列の 1 8 15 22 29 ・・ 番目行が持ってこれます。
お礼
こんなスマートな方法もあるのですね。 大変参考になりました。 この場を借りて皆様にお礼申し上げます。 ありがとうございました。
元データの最上行のセルに付けた名前を ref とすれば、同じ、または、別のシートの任意のセルに次式を入力して、此れを下方にズズーッと複写してみてください。 =OFFSET(ref,(ROW(1:1)-1)*7,0,1,1)
- ipsum11
- ベストアンサー率21% (55/251)
>要するに7行おきに書かれているところのデータ '**********例1**********' For i = 1 To 100 Step 7 Debug.Print Cells(i, 1) Next i '**********例2**********' i = 1 Do While i < 100 Debug.Print Cells(i, 1) i = i + 7 Loop これで7行おきかな。
お礼
結局,悪戦苦闘した結果,この方法と同様の方法を私も思いつきました。 ありがとうございました。