[[20211222105451]] 『ピボットテーブルでの表作成』(まめち) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボットテーブルでの表作成』(まめち)

商品コード 商品名 容量  納品日  A店 B店 C店 合計
111111  ○○○  350  12月21日  10 20  5  35
222222  △△△  500  12月21日  20  5  20  45
333333  □□□  750  12月21日  5  10  5  20

上記にある表をCSVファイルに出力したいがためにピボットテーブルで
下記のように表示したいのですがなかなか出来ず、インターネットで調べたりもしたのですが分からなかったため質問しました。

店名 商品コード 商品名 納品数量
A店  111111   〇〇○  10
A店  222222   △△△  20
A店  333333   □□□   5
B店  111111   〇〇○  20
B店  222222   △△△   5
B店  333333   □□□  10
C店  111111   ○○○   5 
C店  222222   △△△  20
C店  333333   □□□   5

これができるようでしたら店名、商品コードなどのタイトル行が表示されないやり方も教えていただきたいです。
また、これはピボットテーブル以外でもできるのかも教えていただきたいです。
すみませんが、どなたか分かる方よろしくお願い致します。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 ピボットテーブルでは難しいんじゃないでしょうか
 私はやり方をしりません。

 PowerQueryでならば結構簡単です。
 [データ]タブ→[データの取得と変換]グループで[テーブルから]を選んで、
 PowerQueryエディタが起動したら、
 容量、納品日、合計の列を選択して、[列の削除]
 商品コード、商品名の列を選択して、[変換]タブ→[任意の列]グループ→[列のピボット解除]→[その他の列のピボット解除]

 です。
 その後、[ホーム]タブで[閉じと読み込む] 
(´・ω・`) 2021/12/22(水) 13:04

やはり、ピボットテーブルでは難しかったです。

(´・ω・`)様の手順を試したところ惜しいところまで行きました。
すこし試してみて出来るかやってみます。

新しい機能を教えてくださり、ありがとうございました!
また、わからないことがあったらよろしくお願い致します。
(まめち) 2021/12/22(水) 13:19


店名と納品数量が被っているのですが別々のセルに分けれますでしょうか
(まめち) 2021/12/22(水) 13:40

 「被っている 」というのはどういう状況かよくわかりません
 説明をお願いします
(´・ω・`) 2021/12/22(水) 14:52

上記に書いてあるとおり
  A店 B店 C店 合計
  10 20   5  35
  20  5  20  45
   5 10   5  20
が一つのテーブルになっているので
店名 納品数量
A店   10
A店   20
A店    5
B店   20
B店    5
B店   10
C店    5 
C店   20
C店    5
このように分けるのは難しいでしょうか。
(まめち) 2021/12/22(水) 15:01

 ´・ω・`さんの手順の後、商品コード欄を昇順に並べ替え、その後属性欄(店名)を昇順に並べ替えでまめちさんの
 例と同じになったが。
(ねむねむ) 2021/12/22(水) 15:17

 ポイントは、「列のピボット解除」です。
 これをちゃんとやってますか?
(´・ω・`) 2021/12/22(水) 15:19

 商品コード、商品名の列を選択して、[変換]タブ→[任意の列]グループ→[列のピボット解除]→[その他の列のピボット解除]
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^
 ここがポイントです。

(めいぷる) 2021/12/22(水) 15:22


 こんにちは、マクロですが
 Sub Test()
    Dim v As Variant, v2 As Variant
    Dim i As Long, j As Long, k As Long

    v = Range("A1").CurrentRegion
    ReDim v2(1 To (UBound(v) - 1) * 3, 1 To 4)
    For i = 5 To 7
        For j = 2 To UBound(v)
            k = k + 1
            v2(k, 1) = v(1, i)      '店名
            v2(k, 2) = v(j, 1)      '商品コード
            v2(k, 3) = v(j, 2)      '商品名
            v2(k, 4) = v(j, i)      '納品数量
        Next
    Next
    Range("A10:D10").Value = Array("店名", "商品コード", "商品名", "納品数量")
    Range("A11").Resize(UBound(v2), UBound(v2, 2)).Value = v2
 End Sub

(ピンク) 2021/12/22(水) 15:27


ピボットの解除については、ここの図解を参考にしてください。
http://officetanaka.net/excel/function/GetAndTransform/08.htm

# ちなみに、これはピボットと反対の操作なので
# 「アンピボット」と呼ばれます。
# 「横持ち」から「縦持ち」への変換などということもあります。
(γ) 2021/12/22(水) 15:36


(´・ω・`)さん、めいぷるさん返信ありがとうございます。
はい、ちゃんとその他の列のピボット解除しています
(まめち) 2021/12/22(水) 15:54

Yさんありがとうございます(;_;)
(まめち) 2021/12/22(水) 16:19

 ピボット解除までやったら、PowerQueryエディターの 
 [ホーム]タブ→[クエリ]グループ→[詳細エディター]を開いて、
 その画面のテキストをこのスレッドにそのままコピペしてください。

 私の書いた段階を踏んだら、こんな感じになってるとおもいます。(細部は異なるかも)
 let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{"商品コード", Int64.Type}, {"商品名", type text}, {"容量", Int64.Type}, {"納品日", type datetime}, {"A店", Int64.Type}, {"B店", Int64.Type}, {"C店", Int64.Type}, {"合計", Int64.Type}}),
    削除された列 = Table.RemoveColumns(変更された型,{"容量", "合計", "納品日"}),
    ピボット解除された他の列 = Table.UnpivotOtherColumns(削除された列, {"商品名", "商品コード"}, "属性", "値")
 in
    ピボット解除された他の列
(´・ω・`) 2021/12/22(水) 16:38

合計列を削除したあと、A店、B店、C店の列を選択した状態で、
その列の
「選択した列のみピボット解除」をすればよいのです。

・どの列を選択して、「その他の列のピボット解除」するのか、
または、
・どの列を選択して、「選択した列のみピボット解除」をするのか
意味を考えながら操作してください。

(γ) 2021/12/22(水) 16:55


皆さんありがとうございました
出来るようになりました、本当にありがとうございました。
(まめち) 2021/12/22(水) 17:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.