2014-02-19 3 views
0

У меня есть список данных о продажах, который включает дату продажи, а также код типа продаж. Я пытаюсь использовать COUNTIFS, чтобы подсчитать, сколько продаж определенного типа было в течение каждого месяца.Excel Countif с использованием месяца и буквы в качестве критерия

Так, например:

Date.     Sales Type Code 
10/01/2014.     S 
12/01/2014.     S 
15/01/2014.     O 
18/01/2014.     S 
02/02/2014.     O 
08/02/2014.     S 

даст мне следующие результаты:

Code S 

January -  3  
February -  1 

Code O 

January -  1 
February -  1 

У меня есть формула

COUNTIFS('SALES LEDGER'!A:A,F2,'SALES LEDGER'!C:C,"<"&EOMONTH('MONTH Sales by Sales Type'!$C$1,0)+1) 

Где A: список продаж Тип Коды, F2 - это код, который я хочу подсчитать, C: C - список дат, а C1 - первый месяц, который я хочу подсчитать (например, 01/01/2014).

Это работает отлично на январь, что дает мне ожидаемый результат. Но когда я смену C1 на 01/02/2014, он рассчитывает на январь и февраля вместе, а не только на февраль.

Если у кого-то есть предложения, это будет оценено!

Благодаря

+1

Добро пожаловать в StackOverflow, что Excel? Или вы хотите его в других форматах/языковых программах? – Llopis

+1

@ Llopis Да, это отлично - извините, должно было сказать! – Textiled

+0

Ожидаете ли вы решения в формулах Excel? Или просто для решения этой проблемы в этой формуле. Или с другим скриптом с другим языком программирования? – Llopis

ответ

2

Ваша COUNTIFS формула определяет дату окончания, но дата начала, если вы хотите, чтобы рассчитывать на определенный месяц и год (на основе С1) вам нужен другой критерий для определения даты начала с помощью C1, т.е.

=COUNTIFS('SALES LEDGER'!A:A,F2,'SALES LEDGER'!C:C,"<"&EOMONTH('MONTH Sales by Sales Type'!$C$1,0)+1,'SALES LEDGER'!C:C,">="&'MONTH Sales by Sales Type'!$C$1)

+0

Работает отлично, спасибо! – Textiled

0

с кодом ниже вы можете получить в месяц каждая дата находится в:

dim objDate as Date 
dim i as integer 
dim intMonth as integer 

for i = 2 to 'number of row 
    objDate = CDate(cells(i, 1)) 
    intMonth = Month(objDate) 
next i 

После выяснить месяц с помощью простого цикла можно подсчитать количество продаж в каждом месяце.

0

Предполагая:

  • она поддается использовать вспомогательные столбцы
  • Даты в седловине A
  • Продажа Тип Коды в Col B
  • Результаты, помещенные в A9: C11

Скриншот:

enter image description here

Добавить вспомогательный col C для извлечения месяца с даты.Добавить эту формулу в C2 и перетащите вниз:

=TEXT(A2,"Mmm") 

Добавить эту формулу в B10 и перетащить вниз и поперек:

=COUNTIFS($B$1:$B$7,B$9,$C$1:$C$7,$A10) 
1

Вы можете использовать это (если диапазон с датами не содержит пустой клетки):

=SUMPRODUCT((MONTH(A2:A100)=1)*(B2:B100="S")) 

или (если диапазон может содержать пустые ячейки)

=SUMPRODUCT((TEXT(A2:A100,"mmm")="Jan")*(B2:B100="S")) 

Если вам нужно добавить еще год состояние, просто добавьте *(YEAR(A2:A100)=2014) в любой формуле:

=SUMPRODUCT((TEXT(A2:A100,"mmm")="Jan")*(YEAR(A2:A100)=2014)*(B2:B100="S"))