2016-04-18 16 views
0

私は、列Aに名前を持ち、列Bに日付を入れたExcelテーブルを持っています。名前はそれぞれ大部分が複数あり、それぞれの日付はB列にあります。お支払い、名前は一度、日付があります。誰かが8つを受け取った場合、その名前は8つの異なる日付で8回あります。Excel複写日付の減算

私が探しているのは、それぞれの名前(オカレンスではなく同じ文字列)を取得し、同じ文字列すべての最大値と最小値の差を表示する方法です(つまり、一人一人の支払いの日付範囲)。

Excelで基本的にすべてを試しました。条件付き書式設定とピボット・テーブルは助けになりませんでした(後者はPTを使用しているときだけ減算することができます)。エントリには最小値と最大値を指定しても、手動作業には時間がかかるでしょう。テーブルには、2218の一意の名前を持つ17033行があるためです。

お手伝いできれば幸いです。私は解決策がそれほど難しくないと思うが、私は本当にその頭の中で頭を上げることはできない。

答えて

0

標準配列式を使用して、別個の名前をリストすることができます。 D2に: -

=INDEX($A$2:$A$10000,MATCH(1,(COUNTIF($A$1:$D1,$A$2:$A$10000)=0)*($A$2:$A$10000<>""),0)) 

その後、別の1は、それぞれの名前の最大を見つけると最小を減算します -

=MAX(IF($A$2:B$10000=$D2,$B$2:$B$10000))-MIN(IF($A$2:A$10000=$D2,$B$2:$B$10000)) 

しかし、これらは〜10000行と遅い - ピボットテーブルがはるかに高速です。

ピボットテーブルに値のフィールドとして最小値と最大値を入れておき、手動でもう一方の値を減算する式を追加すると、後でスクリーンショットが表示されます。

enter image description here

+0

これは素晴らしいことでした。私は非常に感謝しています。 – KGYM