Если у вас есть диапазон ячеек, заполненных случайными, несортированными датами, вы можете выяснить, сколько из этих дат попадает между датой начала и датой окончания. Например, если B1: B101 содержит случайные даты, ячейка E1 содержит дату начала, а ячейка E2 содержит дату окончания, вы можете узнать, какой тип формулы вы можете использовать в ячейке E4, чтобы вернуть количество дат в B1. : B101, которые попадают между E1 и E2.

На самом деле есть несколько разных способов прийти к решению.

Первым, конечно же, было бы просто добавить формулу в каждую ячейку справа от дат в столбце B и заставить эту формулу возвращать 1, если дата находится между E1 и E2, или 0, если нет. Затем вы можете суммировать столбец, чтобы получить желаемое количество. Вы можете использовать следующую формулу в каждой ячейке справа от дат:

=IF(AND(B1>=E$1,B1<=E$2),1,0)

Эта конкретная формула попадает в ячейку C1, а затем может быть скопирована в ячейки с C2 по C101. Затем в ячейке E4 все, что вам нужно сделать, это использовать следующую формулу:

=SUM(C1:C101)

Недостатком этого, конечно же, является то, что дополнительные значения в C1: C101 могут разрушить внешний вид тщательно созданного рабочего листа. К счастью, есть способы найти правильный результат без необходимости использовать промежуточное значение.

Один из способов — использовать формулу массива. Следующая формула, помещенная в ячейку E4, сделает свое дело. Все, что вам нужно сделать, это не забыть ввести формулу, используя Shift + Ctrl + Enter. (Для Excel это означает, что вы вводите формулу массива.)

=COUNT(IF((B1:B101>$E$1)*(B1:B101<$E$2),B1:B101))

Если вы предпочитаете не использовать формулу массива, вы можете использовать следующую стандартную формулу на основе СЧЁТЕСЛИ в E4:

=-COUNT(B1:B101)+COUNTIF(B1:B101,">"&E1)+COUNTIF(B1:B101,"<"&E2)

Когда вы вводите эту формулу, Excel будет считать, что вы возвращаете значение даты, и поэтому будет полезно отформатировать ячейку как дату. Все, что вам нужно сделать, чтобы исправить это, — это использовать Format | Ячейка, чтобы отформатировать ячейку с использованием чего-то помимо формата даты, например общего.

Формула работает путем подсчета всех дат после ранней даты плюс все даты до поздней даты. По сути, это учитывает все даты один раз и дважды учитывает желаемый выбор. Вычитая количество дат в диапазоне (в начале формулы), формула эффективно удаляет все, кроме желаемого результата.

Если хотите, вы также можете использовать функцию DCOUNT, чтобы вернуть желаемое количество. Однако это немного сложнее. В отличие от предыдущих решений, DCOUNT полагается на использование именованных диапазонов. Выполните следующие действия:

  1. Поместите пустую строку вверху ваших данных, которая сдвинет все вниз на одну ячейку.

  2. Теперь, когда ваши даты находятся в ячейках B2: B102, выберите ячейку B1 и поместите метку, например MyDates, в ячейку.

  3. Отформатируйте ячейку B1 по желанию.

  4. Выделите весь диапазон, включая метку (ячейки B1: B102).

  5. Используя поле имени (чуть выше заголовков строк и слева от заголовков столбцов), определите имя для диапазона. Имя должно совпадать с именем, которое вы использовали на шаге 2 (MyDates).

  6. В ячейках D1 и E1 поместите название вашей метки (MyDates).

  7. В ячейке D2 введите знак «больше» и нижнюю дату для диапазона дат, например «> 1/4/2002» (без кавычек).

  8. В ячейке E2 введите знак «меньше» и верхнюю дату для диапазона дат, например «<1/6/2002» (без кавычек).

  9. В ячейке E4 введите следующую формулу:

=DCOUNT(MyDates,1,D1:E2)

Функция DCOUNT использует критерии, указанные вами в D1: E2, для проверки диапазона данных, определенного как MyDates, и возврата количества ячеек, соответствующих этим критериям.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11839) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Counting_Dates_in_a_Range [Подсчет дат в диапазоне].