Excel - 日付を並べ替えて重複を削除するマクロ

問題

私たちがその年に手に入れたすべての処方箋のリストがあるとします。

  • 薬ごとに新しい行が作成されます。
  • 列Aは日付、列Bは薬局名、列Cは薬を示します。

その薬局への旅行で複数の薬を拾う場合、私のテーブルは同じ日付と同じ薬局名を持つ複数の行を表示し、それらの行の薬の名前だけを変更します。

各薬局に行った回数を数えたいのですが。 その日に複数の薬を服用した場合、その薬局を3回(各行に1つ - 各行を覚えている場合は1つの薬のみがリストされます)、列Aには同じ日付がリストされます。 3回。 したがって、私が実際に一度だけ行ったときに、薬局名で列を数えるだけで3の答えが返されることがあります。

だから私はどうやってCVSに行った回数を数えることができるでしょうか(例えば、その旅行でもっと薬を拾ったときにその薬局のために列Aにリストされた重複日付を排除する)。その薬局名は、それが以前に数えられていない一意の日付である場合に限ります。

溶液

あなたはこれを行うことができます :

  • 1.(E29セルから始まるサンプルファイルの)旅程の日付の範囲をDATESにします。
  • 2.薬局の名前が「PHARMA」である範囲に名前を付けます。 (セルF29から始まるサンプルファイル)
  • 3これが終わったら、薬局の名前があるリストに移動します。 サンプルファイルに基づいて、セルF13に以下の式を入力します。 数式について数式を貼り付けた後は、Enterキーを押すのではなく、CtrlキーとShiftキーを押しながらShiftキーを押しながらEnterキーを押しないでください。 正しく行った場合は、数式バーの数式が{}で囲まれていることに気付くはずです。 下記の計算式はサンプルブックに基づいています

 = SUM(IF(頻度(IF((LEN(日付&PHARMA)*(PHARMA = E13))> 0、MATCH(日付&PHARMA、日付&PHARMA、0)、 "))、IF((LEN(DATES& PHARMA)*(PHARMA = E13))> 0、MATCH(DATES&PHARMA、DATES&PHARMA、0)、 ""))> 0, 1, 0)) 

以下の式で、E13はサンプルブックの最初の行です。 貼り付けたら、 Ctrl + Shift + Enterキーを押しながらドラッグして、残りの製薬会社をカバーします

ご了承ください

フォーラムでこのヒントを寄せてくれたrizvisa1に感謝します。

前の記事 次の記事

トップのヒント