• ベストアンサー

エクセル 列と複数行の入れ替え

よろしくお願いします。 Win XP  Office2003 使用です。 下記(1)のようなデータを下記(2)のように置き換えるにはどうしたらよいでしょうか? (1)元データ A1 会社名 A2 売上 A3 昨年比 A4 備考 A5 会社名 A6 売上 A7 昨年比 A8 備考 (ここでは4つの項目が繰り返される状態) (2)変換したい状態 A1 会社名  B1 売上  C1 昨年比  D1 備考 A2 会社名  B2 売上  C2 昨年比  D2 備考 数字データもあり、これは後日計算や修正等も行いますので 元データからの=A2(もしくはマクロ) 等で入れてあると問題が生じます。 ■置き換える方法はありますか? ■=データコピーやマクロなどを使用した場合、表示されている数字を  セルに固定することは出来ますか?

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

  • ベストアンサー
  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

いくつかやり方はあると思いますが、一つのやり方を。 B1に  =IF(MOD(ROW(),4)=1,A2,"") C1に  =IF(MOD(ROW(),4)=1,A3,"") D1に  =IF(MOD(ROW(),4)=1,A4,"") と記入し、下にコピーします。 すると、 A1 会社名 B1 売上  C1 昨年比  D1 備考 A2 売上 A3 昨年比 A4 備考 A5 会社名 B5 売上  C5 昨年比  D5 備考 A6 売上 A7 昨年比 A8 備考 となります。 そして、すべてを選択してコピーをし、同じ場所に、形式を選択して貼り付けで、値を貼り付けると、数式がすべて値で上書きされます。 その後、オートフィルタで、A列以外のどれかの列で、空白以外のセルを選ぶと、 A1 会社名 B1 売上  C1 昨年比  D1 備考 A5 会社名 B5 売上  C5 昨年比  D5 備考 という状態になります。 そして、データ範囲を選択してコピーして、別の場所(別のシート)に貼り付けると、 A1 会社名 B1 売上  C1 昨年比  D1 備考 A2 会社名 B2 売上  C2 昨年比  D2 備考 になります。

babuiori
質問者

お礼

ありがとございます。 いけそうです。

その他の回答 (1)

  • gisahann
  • ベストアンサー率37% (973/2616)
回答No.2

マクロはちと分かりません。 全体を文字列と仮定して、「範囲を選択」→右クリック 「形式を選択して貼り付け」を選び、「行列を入れ替える」に チェックを入れ、演算しないを確認、貼り付け位置を指定、 OKで文字・数値は移動出来ますが。

babuiori
質問者

お礼

ありがとうございます。 なるほど!!

関連するQ&A