2016-08-17 2 views
0

私は(最小実行可能な製品として)このようになりますExcelでテーブルを持っている:Excelのユニークな値の日付範囲は?

ID  Date 
------- -------------- 
1  10/5/1984 
1  10/5/1985 
1  10/5/1986 
2  10/5/1984 
2  10/5/1985 
3  10/5/1984 

目的は、すべてを削除する目的で、出力に> = 2年の期間を持っているだけでそれらのIDです2年間のポロイドをカバーしていないリストのID。それを行う最善の方法は何でしょうか?

例の結果は次のようになります。

ID  >= 2 Years? 
------- -------------- 
1  Yes 
2  No 
3  No 

が、本当に、それはOKですが、私はそれぞれの固有のIDのためにどのように行うのか分からないんどのような方法。

初めての投稿ですので、もっと情報を提供する必要がある場合はお知らせください。ありがとうございます。

+0

あなたが見ている全体的な日付範囲のどのような? (Excelは1900年以前の日付を非常にうまく処理していないことに注意してください。) –

+0

これらの日付が作成され、実際の日付はすべて過去25年間の日付です。私は最も古い日付が1990年からだったと思います、それはあなたが望んだ答えですか? – Marc

+0

はい。ありがとうございました。古い日付で作業する必要があった場合、それはもっと難しくなります。私は、古い日付を扱うのではなく、あなたが興味を持っているものにちょうど関連する答えを保持するために、1880年代の代わりに1980年代の日付を更新するために投稿を編集することを提案します。 –

答えて

0

2つの式は、あなたがやりたいことになります。

配列数式:

=IF(DATEDIF(MIN(IF($A$2:$A$7=E2,$B$2:$B$7)),MAX(IF($A$2:$A$7=E2,$B$2:$B$7)),"Y")>=2,"YES","NO") 

は、配列数式なので、それは、編集モードを終了するときはCtrl-Shiftキーを押しながら入力する代わりに入力して確認する必要があります。 Excelが正しく実行されると、Excelは式の周りに{}を配置します。

非CSE式(通常は入力した):

=IF(DATEDIF(AGGREGATE(15,6,$B$2:$B$7/($A$2:$A$7=E2),1),AGGREGATE(14,6,$B$2:$B$7/($A$2:$A$7=E2),1),"y")>=2,"YES","NO") 

enter image description here

+1

これは完璧に機能しました!本当に感動しました。あなたはとても早くそのことを知っています。 – Marc