• 締切済み

Excelの列に入力されたセルを行に変換する

Excel初心者です。図のように列に入力された情報を行に変換する、私のような素人でもできそうな方法があれば教えてください。 どうぞよろしくお願いいたします。

みんなの回答

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

品番1,2.・・・の情報が。下表(画像)の2列の表では捨てられてしまっているが、良いのか? 普通の会社などの情報処理では、そういうケースはあまり想像できない。 充分意向が伝わるよう、質問の表現などを勉強するほうが、より大切と思う。 ーー (1)関数を組み立てる (2)コピー貼り付け操作で、「行と列を入れ替える」を使う 1発ではできないと思うが。 (3)VBAを使う ーー (3)がコード数(行数)も少なくできる。VBAは遣ったことはなくても、出た回答をコピペして実行すれば、他のソフトを使う場合と、あまり変わらない。 どちらも、中身は詳しくは判ってないが、使うのだ。 例データ Sheet1 A1;D5 1 2 3 A 1 2 3 B 4 5 6 C 7 8 9 D 10 11 12 結果 Sheet2 A2:B13 A 1 A 2 A 3 B 4 B 5 B 6 C 7 C 8 C 9 D 10 D 11 D 12 下記を標準モジュールに貼り付けて、実行 Sub test01() k = 2 For r = 2 To 5 For c = 2 To 4 Worksheets("Sheet2").Cells(k, "A") = Worksheets("Sheet1").Cells(r, 1) Worksheets("Sheet2").Cells(k, "B") = Worksheets("Sheet1").Cells(r, c) k = k + 1 Next c Next r End Sub 初歩的なコードにしているが、参考までに上げる。 行数、列数の実情に合わせて、3列や4行を取得することは省いている。 (For r = 2 To 5 For c = 2 To 4のところ) 実行時に、手で修正要、推測は出来るだろう。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

添付図参照(Excel 2019) A9: =OFFSET(A$2;(ROW(A2)-1)/5;) B9: =OFFSET(B$2;(ROW(B2)-1)/5;MOD(ROW(A2)-1;5)) C9: =SMALL(IF(品<>0;ROW(品));ROW(A1)) 【お断わり1】セル C9 の式は必ず配列(CSE)数式として入力のこと 範囲 A8:B32 選択⇒Alt+MC⇒“上端行”以外のチェック外し⇒[OK] E9: =IFERROR(INDEX(INDIRECT(E$8);$C9-8);"") 【お断わり2】私のExcelトラブル(カンマ使用不可)のため、上式中の[;](セミコロン)は[,](カンマ)に置き換えてください。m(_._)m

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

横の数値のセルを一行選択してコピー 貼り付けたい列の先頭のセルを選択して右クリックで 貼り付けのオプション で、ボードのアイコンをたどると 行列を入れ替える があるのでそれで貼り付ける 必要なだけ繰り返します。 会社名はコピーして必要なだけ縦にオートフィルします。

関連するQ&A