プロが教えるわが家の防犯対策術!

エクセルでデータの加工を考えています。

【データ加工前】の状態は、曜日ごとで行別れしています

これを【データ加工後】のように、お客様ごとで行別れするようにしたいと考えております。

【データ加工前】
A様 パン(月)  2
A様 パン(火)  1
B様 サラダ(水) 2
B様 サラダ(木) 2
B様 サラダ(金) 2
C様 ご飯(月)  1
C様 ご飯(金)  1

【データ加工後】
      月火水木金
A様 パン 21
B様 サラダ  222
C様 ご飯 1   1

関数、vbaやり方は問いません。
【データ加工前】の状態から【データ加工後】にするには、どのようにすればよろしいでしょうか?

質問者からの補足コメント

  • 曜日は、商品名に繋がっています。
    なので、商品名と曜日で1列使っています。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/11/25 08:46
教えて!goo グレード

A 回答 (7件)

No.6です。

前回回答にタイプミスがありました。
(誤)・・・中間加工データを作成したあとは、クリエでもピボットテーブルでも・・・
(正)・・・中間加工データを作成したあとは、クエリでもピボットテーブルでも・・・
お詫びして訂正いたします。大変失礼いたしました。
    • good
    • 0

ご質問者のご希望が、単純に一週間の顧客別、曜日別集計を求めているなら、No.2さんの回答で完成しています。



これが、一週間を超えたらどうしたいのか気になるところです。

月曜日は月曜日として集計するなら、顧客A様の月曜日の数量は2週間分、3週間分と累積していくことになります。

そうではなく、月曜日というのはあくまでも今週の話であって、来週の月曜日とは一緒にしないのであれば、列方向に次の月曜日が登場することになり、No.2さんの方法では無理があります。

そうなるとNo.1さんのご指摘のように「日付を書式で曜日にしている」というような方法をとらないといけません。

もし、「日付を書式で曜日にしている」のではなく、曜日の文字データだとすると、No.3さん、No.4さんが回答しておられますが、中間加工データを作成する必要があるように思います。
つまり、曜日の列を独立させて、日付に変更入力する処理が必要ということになります。

このような中間加工データを作成したあとは、クリエでもピボットテーブルでも関数でもVBAでもご希望の表が作成可能です。

添付画像をご覧ください。左側の表のC列は曜日が表示されていますが、中身は日付で書式で曜日に見せているだけです。
この状態で左側の表からピボットテーブルを作成してみたものが下部右側の図です。
「Excel 【データの加工】」の回答画像6
    • good
    • 1

No3です。


補足要求の追加です。
曜日は、土、日はないと考えてよいですか。
    • good
    • 0

最終的にどのような表①が必要なのか、


その①にするために、どのような入力②が便利なのか(都合がよいのか)。
②から①へは、直接に導けないなら、中間表③を作る。

質問者さんは
>曜日は、商品名に繋がっています。
>なので、商品名と曜日で1列使っています。
といいながら、【データ加工後】の表においては
商品名と曜日とを切り離しています。
つまり上述したように商品名と曜日とを切り離した中間表をつくり
3列を4列の表にすれば、後はindex関数、match関数などでできると思います。
    • good
    • 0

補足要求です。


1.加工前のデータは、1行目から開始でしょうか。
(添付図のようになっていますか)
2.加工前データのシート名と加工後のシート名が不明ですが、
加工前データのシート名:Sheet1
加工後データのシート名:Sheet2
としてよろしいでしょうか。

上記で良ければ、加工用のマクロを提供可能です。
「Excel 【データの加工】」の回答画像3
    • good
    • 0

元のデータの先頭に見出し行を追加(「氏名」「商品名」「数量」)


範囲をテーブル書式にするか名前定義して クエリを作成

・[値の置換]で「)」を取り除く
・[列の分割]で「(」を指定して列を分ける
・「商品名.2」列を選択して [列のピボット](値列「数量」)
→ 閉じて読み込む

以上
    • good
    • 2
この回答へのお礼

ありがとうございます!
思った出力結果になりませんが、試行錯誤で進めていきます!

お礼日時:2021/11/25 11:48

これって曜日は


・曜日だけで1列使っているの?
・それとも商品名に繋がっている?
・単独なら日付を書式で曜日表示しているのか、ただ値として打ち込んでいるのか?

辺りが気になるかな?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング