1

Created Date と Closed Date の 2 つの列を持つ Excel テーブルがあります。ライフタイム値の特定の範囲内のレコードの数を取得しようとしています (ライフタイム = 作成日と終了日の間の日数)。たとえば、有効期間が 40 日以上のレコードの数。

テーブルを変更して新しい列を追加することはできません (メイン シートをデータで変更せずに、別のシートで計算を実行しようとしています)。

私がやろうとしたことはこれです:

=COUNTIF(DATEDIF(MyTable[CreatedDate], MyTable[ClosedDate], "d"), "> 40")

その数式は機能しません。いくつかの理由があると思います: DATEDIF に範囲を渡すことはできません。また、DATEDIF は離散値を返しますが、COUNTIF は範囲を想定しています。

私がやろうとしていることは明らかにRangesではうまくいかないようです。2 つの範囲間で DATEDIF を実行する方法はありますか?新しい範囲を返し、それを COUNTIF できるようにしますか? または、私の目標を達成するための他の方法はありますか?

いくつかのサンプル データ (Lifetime はテーブルの実際の列ではなく、便宜上ここに含まれています):

Created Date      Closed Date      Lifetime
9/20/2012         10/19/2012       29
9/20/2012         10/27/2012       37
9/20/2012         12/26/2012       97
9/20/2012         10/23/2012       33
9/20/2012         11/23/2012       64
10/19/2012        12/14/2012       56

注: すべてのレコードには有効な作成日と終了日があります。

更新: @pnuts は、機能する場合と機能しない場合がある数式を提案しました。

=COUNTIF(MyTable[ClosedDate], ">"&MyTable[CreatedDate]+40)

何が起こっているのか正確にはわかりませんが、ワークシートのどのセルにその数式を入れるかによって、異なる結果が得られます。これはスクリーンショットです。数式バーに表示されているように、すべてのセルには同じ数式があります。

ここに画像の説明を入力

私のサンプル Excel ファイルで試してみたい方は、こちらから入手できます:サンプル Excel ファイル

4

2 に答える 2

1

次の配列数式を使用します (Ctrl+Shift+Enter):

=SUM(IF((Table[ClosedDate])-(Table[CreatedDate])>=40,1,0))

于 2013-09-25T04:20:17.103 に答える