2016-10-19 7 views
0

最後に特定の値が出現しているかどうかを調べたい場合は、数式を適用します。Excelで一致する行の最終値を見つける

Machine Starttime    Alert 
a  10/19/2016 12:16:15 S 
a  10/19/2016 12:18:15 E 
a  10/19/2016 12:19:20 S 
b  10/19/2016 12:21:45 S 
b  10/19/2016 12:21:48 S 
b  10/19/2016 12:21:55 E 
a  10/19/2016 12:23:15 S 
a  10/19/2016 12:27:30 E 

マシン列はマシン名を持ち、Starttimeはその特定のイベントのログ時刻であり、アラートは終了を開始することができます。

Iは、次のような出力を必要とする:複数の開始イベントがある場合、最初のものを選択し、

Machine Starttime Alert Difference 
a 10/19/2016 12:16:15 S 
a 10/19/2016 12:18:15 E 120 
a 10/19/2016 12:19:20 S 
b 10/19/2016 12:21:45 S 
b 10/19/2016 12:21:48 S 
b 10/19/2016 12:21:55 E 10 
a 10/19/2016 12:23:15 S 
a 10/19/2016 12:27:30 E 490 

違いだけEの場合に移入され、対応する開始イベントは、そのマシンに存在します。私はちょうど(マクロなしで)数式をエクセルで可能かどうかを理解したいですか?はいの場合、どうですか?

私はすでにはい、それは可能ですが、それは簡単ではありません成功

=IF(C3="E",MATCH(A3,A2:$A$2,0),"") 

答えて

1

せずにインデックス機能を使用して、それを試してみました。これを解決するには配列式を使用する必要があります。式は次のようになります

=IF(C2="S","",(B2-MIN(IF($A$2:A2=A2,IF($C$2:C2="S",IF(ROW($A$2:A2)>MAX(IF(ROW($A$2:A2)<ROW(A2),IF($A$2:A2=A2,IF($C$2:C2="E",ROW($A$2:A2))))),$B$2:B2)))))*86400) 

最初のデータ行の列Aは、マシン名、ログ時間Bカラム、「S」/「E」C列が、2です。数式を最初のデータ行のD列に置き、Ctrl + Shift + Enterキーを押して配列式にします。数式の周りに{}が表示されます。 コピーセル(CTRL + C)と式がすでにある行を除いてすべての行に貼り付けます。

あなたはこれ以上の助けが必要な場合は、コメントを配置します。

+0

2つの連続した "E"がある場合、間違った値を与えています。 2つの "E"を持つことは時々あります。その場合、2番目の "E"を無視する必要があります –

1

これはいくつかの複雑な配列式で行うことができますが、ヘルパー式を使用するとグループを区別しやすくなります。

= (ABS(N(D1))+($A2<>$A1)) * IF(C2="S",1,-1) 

と、最終的な指数+ E2で横にマッチ式:D2の例では、あなたのサンプルデータで

=IF($C2="E", ROUND(($B2 - INDEX($B$2:$B$9, MATCH(ABS($D2),$D$2:$D$9,0)))*24*60*60,0),"") 

、それはこのようなものになるはずです。

A  B     C  D  E 
----------------------------------------------------------- 
Machine Starttime   Alert Group Index+Match 
a  10/19/2016 12:16 S  1  
a  10/19/2016 12:18 E  -1  120 
a  10/19/2016 12:19 S  1  
b  10/19/2016 12:21 S  2  
b  10/19/2016 12:21 S  2  
b  10/19/2016 12:21 E  -2  10 
a  10/19/2016 12:23 S  3  
a  10/19/2016 12:27 E  -3  255 
+0

最後の2行のグループが3であるのはなぜですか?それは同じマシンであるので1でなければなりません。私の質問にはタイプミスがあり、最後の行には時間差として490が必要です。 (これはまだ終わっていない)と最後の終了ボタンとの差である。 –

関連する問題