1

私の問題は次のとおりです...

私は小さな飛行機を持っていて、時間を追跡する必要があります。1日の合計ではなく、セクターごとに時間を追跡する必要があります(そのため、同じ日に2つまたは3つあることがあります)。

これが問題です...列CIでは、過去7日間の時間を合計する必要があります。そして、先週だけでなく、特定の7日間。手動で行うのは非常に簡単です...問題は、レコードが非常に大きいため、式が必要なことです...

ここに小さな例を示します (2009 年 1 月 15 日より前は何時間もなかったとしましょう)...

A列-------B列-------C列

DATE-----HOURS-------HOURS 過去 7 日間

2009/01/15-------01:00-------01:00

2009/01/15-------02:15-------03:15

2009/01/16-------01:15-------04:30

2009/01/17-------01:30-------06:00

18/01/2009-------01:30-------07:30

2009/01/18-------01:00-------08:30

18/01/2009-------02:00-------10:30

2009/01/19-------02:30-------13:00

2009/01/19-------03:00-------16:00

2009/01/20-------////////--------16:00

2009/01/21-------01:00-------17:00

2009/01/22-------01:30-------15:15

2009/01/23-------02:00-------16:00

私はここ数週間、式を見つけようと戦ってきましたが、運がありません... 何か提案はありますか?

ありがとう

4

3 に答える 3

1

以前に提供されたソリューションと基本的にほとんど同じことを行う別のソリューション:

C1 に、次の式を入力します。

{=SUM(IF(($A$1:$A1>=($A1-6))*($A$1:$A1<=$A1), $B$1:$B1, 0))}

そして、数式を下にドラッグします。

配列数式に慣れていない場合、{} 外側の角かっこは、数式が配列数式であることを示しているだけです。正しく実行するには、{} ブラケット内の部分を数式バーにコピーし、Ctrl+Shift+Enter を押して配列数式であることを示す必要があります。

于 2009-05-05T03:09:37.097 に答える
1

最初に開始日を取得します。これは次の関数になります。

=Now() - 7

そのセルの名前を「WeekBegin」に変更した場合、次の式を使用して合計時間を計算できます。

=SUMIF(A:A,">=" & WeekBegin,B:B)

列参照を使用したことに注意してください。これは、式を単純化するだけでなく、新しいデータを範囲の最後に簡単に追加できるようにするためでもありました。WeekBegin セルがその列 A または列 B に 含まれないように注意する必要があります。そうしないと、循環参照の警告が表示されます。

入力範囲の上または下に数値データを含める予定の場合は、次のように合計と基準の範囲を明示的に呼び出す必要があります。

=SUMIF(A2:A14,">=" & WeekBegin,B2:B14)

さらに、結果が最初は 10 進数として表示されることがあります。これは Excel の日付シリアル形式であるため、結果を時間としてフォーマットする必要がある場合があります。

それが役立つことを願っています!

[編集: 2 回目のパスで、開始日と終了日 (つまり、投稿で暗示しているように 7 日間) に基づいて範囲を合計する場合は、前の投稿者のメモを探します。つまり:

=SUM(B:B) - SUMIF(A:A, "<="& BeginDate, B:B) - SUMIF(A:A, ">"& EndDate, B:B) 

Excel 2007 では、SumIFS() 関数を使用して、より洗練されたソリューションが提供されます。

=SUMIFS(B:B, A:A, ">=" & FromDate,A:A, "<" & ToDate)

SUMIFS の引数は、標準の SUMIF とは順序が異なることに注意してください。

ハッピーサミング!】

于 2009-05-04T15:27:25.770 に答える
0

誰かが試してみたい場合のより良い形式のデータは次のとおりです。

15-Jan-2009 01:00
15-Jan-2009 02:15
16-Jan-2009 01:15
17-Jan-2009 01:30
18-Jan-2009 01:30
18-Jan-2009 01:10
18-Jan-2009 02:00
19-Jan-2009 02:30
19-Jan-2009 03:00
20-Jan-2009 
21-Jan-2009 01:00
22-Jan-2009 01:30
23-Jan-2009 02:00

私は機能を得ました:

=SUM($B$1:$B$13)-SUMIF($A$1:$A$13, "<="& (A1- 7), $B$1:$B$13) - SUMIF($A$1:$A$13, ">"& (A1), $B$1:$B$13)

これは、現在までの条件付きの名前付き範囲の合計に基づいていましたか? . アイデアは、最初に合計を計算することです。 SUM($B$1:$B$13)

次に、7 日より前に発生した値を減算します。SUMIF($A$1:$A$13, "<="& (A1- 7), $B$1:$B$13)

次に、将来発生した値を減算します。SUMIF($A$1:$A$13, ">"& (A1), $B$1:$B$13)

ポイントは、「与えられた条件で指定されたセルを追加する」SUMIF関数を使用することです。

于 2009-05-04T08:52:21.040 に答える