2017-08-24 8 views
0

私は、複数の列と毎月約8k行のワークシートを含むプロダクションログを継承しました。私は、統計タブを構築し、特定の時間枠のためにエージェントに対して記録されているユニークな日付の数を探します。Excelの配列式の修正に関する支援?

ワークシート "ログ":

Column A contains agents initials 
Column E contains case completion date 

ワークシート "統計":私は日付の期間のためのユニークな日付を特定し、次の配列を書かれている

C2 contains a dropdown of agent initials 
C5 and D5 contain dates to generate a date range 

。 !AそれはC2一致します

=SUM(IF(FREQUENCY(IF(Log!E:E>=CC1,IF(Log!E:E<=DD1,IF(Log!E:E<>"",MATCH(Log!E:E,Log!E:E,0)))),ROW(Log!E:E)-ROW(Log!E3)+1),1))

私はちょうどログ内のエージェントのイニシャルに結びつけることはできません。

+0

これはExcelファイルから取り出してデータベースに入れることをお勧めしますが、これはそのためのものです。これらのタイプを実行することができます。タスクをはるかに簡単に – jimmy8ball

答えて

0

配列式を使用する場合は、列参照全体を使用しないでください。さもなければ、それは非常に遅いことがわかります。またはExcelのリソースが不足します。お試しください...

=SUM(IF(FREQUENCY(IF(Log!$A$2:$A$100=C2,IF(Log!$E$2:$E$100>=CC1,IF(Log!$E$2:$E$100<=DD1,IF(Log!$E$2:$E$100<>"",MATCH(Log!$E$2:$E$100,Log!$E$2:$E$100,0))))),ROW(Log!$E$2:$E$100)-ROW(Log!$E$2)+1),1)) 

... CONTROL + SHIFT + ENTERで確定しました。すでに日付範囲のためにそれをテストしているので、私はまた、CONTROL + SHIFT + ENTERで確認...

=SUM(IF(FREQUENCY(IF(Log!$A$2:$A$100=C2,IF(Log!$E$2:$E$100>=CC1,IF(Log!$E$2:$E$100<=DD1,MATCH(Log!$E$2:$E$100,Log!$E$2:$E$100,0)))),ROW(Log!$E$2:$E$100)-ROW(Log!$E$2)+1),1)) 

...、空白/空のセルの列Eをテストする必要はありませんだと思う、けれども。どちらの場合も、それに応じて範囲を調整してください。

希望すると便利です。

0

ありがとうございました。リソースが不足したため、今日は2回のクラッシュでExcelの列リファレンスに関するご意見をお寄せいただきありがとうございます。

特定の時間枠に対応するためにその式を逆にしたければ、いくつのユニークな日付がログに記録されますか?しかし、C2のエージェントを無視します。それは

= SUM(IF(Log!$ A $ 2:$ A $ 300 <> C2、IF(Log!$ E $ 2:$ E $ 300> = C5、IF(Log!$ E $ 2:$ E $ 300 < = D5、MATCH(ログ!$ E $ 2:$ E $ 300、ログ!$ E $ 2:$ E $ 300,0)))))、ROW(ログ!$ E $ 2:$ E $ 300) -