• ベストアンサー

excelの表で。。。

ピポットテーブルの形式のデータがあります。 これを普通のデータ形式にしたのですが。。。 例     a店 b店 たまご 100 50 牛乳 50 30 これを たまご a店 100 たまご b店  50 牛乳  a店  50 牛乳  b点  30 のようにしたいのです。 よろしくお願い致します。

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.1

マクロを使わないとちょっと難しいのではないかと思います。 もし、マクロで宜しかったら、詳しい手順を書きますのでテストしてみてください。 データシートを表示した状態で、このマクロを実行すると、そのシートの右側に新しい シートが作られて、変換したデータが表示されます。 そのシート名は、現在のシート名に "(変換)" が付加された名前です。 何回実行しても、新しいデータで上書きされます。 [マクロの設定方法] 1.Alt + F11 で VBE(Visual Basic Editor)を開きます。 2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。 3.モジュールウィンドウに下記コードをコピーして貼り付けます。  (必要により、コードの2~3行目を実情に合わせ設定変更します。) 4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を  「中」にして[OK]します。 6.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で  「データ変換」を指定し、[実行]ボタンを押します。 これで如何でしょうか。 Sub データ変換() Const YRetu = "A" '<----- 列(品名)指定(Y軸) Const XGyou = 1 ' <----- 見出し行を指定(X軸) Dim Sh1 As Worksheet Dim Sh2 As Worksheet Dim Rng As Range Dim RngC As Range Dim Rw As Long Dim Col As Integer Dim N As Integer If InStr(ActiveSheet.Name, "(変換)") > 0 Then   MsgBox "変換対象のシートではありません。", vbCritical   Exit Sub End If Set Sh1 = ActiveSheet For N = 1 To Worksheets.Count   If ActiveSheet.Name & "(変換)" = Worksheets(N).Name Then     Worksheets(N).Move After:=Sh1     Set Sh2 = Worksheets(N)     Exit For   End If Next N If N > Worksheets.Count Then   Sheets.Add After:=Sh1   Set Sh2 = ActiveSheet   Sh2.Name = Sh1.Name & "(変換)" End If Sh2.Cells.ClearContents Sh1.Select Rw = 1 For Each Rng In Range(YRetu & XGyou + 1, Range(YRetu & 65536).End(xlUp))   Col = 1   For Each RngC In Range(Rng.Offset(, 1), Range("IV" & Rng.Row).End(xlToLeft))     Sh2.Cells(Rw, 1).Value = Rng.Value     Sh2.Cells(Rw, 2).Value = Sh1.Cells(XGyou, YRetu).Offset(, Col).Value     Sh2.Cells(Rw, 3).Value = RngC.Value     Rw = Rw + 1: Col = Col + 1   Next RngC Next Rng Set Sh1 = Nothing Set Sh2 = Nothing Beep: Beep: Beep MsgBox "変換完了!!" End Sub

a00000a
質問者

お礼

うぉー。すごい。できました。 助かりました。本当に。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル表の作成

    下記のCSVデータから、希望の表形式にしたいです。 ご教授ください。 【CSVデータ】 A列    B列     C列     D列     E列 タイトル  (1)     (2)     (3)      (4) 1      0   100   150   0  2     100   0   150   0  3      0  100   0   100  4      0   100   150   0  5     100   100   150   0  【希望の表形式】 A列  B列  C列 1    (2)  100     (3)  150 2   (1)  100     (3)  150 3   (2)  100     (4)  100 【希望の表形式】は多少違う形でも構いません。 作成方法は関数やピポット、なければ(マクロ)で教えてください。 宜しくお願い致します。

  • エクセル2003について

    エクセルで集計を出したいのですが、チョット困っているので教えてください。 例:AシートとBシートにはそれぞれ同じ形式でデータが入っています。そのAシートとBシートをリンクさせて両方のデータを同シート(1つのシート)で確認する事は出来ないものでしょうか??もちろんどちらかのシートのデータをコピーで貼り付けてしまえば、集計は出せなくないのですが、上記のようなリンクできる方法があるのであれは教えて頂きたいです。良い考えのある方、よろしくお願い致します。 本日中に集計を出すので何卒よろしくお願い致します!!

  • Excelの表を別の表に引用するにはピポットを07→旧で読み取れる様にするには

    ExcelでA・B・C表を作りあとで一つの表に引用して飛ばす様にするにはどうすれば良いでしょうか (そのままの場合と数値だけ欲しい場合と有りますが) (コピペしか有りませんか…それともまったく無知なマクロ使わねば成りませんか) あとピポットテーブルをExcel2007て作って会社のExcelの古いバージョンではそのままでは表示出来ずバックアップを旧バージョンにしても新し過ぎてピポットテーブルは読み取れないんですが他の方法有りませんか併せて教えて頂ければ幸いです

  • エクセル計算式(表データーからの抜き出し)教えて

    ある表データー郡から、項目マッチングさせ、マッチした項目を抜き出し別の表データーを作成する計算式を教えてください。 例:A表に都市名と郵便番号の表がある。B表にカスタマー情報として氏名、住所、などのデーター表がある。B表の住所とA表の都市名をマッチングさせマッチしたA表の郵便番号を、B表に取り込む。(尚、B表の住所は都市名とし、A表の都市名と同じデーター形式とする。即ちセルの比較で検索できるものとする)

  • Excelで表に任意データを入れたい

    いつもお世話になっています Excelで悩んでいるところがあるので、ご教授をお願いします。 ExcelにシートA,シートBを用意 シートAに表を作成しまして (例) | 名前  | 備考  | | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| この表は1ページで30行分の名前データが綺麗に収まる表です。 別シートBに百数件の名前だけのデータが入っています。 (A列に数十件、B列に数十件とデータは複数列にわたって入っています) ※今はこのデータの形式ですが、データの持ち方はある程度妥協できます シートBの任意の名前データだけ複数選択し、シートAの形を使って印刷をしたいと考えています。 この時、選択したデータ件数によってはシートAの表は複数枚に渡って印刷される必要があります。 これを実現したいのですが、どのようにすればよいでしょうか? マクロでやるのか、はたまたマクロを使わずともできるのか・・・ 差し込み印刷のような感じでできないかと調べてはいるのですが、解決できそうな情報がみつかりません。 これを実現できる方法を分かる方がいましたら、お願いします。 マクロでという場合は、VBAの記述は初心者ですのでポイントだけでも詳しく教えて頂けると嬉しいです。 よろしくお願いします。

  • また教えてください!Excelで作った表で・・・

    助けてください!!  Excelで作った3つの表があります。 ※1つのファイルの中に3つのシートとして作られています。 (1)元となるデータが入っているもので、  (例) 1月1日 1,000    1月2日  500   ~    2月1日 1,500    2月2日 1,800 …と、連続した日にちと数値が入力されています。(数年分) (2) (1)の表から部分的にリンクさせて1カ月分を抜粋しています。  (例) 1月1日 =(1)!A1     1月2日 =(1)!A2 1月3日 =(1)!A3 ←多少違うかもしれませんが、こんな感じの式?を入れてデータを引っ張ってきています。 (3) (2)と同じですが、(2)に抜粋したデータの次月分が入力されています。  (例) 2月1日 =(1)!A32     2月2日 =(1)!A33 2月3日 =(1)!A34    (2)と(3)は1つ1つのデータは違うものの、表の作りとしては同じです。 (2)や(3)のような表が、すでに何カ月先の分まで それぞれシートとして作られているのですが、 その表の内容が正しいか確認したいのです。 例えば、2月のデータを表(1)から引っ張ってきたいのに  (例) 2月1日 =(1)!A32→“(1)!A31”になっている…など 違うセルが入力されていないようにしたいのです。   それで、考えたのは すでに終わった月の表は正しい式が入っているのだから、 正しい表と新しい表を比べられないか?という事です。 (回りくどくてスミマセンm(__)m) でも、引っ張ってくる元のセルが違っているので 単純に比較できず、関数にも詳しくないので、どうしたらいいのか分かりません。 間違えないように、初めからもう一度作る・・・というのはナシで、比較をして確認したい場合でお願いします。 また、比較ではなく、他に方法がありましたら教えてください。 不明な点は補足をさせていただきますので、よろしくお願いします。

  • EXCELの表作成について

    EXCELについて質問です。 表Aと表Bから表Cのような結果を出すためには、 どうすれば良いでしょうか? 下記の例ではたいしたデータではありませんが、 膨大な数のデータがあるとして、関数などEXCELの機能を活用して簡単に 結果を出したいと思っています。 【表A】 A    B     C    D 1     A店 B店 C店 2 パソコン 3 掃除機 4 冷蔵庫 5 テレビ 【表B】 A店   B店   C店 パソコン パソコン パソコン 掃除機  冷蔵庫  掃除機 冷蔵庫  テレビ  テレビ 【表C】 A    B    C    D 1     A店 B店 C店 2 パソコン ○ ○  ○ 3 掃除機  ○    ○ 4 冷蔵庫  ○ ○ 5 テレビ     ○  ○ ※表A内で、表Bに該当する箇所に"○"が記入されます。 ※1~5はEXCELの行 ※A~DはEXCELの列 当方、EXCELは使い慣れていいますので、 多少難しい方法でも構いません。 (ややこしい関数の組み合わせも理論さえ理解すれば大丈夫です) どなたか分かる方がいましたら、 よろしくお願い致します。

  • エクセル2000での一致・不一致

    エクセル2000での質問です。 AとBのファイル(表の形式は全く同じ)があるとします。 AとBを比較して”Aに対してBのXXのデータが合わない”等が分かるようにできろのでしょうか? 例)ファイルA  ファイルB   1       1   2       2   3       5 ならば、Aには”5”がなくてBには”3”がない事を抜き出すなり、別表にするなりの、何らかの方法で分かるようにしたいのですが・・・。

  • 2つのエクセル表について。

    エクセル表でクラス名、所属クラブ、氏名、住所等が記載された表が2つ(例:エクセル名 秋・冬)あるとします。 秋のエクセル表のAさん、Bさん・・・の所属クラブを変更したら、冬のエクセル表のAさん、Bさん・・・の所属クラブも自動で変更になる関数を教えて下さい。宜しくお願い致します。

  • エクセルの表作成にあたって

     お世話になります。  エクセルで下記のような表を作成したいのですが、ご教授お願いいたします。  A列には元々時間が入っており、B列にはその時間の数値が入ります。 A1が10時、B1の数値が10 A2が11時、B2の数値が12 A3が12時、B3の数値が40 A4が13時、B4の数値が23 A5が14時、B5の数値は未入力(空欄) A6が15時、B6の数値は未入力(空欄)  A列では元々時間が入っておりますが、実際にその時間が来た時にB列に数値を手入力して行きます。  任意のセルに上記の数値の最新データを表示したい。上記の場合はB4の数値23を任意のセルに表示したい。  時間が過ぎていくことにより、常に最新のB列の数値データを取得して任意のセルに表示するような方法を教えて下さい。 (つまりB列で空欄の一つ前のデータを自動的に取得したい。) 【補足】  最新数値データの下は常に空欄になっています。  説明不足な点があれば補足いたします。  これが出来れば非常に助かります。よろしくお願いいたします。

Windows 11の適応性について
このQ&Aのポイント
  • Windows 11の適応性について考える
  • Windows 11へのアップグレード不可能な状況の理由
  • ノートパソコンのCPUがWindows 11の要件を満たせない場合の対処法
回答を見る

専門家に質問してみよう