• ベストアンサー

Excelで1行の内容を、隣のシートで2行にしたい

Excelで表に書かれている内容(1行でA,B,C,D)を、隣のシート(2行で上の行にA,B、下の行にC,D)に飛ばす方法を教えてください。

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

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

質問の内容が厳密にはよく表現されてないと思う。 ・半角カンマで、4区分に区切られたデータがSheet1のA列にあるとする。 ・各行の文字列データを、第2カンマで、前後に分ける ・Sheet2のA列とB列に分けて出す。 ーー VBAならSplit関数という便利なものがあって1-2行で済む。 希望は関数使用なんだろうな。 式が長くなるので、理解しやすいように、作業列を使う方法を示す。 Sheet2のE,F列を作業列とする。 ーー 例データ Sheet1のA列 AXY,BZ,CRS,DQPT A,B,C,D aaaa,sss,d,ff ーー Sheet2において E,F列は作業列で、結果はE2:F4 4 7 2 4 5 9 関数はE2 には =FIND(",",Sheet1!A2) F2には     =FIND(",",Sheet1!A2,E2+1) 下方向に式を複写。 ーー Sheet2のA2には =LEFT(Sheet1!A2,$F2-1) Sheet2のB2には =MID(Sheet1!A2,$F2+1,LEN(Sheet1!A2)-$F2) この式が作業列を作ることで、関数の初歩的に常識的にやさしくなる。 A.B列の関数式を下方向に複写。 Sheet2のA,B列が結果。E,F列は作業列に A2:F4 AXY,BZ CRS,DQPT 4 7 A,B C,D 2 4 aaaa,sss d,ff 5 9 A,B列の式を消して値だけにして(コピー貼り付けでできる)、EF列は、抹消できる。

その他の回答 (2)

noname#247299
noname#247299
回答No.3

セル A1 内の縱1行で A,B,C,D を、 セル B1:B4 内の縱2行で上の行に A,B、下の行に C,D を同じシート上で実現するなら、添付図のようなものでOKですか?

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.1

具体的に書いてないので判らないのですが、画像の様になればいいのですか A1: =INDEX(Sheet1!A:C,ROW()/2+0.5,ISEVEN(ROW())*2+1) 右下へコピペ。 空白が0になるのを防ぐには、 セルの書式設定、ユーザー定義「#」 にします。