1

私は通常、Python または VBA に関する質問をしますが、これは過去 4.5 時間私を悩ませてきました。マクロを完了するために必要なのですが、div/0 エラーが発生しています。

Excel には 5 つの列があります: 1. アイテムがキューに入った日付 (A)
2. アイテムがキューに入った時刻 (B)
3. アイテムがキューから出た日付 (C)
4. アイテムが出た時刻キュー (D)
5. アイテムがキューにあった時間 (E)

昨日の 16:00 から今日の 16:00 までの間にキューに出入りしたアイテムの平均時間が必要です。また、1 未満の数値は無視されます (アイテムが 24 時間以上そこにある場合、デフォルト値は負になるため)。

私はこれを試してみましたが、結果はありません:(

=AVERAGEIFS(E1:E4,A1:A4,"=today()-1",B1:B4,">16:00",C1:C4,"=today()",D1:D4,"<16: 00")

どんなアイデアでも大歓迎です!前もって感謝します :)

4

2 に答える 2

1

「昨日の16:00から今日の16:00までに列に出入りしたアイテム」を探している場合、それらの一部が今日列に入った(または昨日列を離れた)可能性はありませんか?だとしたら、今日入った商品もチェックしないといけませんよね?関数でこれを行うのは困難ですAVERAGEIFS。次のような「配列数式」を使用する方が簡単かもしれません。

=AVERAGE(IF(A1:A4+B1:B4>=TODAY()-1/3,IF(C1:C4+D1:D4<TODAY()+2/3,E1:E4)))

CTRL+ SHIFT+で確認ENTER

負の値は 24 時間以上存在するアイテムに対してのみ発生し、IF 関数はそれらを除外するため、数式で負の値を明示的に処理する必要はないと想定しています...

AVERAGEIFS で同じことをしたい場合、例えば、列 G が列 A と B の合計で、列 H が列 C とD このバージョンを使用できます

=AVERAGEIFS(E1:E4,G1:G4,">="&TODAY()-1/3,H1:H4,"<"&TODAY()+2/3)

>= と < を意図的に使用して、数日間の二重カウント/非カウントを回避したことに注意してください

于 2013-08-22T13:54:47.707 に答える