2017-10-15 5 views
0

私が使用している機能が間違っているのか、それともExcelで日付を認識できないのか分かりません。私はすでにフォーマットをチェックしています。日付とデータを一致させてから値を返す方法をExcel

私は列

 A  B    
1 CoyVCD 12/21/2012 
2 CoyVCE 12/24/2012 
3 CoyVCI 12/24/2012 
4 CoyVCC 12/25/2012 
5 CoyVCC 12/26/2012 
6 CoyVCE 12/26/2012 
7 CoyVCD 12/27/2012 
8 CoyVCH 12/27/2012 

にこのデータを持っていると私は真/偽の一致のための結果の値と異なるフォーマットでそれを必要とします。私が欲しい

フォーマットは私の希望のフォーマットで

  D   E   F   G   H   I 
    7   12/21/2012 12/22/2012 12/23/2012 12/24/2012 12/25/2012 
8 CoyVCD        
9 CoyVCE          
10 CoyVCI 
11 CoyVCC                               
12 CoyVCH           
13 CoyVCA                               

日付が連続していますさ。上記の列のデータは、各「Coy」データ値に対して特定の日付(連続していない)を持っています。 Aの "Coy"の値がDの値と一致し、Bの日付がEの値と一致する場合は、結果の値が1である必要があるという形式の各セルに式を入力します。そうでない場合は、0が値になります。

私が試してみました= IF((COUNTIFS(A:A,A1,D:D,D8)+(B1=E7)),"1","0")

私も試してみました= IF((COUNTIFS(A:A,A1,D:D,D8)+COUNTIFS(B:B,B1,E:E,E7))"1","0")

しかし、私は唯一の成功し入力すると、一致する日付を認識していないようだ最初の1を取得し、間違った値を返すことができます、または式の後半部分をすべて一緒に残しています。

たとえば、正常に動作した場合、E8に1、E9に0があります。

私はこれに助けていただきありがとうございます。ありがとう。

答えて

1

絶対、相対、および混合参照を理解して、数式を正しく動作させる必要があります。いくつかの参照は、A列とB列の範囲など、固定されたままにする必要があります。この数式は、サンプルデータの範囲で機能します。

=SUMPRODUCT(($A$1:$A$8=$D8)*1,($B$1:$B$8=E$7)*1) 

あなたは、$ Aを使用することができます:あなたが拡大してリストを処理する必要があるが、それは式多くが遅くなる場合は代わりの$ B:$ Aと$ Bを。

最初にソースデータを選択してからテーブルを挿入すると、数式が高速化されます。次に、テーブル内のデータ範囲を選択するSUMPRODUCT式を作成します。 SUMPRODUCT式のテーブルと参照は、新しい行とともに自動的に展開されます。

1

また、ピボットテーブルを挿入して組み合わせを数えることもできます。

さらに、新しいデータを自動的に展開するために、最初にテーブルを挿入します。次に、ピボットテーブルを挿入し、Coy値を行ラベル、日付値を列ラベルに設定し、いずれかのフィールドを値にドラッグして組み合わせを数えます。テーブルに値を追加したら、ピボットテーブルを右クリックし、[更新]をクリックします。

IMG

1

使用することができる別の式は、セルE8及び範囲E8にコピー

=MIN(1,COUNTIFS($A:$A,$D8,$B:$B,E$7)) 

場所である:I13。

+0

これは、完全な列参照を使用する場合にはるかに効率的です。 – Michael

関連する問題