[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『週ごとに集計』(虎象)
週ごとに集計したいのですが、何かヒントをいただけたら幸いです。
よろしくお願いします。
例
基準日 分類 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.