2012-01-03 2 views
1

В настоящее время я использую сложную COUNTIFS() заявление:Excel: как сделать что-то вроде: выберите count (col3, col4, col5, col6, col7) из TBL, где col2 = '1-Jan';

=countifs($B$2:$B$B1000,"="&L7,'Sheet2'!$C$2:$C$1000,"*")+ 
countifs($B$2:$B$B1000,"="&L7,'Sheet2'!$D$2:$D$1000,"*")+ 
countifs($B$2:$B$B1000,"="&L7,'Sheet2'!$E$2:$E$1000,"*")+ 
countifs($B$2:$B$B1000,"="&L7,'Sheet2'!$F$2:$F$1000,"*")+ 
countifs($B$2:$B$B1000,"="&L7,'Sheet2'!$G$2:$G$1000,"*") 

, который эффективно выполняет полное сканирование таблицы для каждого столбца и невероятно медленно. Там имеет, чтобы быть лучшим способом сделать это! Предложения?

То, что я пытаюсь выполнить подсчет количества клеток, которые имеют что-то в них для данной даты:

date | Col1 | Col2 | Col3 | Col4 | 
--------------------------------------------------- 
    1-Jan | A |  A |   | A  | 
    1-Jan | A |   |   | A  | 
    2-Jan | A |   |   |   | 
    2-Jan | A |  A | A | A  | 
    2-Jan | A |   |   |   | 


    Day | Totals | 
------------------- 
    1-Jan | 5 | 
    2-Jan | 6 | 

ответ

4

Не уверен, если это будет быстрее ..... но, конечно, короче

= SUMPRODUCT (($ B $ 2: $ B1000 = L7) * (Лист2 $ C $ 2: $ G $ 1000 <> ""))

+0

Это потрясающе! Это ускоряет процесс как минимум в 1000 раз! Благодаря! – Jim