2016-12-16 4 views
1

1つの列の日付が別の列の日付を超える回数をカウントします。私はすでにこれを行う方法を見つけたようですが、私は最初の数式で何が間違っているのかを知りたいと思います。範囲内のCountifの日付が他の範囲の日付を超えています

17-4-2016。 。 。 21-3-2016

17-6-2016。 。 。 11-11-2016

17-6-2016 。 。 15-4-2016

23-3-2017。 。 。 1-4-2016

23-3-2017。 。 。 23-3-2016

23-3-2017。 。 。 26-9-2016

23-3-2017。 。 。 1-4-2016

23-3-2017。 。 。 12-4-2016

23-3-2017。 。 。 11-4-2016

23-3-2017。 。 。 15-4-2016

私自身の公式:= COUNTIF(B1:B10; ">" & A1:A10)は、私に0の値を与えますが、1の日付は対応するセルの日付をはっきりと超えています。

は私が動作するように、この式を見つけました:= SUMPRODUCT( - (B1:B10> A1:A10))私は自分の式に誤りを知りたいのですが1

の正しい値を与え、第2の方法がどのように機能するかについて説明します。

+0

さて、まず最初にあなたの日付は、Excelの日付ではないということです。 Excelは日付を 'MMDDYYYY'という形式で認識し、あなたは' DDMMYYYY'を持っていますので、日付の代わりにテキストとして評価しています。次に、第2部分の「countif」、基準、比較のための全範囲の代わりに範囲の最後の値を取って、各行を比較しないと思います。 – Mike

+0

すべてのセルを日付形式に変換すると、数式を '= COUNTIF(F1:F10、"> "&E1:E10)-1' – Mike

+0

に更新すると動作します。 – Mike

答えて

0

セルの値をすべて、Excelが認識して日付として扱う日付形式に変換する必要があります。現在、彼らはほとんどをテキストとして扱っています。いったんこれを行うと、後で列 "B"に1を増やすように日付の一部を変更したとしても、数式を少し変更するだけで結果が得られます。

=COUNTIF(B1:B10,">"&A1:A10)-1 

このような何かを日付に変換します:

=CONCATENATE(MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-(FIND("-",A1)+1)),"/",LEFT(A1,FIND("-",A1)-1),"/",RIGHT(A1,4))