[ad#ad-1] 勝敗表や目標達成記録などを付けている時に、何連勝したか(何連続目標を達成したか)を確認できると便利です。

今回は、範囲の中で「最大何連勝したか」「現在何連勝中しているか」を求める方法をご紹介します。

このような勝敗表があるとします。



最大連勝数を求める

最初に「最大連勝数」を求めます。

まず計算用として、C2にセルにIF関数で、◯の場合は1、✕の場合は0と表示させます。

=IF(B2="◯",1,0)

入力したら下までコピーします。

連勝の数をカウントするため、D2セルに次のような数式を入力します。

=IF(C2=1,C2+C1,0)

入力したら下までコピーします。

この連勝欄から次のMAX関数を使って最大の数を返します。

=MAX(D2:D31)

これで範囲内の最大連勝数が8だということが分かりました。

 

現在何連勝中しているのかを求める

次に、現在何連勝中かを求めます。IF関数VLOOKUP関数TODAY関数を使って次の数式で表されます。

=IF(VLOOKUP(TODAY(),A2:D32,2)="",VLOOKUP(TODAY()-1,A2:D32,4),VLOOKUP(TODAY(),A2:D32,4))

この数式を解説すると、

もし、今日の日付の行が空欄の場合、昨日(今日ー1)の行の4列目(連勝数)を返し、そうでなければ今日の行の4列目(連勝数)を返す

となります。

上の例では今日までに4連勝していることが分かります。

これで、今日の勝敗を入力していれば今日までの連勝数を、入力していなければ昨日までの連勝数が表示されます。

[ad#ad-1]

(参考)

【Excel】「もしも~なら」の条件によって値を表示させる IF関数

【Excel】検索条件に一致する値をデータ範囲から飛ばす VLOOKUP関数

【Excel】今日の日付と時刻を表示させる TODAY・NOW関数

【Excel】範囲内の最大値・最小値を求める MAX・MIN関数