- ベストアンサー
Excelで行と列のデータの入れ替え
月 2005年1月 / 2005年2月 ・・・・ 2005年12月 営業所 A B C 売上 200 100 150 上記のデータを ↓ 月 2005年1月 営業所 A 売上 100 月 2005年2月 営業所 B 売上 200 のようにデータを置換えたいと思っております。横に続くデータを縦に置き換える方法はありますか?データ量が多く、簡単にできないでしょうか?アドバイスをお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1にデータがあるとして、Sheet2のB1に =INDEX(Sheet1!$B$1:$X$3,MOD(ROW()-1,3)+1,INT((ROW()-1)/3)+1) と入れて、下方向に式を複写する。$X$3のXはデータの有る最右列を指定してください。 A列は 月 営業所 売上 をA1:A3に入れておいて、A3で+ハンドルを出し、下に引っ張ればよい。または複写を使う。 日付書式は CTRLを押しながら、3行おきにセルを選択し、日付書式を設定するよりほか無いかな。 いや、B1:B3に日付、文字列、数の書式を設定し、B1:B3をコピーし、B4以下のB列に、書式の貼り付けでできそう。 VBAなら1発でできるが。
その他の回答 (3)
どうせ縦に「置き換える」なら、そして、可能なら、次のようにすることをお奨めます。 月 営業所 売上 2005年1月 A 200 2005年2月 B 100 ・・・・・ ・ … 2005年12月 C 150
- mshr1962
- ベストアンサー率39% (7417/18945)
3行×複数列のデータを縦1列にするのでいいのですか? 直接の入れ替えは無理なので 上記がSheet1ならSheet2で A1=OFFSET(Sheet1!$A$1,MOD(ROW()-1,3),(ROW()-1)/3) として下方にコピー ※ただし月が日付データの場合は、A3までコピー後にA1に日付の表示形式を設定して、A1:A3の3行をコピーしてください。
- gucchi-you
- ベストアンサー率51% (54/105)
編集⇒コピーの後、貼り付ける時に、形式を選択して貼り付け⇒行列を入替える(右下にあります)