多数のトランザクションのデータセットを含むスプレッドシートがあります。各トランザクションはサブステップで構成されており、それぞれが発生した時刻を持っています。ステップの数と順序は可変です。
各取引の期間を知りたいです。Excel でこれを行うことができれば、それは既にその形式になっているので、すばらしいことです。Excel でこれを行う簡単な方法がない場合は、それをデータベースに読み込み、SQL で分析を行います。これを回避するExcelの方法があれば、数時間のセットアップを節約できます:)
私のデータの簡単な例は次のとおりです。
TransID、サブステップ、時間
1、ステップ A、15:00:00
1、ステップ B、15:01:00
1、ステップ C、15:02:00
2、ステップ B、15:03:00
2、ステップ C、 15:04:00
2、ステップ E、15:05:00
2、ステップ F、15:06:00
3、ステップ C、15:07:00
3、ステップ D、15:08:00
など
次のように結果セットを生成したいと思います。
TransID、期間 1、00:02
:
00 2、00:03:00 3、00:01:
00
など
私の最初の試みは、開始時間から終了時間を減算する数式を含む追加の列を使用していましたが、ステップ数の繰り返し、または同じ開始ステップと終了ステップがなければ、この式がどのように機能するかを理解するのが困難です。
また、このデータに基づいて、ID を行、時間をデータとしてピボット テーブルを作成してみました。時間データのフィールド設定を変更して、count や max などのグループ化された値を返すことができますが、ID ごとに max(time) - min(time) を表示するように設定する方法を理解するのに苦労しています。 SQLに向かうことを考えています。私が見逃している明らかなことを誰かが指摘できれば、とても感謝しています。
Hobbo が提案したように、TransID を行として使用し、データとして Time を 2 回追加したピボット テーブルを使用しました。最初に最大までの時間、2 番目に最小までのフィールド設定を設定した後、ピボット テーブルのすぐ外側に数式を追加して差を計算できます。ここで見落としていたことの 1 つは、同じ値をデータ セクションに複数回追加できることです。
追加の問題は、私が追加した式が =GETPIVOTDATA("Max of Time",$A$4,"ID",1)-GETPIVOTDATA("Min of Time",$A$4,"ID" という形式であることでした。 、1)、コピーして貼り付けたときに増加しません。これを解決するには、ピボット テーブル ツールバーを使用して GETPIVOTDATA 式を無効にするか、式でセルを選択するときにピボット テーブルをクリックする代わりに、代わりにセル参照を入力します (例: =H4-G4)。