• ベストアンサー

エクセルの関数で質問です

エクセルで、下記の様に同じ文字やセルを移動する関数はありますでしょうか。 (1)をF列の  (1)に (2)を     (2)に (3)を     (3)に の様な感じで規則的に何十段も続けたいのですが。  A B C D E F G H 1 2(1)         (1) 3(2) 4(3)         5(4)         (2) 6(5) 7(6) 8(7)          (3) 9(8)          ・ ・ ・ よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

もう回答が出ていますが、小学校か中学校の級数のことをおもいだして考えればでき。 F列 --A列 2行目ーー2行目 5行目ー 3行目 8行目ー 4行目 11行目ー5行目 ↑      ↑ 1行おき 3行おき ーーー 関係する関数は式を入れるセルの自分自身の行はROW()関数 割った余りはMOD関数 割った商はINT関数 A列の何番目かを取る関数はINDEX関数 この関係を数式にするには F-2を考える。第2行目から始まっているため。 (F-2)/3の商とあまりを考える 其れでF2に =IF(MOD(ROW()-2,3)=0,INDEX($A$1:$A$100,INT((ROW()-2)/3)+2),"") 例データA列とF列 1 1 2 3 4 2 5 6 3 ーーー ただしF列の 第3行目、4行目に何か既にデータがあって、それを壊してはいけない場合は、VBAで処理しないとならない。 または人間がコピー貼り付けを5,8,11行・・にしないとダメ(手間がかかる) CTRLキーを押しつつマウスクリックしてセルを選択して置いて、CTRL+V。

hiroto3
質問者

お礼

丁寧なご説明。 どの方も、ありがたいアドバイスで助かります。 ご丁寧にアドバイスいただきましてありがとうございます。 これから、関数の事も少し学びたいと思います。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

F1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ROW(A1)>COUNTA(A:A)*3,"",IF(MOD(ROW(A1),3)=2,INDEX(A:A,ROUNDUP(ROW(A1)/3,0)+1),""))

hiroto3
質問者

お礼

いろいろなご回答があって、どれも出来てビックリです。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

F2=IF(MOD(ROW(),3)=2,INDEX(A:A,(ROW()+1)/3+1),"") または F2=IF(MOD(ROW(),3)=2,INDIRECT("A"&(ROW()+1)/3+1),"") で下方にコピー

hiroto3
質問者

お礼

へ~って感じです。 ちゃんと勉強したくなりました。

  • silverfd
  • ベストアンサー率57% (204/356)
回答No.2

F2にこの式を入力、 =IF(MOD(ROW(),3)=2,INDIRECT("A"&INT(ROW()/3)+2),"") それを下にドラッグしたら同じようになりましたよ。

hiroto3
質問者

お礼

これでも出来ました。 いろいろやり方があるんですね。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

F2のセルに =INDEX(A:A,ROW(A6)/3) と記入し,F2:F4の3つのセルを選んでおいて下向けにえいやっとオートフィルドラッグします。

hiroto3
質問者

お礼

ご回答いただきありがとうございます。 できました! 嬉しいです。

関連するQ&A