- ベストアンサー
EXCELの関数を教えてください
EXCELであるデータの集合から、ある一定の間隔でセルの数値を取り出すような関数は無いでしょうか(例えば、180のデータから、セル3個ごとにデータを取り出して、最終的に60個のデータになるようなことです)。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
セルA1 から 下に数値が入力されているとして、3個おきに抽出するには、 例えば、B1に下記の式を入力し、下にコピーします。 =INDIRECT("A" & ROW(A1)*3-2) または、 =INDEX(A$1:A$100,ROW(A1)*3-2,1) で如何でしょうか。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
既出回答と似てますが、別解と思いますので。 A列にデータがあるとして、別列1行目に =OFFSET($A$1,(ROW()-1)*3,0) と入れて下へデータ数の1/3の数ほど複写します。 1、4、7、10、・・・が別列へ移ります。 その隣の列(項目)も移すのは、別列の隣の第1行へ =OFFSET($A$1,(ROW()-1)*3,1)と入れて下へ複写します。
お礼
回答ありがとうございます。 できました。 ありございました(^○^)。
- ayasu
- ベストアンサー率35% (56/156)
「同じ列から3行飛ばしでデータを持ってくる」でよろしいのでしょうか? 例えばA列に元データがあってC列に上記のようにデータを取り出すとして、B列に1から60の番号を振り、C1に =offset($A$1,3*B1,0) という関数を入れC60までコピーします。 いかがでしょうか?
お礼
回答ありがとうございます。 できました。 ありございました(^○^)。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
「○行ごと」ならできます。 データの直前に通し番号を振ります。ここではA列に通し番号、B列に表示させたいデータが並んでるとしましょうか。 で、抽出データをH列にでも表示させるとして、G列とH列に関数を入力します。 たとえば2行おきのデータを抽出する場合、 G1=ROW()*2として、これを下方にコピーします。 H1=VLOOKUP(G1,A2:B25,2)と入力して下方にコピーします。 データの始まる行によってROW()*2-1などの小技を使う必要がありますが。
お礼
回答ありがとうございます。 できました。 ありございました(^○^)。
- uhyohyohyo
- ベストアンサー率27% (45/163)
indirect関数を使ってみたらどうですか? もし、A列に 1 2 3 : : と並んでいるデータなら、B列にオートフィルを使って A1 A4 A7 : : と入力します。C列に =indirect(B1) として、あとはオートフィルで。
お礼
回答ありがとうございます。 できました。 ありございました(^○^)。
- PAPA0427
- ベストアンサー率22% (559/2488)
ないです。 VBAでプログラムかかれた方が早いですよ。勉強は必要ですが。
お礼
回答ありがとうございます。 ないとのことですが、上の方々のやり方でできました。
お礼
回答ありがとうございます。 できました。 ありがとうございました。 皆さん、回答ありがとうございます。 ポイントのほうですが、勝手ながら私がわかりやすかった方法を伝授してくださった方につけさせていただきます。 またの機会がありましたら、そのときもよろしくお願いします。