私は、1) 時間を追跡し、2) イベントの種類を追跡するために Excel データベースを作成しています。Sheet1 に、特定の日付の個々のイベントと費やした時間を入力します。私の目標は、Sheet2 で統合することです。
シート1
日付 | イベントタイプ | 所要時間(分) |
---|---|---|
2021-12-09 | 管理 | 10 |
2021-12-09 | 理事会会議 | 60 |
2021-12-05 | 地域奉仕 | 90 |
2021-12-05 | 管理 | 10 |
2021-12-05 | 準備 | 5 |
シート2
日付 | イベント | 合計時間 (hh:mm) |
---|---|---|
2021-12-09 | 運営、評議会会議 | 01:10 |
2021-12-05 | 管理、コミュニティサービス、準備 | 01:45 |
SUMIF を使用して Sheet2!C2:C3 を実行する方法はわかりましたが、Sheet2!B を実行するにはどうすればよいでしょうか?
どうもありがとう
答え1
答え2
Office 365をお持ちでない場合は、Power Query
Windows Excel 2010以降で利用可能なを使用して目的の出力を取得できます。
- 元のテーブル内のセルを選択します
Data => Get&Transform => From Table/Range
- PQ UIが開いたら、
Home => Advanced Editor
- コードの 2 行目のテーブル名をメモします。
- 既存のコードをMコード下に
- 貼り付けたコードの2行目のテーブル名を「実際の」テーブル名に変更します。
- コメントや
Applied Steps
ウィンドウを調べて、アルゴリズムと手順をよりよく理解してください。
Mコード
let
Source = Excel.CurrentWorkbook(){[Name="Table24"]}[Content],
//set data types
#"Changed Type" = Table.TransformColumnTypes(Source,{
{"Date", type date}, {"Event Type", type text},
{"Time Spent (Minutes)", Int64.Type}}),
//Group by Date
// Aggregate by concatenating Event Type text and SUMming Minutes
// (change minutes => duration to get desired output format
#"Grouped Rows" = Table.Group(#"Changed Type", {"Date"}, {
{"Event Type", each Text.Combine(List.Sort([Event Type]),", "), type nullable text},
{"Time Spent (Minutes)", each #duration(0,0,List.Sum([#"Time Spent (Minutes)"]),0), type nullable duration}
})
in
#"Grouped Rows"