[[20210215110137]] 『週ごとに集計』(虎象) ページの最後に飛ぶ

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

 

『週ごとに集計』(虎象)

週ごとに集計したいのですが、何かヒントをいただけたら幸いです。
よろしくお願いします。

基準日  分類 1日 2日 3日 4日 5日...31日
2021/1/1 2104      20 35
2021/1/1 2106      40 28
2021/2/1 2104 18 14 15 18 14
2021/2/1 2105 26 17 23 26 17
2021/2/1 2106 23 22 28 23 22
※データとしては、上記のような形で保持しています。

上記の表をもとに
基準日  分類 第1週 第2週 第3週 第4週 第5週 第6週
2021/1/1 2104
2021/1/1 2106
2021/2/1 2104
2021/2/1 2105
2021/2/1 2106
※基準日を起点として、週ごとに集計

という感じで週ごとに集計したいのですが、いい方法が浮かびません。

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


 >という感じで週ごとに集計したいのですが
 集計したいデータはどうなればいいんですか。

(SIRU) 2021/02/15(月) 11:30


下記のような感じで集計です。
よろしくお願いします。

基準日  分類 第1週 第2週 第3週 第4週 第5週 第6週
2021/1/1 2104   0  55  ..  ..  ..  ..
2021/1/1 2106 0 68 ..  ..  ..  ..
2021/2/1 2104 79 .. ..  ..  ..  ..
2021/2/1 2105 109 .. ..  ..  ..  ..
2021/2/1 2106 118 .. ..  ..  ..  ..

1月の1週目は、1〜2、2週目は、3〜9
2月の1週目は、1〜6、2週目は、7〜13

(虎象) 2021/02/15(月) 11:48


 行列番号がわかるようにしてください。
 ヒントというか、1例です。

	A	B	C	D	E	F	G	H	I	・	AG
1	基準	分類	1日	2日	3日	4日	5日				31日
2	1/1	2104			20	35					
3	1/1	2106			40	28					
4	2/1	2104	18	14	15	18	14				
5	2/1	2105	26	17	23	26	17				
6	2/1	2106	23	22	28	23	22															
・											
10	基準	分類		1週	2週	3週	4週	5週	6週		
11	1/1	2104	2	0	55						
12	1/1	2106	2	0	68						
13	2/1	2104	6	79	0						
14	2/1	2105	6	109	0						
15	2/1	2106	6	118	0

 C11 =DAY(A11+MOD(8-WEEKDAY(A11,16),7))
 表示形式「標準」、下コピー
 ※その月の第1土曜日が何日目か

 D11 =SUM(OFFSET(C2,0,0,1,C11))
 下コピー

 E11 =SUM(OFFSET($C2,0,$C11+7*COLUMN(A1)-7,1,7))
 右・下コピー
 ※実際の表がどんな配置でも COLUMN(A1)の「A1」はそのままで

 ※元表のAH列以降には数値を入力しないという前提で

 以上、参考まで
(笑) 2021/02/15(月) 16:09

返信ありませんが、解決だと思いますので、
というか、過去ログ行きとなり、もう見ていないようなので

Power Queryの勉強用に、場所をお借りします。

 1)出力結果

   基準	        分類      第1週    第2週    第3週    第4週    第5週    第6週
   2021/1/1     2104                 55				
   2021/1/1     2106                 68				
   2021/2/1     2104        79					
   2021/2/1     2105       109					
   2021/2/1     2106       118					

 2)日付関連の関数(Date.AddDays、Date.DaysInMonth)を使ってみました。
  https://modernexcel7.hatenablog.com/entry/2019/11/17/113148

 3)データがない週でも見出しは表示させるために、ダミーデータを作成し追加(念のため)。
  https://docs.microsoft.com/en-us/powerquery-m/Table-FromValue

 4)こんな感じ
 let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{"基準", type date}, {"分類", type text}}),
    ピボット解除された他の列 = Table.UnpivotOtherColumns(変更された型, {"基準", "分類"}, "属性", "値"),
    置き換えられた値 = Table.ReplaceValue(ピボット解除された他の列,"日","",Replacer.ReplaceText,{"属性"}),
    変更された型1 = Table.TransformColumnTypes(置き換えられた値,{{"属性", Int64.Type}, {"値", Int64.Type}}),
    追加されたカスタム = Table.AddColumn(変更された型1, "何週目", each Date.WeekOfMonth(Date.AddDays([基準],[属性]-1))),
    削除された列 = Table.RemoveColumns(追加されたカスタム,{"属性"}),
    週数テーブル  = Table.FromValue({1..6},[DefaultColumnName = "何週目"]),
    追加されたクエリ = Table.Combine({削除された列, 週数テーブル}),
    追加されたプレフィックス = Table.TransformColumns(追加されたクエリ, {{"何週目", each "第" & Text.From(_, "ja-JP"), type text}}),
    追加されたサフィックス = Table.TransformColumns(追加されたプレフィックス, {{"何週目", each _ & "週", type text}}),
    並べ替えられた行 = Table.Sort(追加されたサフィックス,{{"何週目", Order.Ascending}}),
    ピボットされた列 = Table.Pivot(並べ替えられた行, List.Distinct(並べ替えられた行[何週目]), "何週目", "値", List.Sum),
    フィルターされた行 = Table.SelectRows(ピボットされた列, each [分類] <> null and [分類] <> ""),
    並べ替えられた行1 = Table.Sort(フィルターされた行,{{"基準", Order.Ascending}, {"分類", Order.Ascending}})
 in
    並べ替えられた行1

(マナ) 2021/02/22(月) 20:28


コメント返信:

[ 一覧(最新更新順) ]


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