• ベストアンサー

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

よろしくお願いします。 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

  • EXCELでの行の抽出

    sheet1に   A    B    C    D 1 日付 金額  備考  コード 2 01  1000 あいう    1 3 10  2000 えおか    3 4 20  3000 きくけ    4 5 30  4000 こさし    1 . . . という感じで元データ(100行ほど)が入っています。 これを元にしてsheet2に   A    B    C    D 1  1 2 日付 金額  備考  コード 3 01  1000 あいう    1 4 30  4000 こさし    1 . . . というふうに表示したいのです。 sheet2のセルA1に入っているコードと一致するコードが入っているsheet1の行を抽出してsheet2に行の隙間なく表示させたいのです。 こんなことはできるのでしょうか? メニューからコマンドを選択して・・・という方法ではなく、計算式かマクロで実現したいのです。 エクセル2000、Win98です。よろしくお願いします。

  • Excelで行と列のデータの入れ替え

    月   2005年1月 / 2005年2月 ・・・・ 2005年12月 営業所   A   B  C 売上  200 100 150 上記のデータを ↓ 月   2005年1月 営業所 A 売上  100 月   2005年2月 営業所 B 売上  200 のようにデータを置換えたいと思っております。横に続くデータを縦に置き換える方法はありますか?データ量が多く、簡単にできないでしょうか?アドバイスをお願い致します。

  • エクセルで列を複数行にしたいのですが

    注文表を商品ごとに集計したいのですが、商品名・数が列の入っています。これを縦にして集計しようと思っているのですが、列を行する方法を教えてください。 エクセルの表で列A・Bを共通にして列C・Dを次の行に、そして列E・Fを次の行にとしたいのですが、教えてください。 列A 列B   列C  列D 列E 列F 001 ○○会社 商品A 10  商品F 14 001 ○○会社 商品C 11  商品A 20 005 ××会社 商品D 32  商品C 25 これを 列A 列B   列C  列D 列E 列F 001 ○○会社 商品A 10  001 ○○会社 商品F 14  001 ○○会社 商品C 11  001 ○○会社 商品A 20  005 ××会社 商品D 32  005 ××会社 商品C 25 よろしくお願いいたします。

  • Excelで複数行を1行にするマクロについて

    Excel2000で3行を繰り返し、1つの行にまとめていくマクロの書き方についてご教授ください。 例えば下記のような並びの時、 A B C D E F G H I ..... マクロを使って、 A B C D E F G H I ...... のようにしたいと考えています。

  • Excelで1列のデータを5列に振り分けする

    Excel2003でA列に1行にあるデータ(半角英数字)を 次のシートに、1行ずつコピーして、それを5列に振り分けするというマクロを作りたいです。 (ただし、コピーは2つずつの時もあります。) 元データ ●A列 B列 C列  1  2  3  4  5  ・  ・ 加工後 ●A列 B列 C列 D列 E列   1   1   2   2   3   3   4   4   5   5   上記のような感じです。ただデータは数字のみでなくて、英数字です。 Excelのマクロは全くの初心者で大変困っています。 どうぞよろしくお願いたします。

  • エクセル 複数行の入れ替え(マクロ初心者です)

    初めまして。エクセルのデータ整理で困っています。 現在、下記のようなデータがあります。    A    B   C ・・ X 1)    Bさん Cさん  ・・Xさん 2)手当1  b1    0   ・・ x1 3)手当2  b2 空白 ・・ x2    ・    ・   ・  ・・ ・    ・    ・   ・  ・・ ・ 10)手当9 b9 c9  ・・ x9 A列には手当の名前(通勤手当、住居手当など9つの種類があります) B列以降は1行目に人名、2行目以降は各人の手当額が記入されています。(上記例ではb1~b9となっています)最後の人をXとしてます。 このデータのうち、セルB2~セルX10を、縦一列に並び替えたいと思っています。(各人の手当額のみを縦に並べます。人名や手当の種類は並べ替えの対象になりません。) b1 b2 ・ ・ b9 0 空白 ・ ・ x9 また、人によっては手当額が0の人がおり、その場合は0もデータとして残るように、そして空白のセルもデータとして残るように設定したいです。 類似した質問でhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=762328 を参考にマクロを組んでみましたが、以下の2つの問題がクリアできませんでした。 ●何故か行を先に入れ替えてしまう。 (マクロ処理後)  (希望) b1            b1 c1            b2  d1            b3 ・             ・ ・             ・ x1            b9 b2            c1 c2            c2 ・             ・ ・             ・ ●空白のデータを無視してしまう(全データ数が違ってしまいます) この問題をクリアできるようなマクロをお教えいただけないでしょうか。お手数ですが、宜しくお願いいたします。

  • エクセル 複数列の入れ替えについて

    エクセルで、下のような動きをさせたいとき使えるエクセル機能はありませんでしょうか?会社で、毎日インターネットからCSVでデータを落として、フォーマットの違うアプリケーションに取り込むため、毎日エクセル上で80列くらいを切り取り貼りしなくてはならず、エクセルで勉強したら使える機能があるのか、手作業しなければならないのか、またやり方を教えていだだきたいです。 実際はインターネットからのCSVで80列ぐらいのデータですが8列として、取り込めるアプリでは10列として例を書きます。 例)<インターネットから落としたCSVの並び順> A列:受付No.、B列:会社名、C列:会社住所 D列:会社住所2 E列:担当者名 F列:電話番号 G列:ブランク H列:クレーム内容 <クレームを管理するアプリケーションで取込できるCSVの並び> A列:受付No.、B列:ブランク、C列:クレーム内容、D列:担当者名、E列:会社名、F列:ブランク、G列:会社住所、H列ブランク、I列:会社住所2、J列:ブランク 毎日同じ並び替え作業をしていますが、これだけで半日以上つぶれてしまいます。 なにかいい方法がありましたら、どうぞよろしくお願いします。

  • エクセル マクロ 対象列をコピーする

    エクセル マクロについて質問です。 下記のようなデータがありますが、【商品名】ごとにまとめたものを 別のシートへ行ごとコピーをして、商品名毎にまとめたいと思っています。 マクロの構文が思いつかず、よい方法はないでしょうか。 初歩的な質問かも知れませんがおしえてください。 マクロ実施前 【県名】  【商品名】 【売り上げ日】 【その1】 【その2】 埼玉県   A 東京都   B 神奈川県  B 千葉県 A 栃木県   C 群馬県   D マクロ実施後↓↓ Aシート 【県名】  【商品名】 埼玉県   A 千葉県 A Bシート 【県名】  【商品名】 東京都   B 神奈川県  B Cシート 【県名】  【商品名】 栃木県   C 群馬県   D Dシート 【県名】  【商品名】 群馬県   D

  • エクセルで、条件にあう複数の行を別のシートに抽出する

    《どなたか、お教え下さい》   エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1   A 2   B 2   B 4   D 5   E 6   F 2   B 3   C 5   E   A    B  番号  得意先   1   A      2   B   得意先名は、番号を入力することで表示されるように   3   C   関数「VLOOKUP」を使って表示させるようにしていま   4   D   す。    5   E   6   F  

  • ExcelのVBAについて

    ExcelのVBAについて VBA全くの初心者です。 以下のような処理を行いたいのですが、どなたかご教授をお願いします。 以下のように支店(1)~(3)のシートがあります。 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、   一致しない行を不一致データシートに出力する もう一つ別のマクロで、 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、、   一致する行を一致データシートに出力し、D列に対象データがあるシート名を表示する   ※可能でしたら、E列に対象データがある行番号も表示する -------------------------------- シート名:支店(1) A      B     C 商品No   商品名   備考 011    商品A   備考A 009    商品B   備考B 015    商品C   備考C -------------------------------- シート名:支店(2) A      B     C 商品No   商品名   備考 008    商品A   備考A 023    商品B   備考B 004    商品C   備考C -------------------------------- シート名:支店(3) A      B     C 商品No   商品名   備考 007    商品A   備考A 033    商品B   備考B 018    商品C   備考C -------------------------------- シート名:入力シート A      B     C 商品No   商品名   備考 ※ここに複数行入力する -------------------------------- シート名:不一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される -------------------------------- シート名:一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される

専門家に質問してみよう