2015-03-29 2 views
0

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

Вот некоторые примеры значений я хочу, чтобы иметь возможность рассчитывать:

2002-07-? 
2010-11-27 
2009-10-21 
2009-10-21 
2004-12-20 


2004-11-07 
2010-11-? 
2004-09-17 
2000-?-? 
2005-04-26 

Это, как я хочу выход быть:

Unknown 2 
2000 1 
2001 0 
2002 1 
2003 0 
2004 3 
2005 1 
2006 0 
2007 0 
2008 0 
2009 2 
2010 2 

Если я использую = COUNTIF (A1: A12; «2000 *») Я получаю только те ячейки, которые являются строками. Есть ли способ, который я мог бы считать как датами, так и строками?

+0

насчет суммируя вашу даты формулы и строковая формула? – Porcupine911

+0

Как? Нужно ли иметь COUNTIF для диапазонов дат и COUNTIF для строковых значений? – KungWaz

+0

Да, вы бы. '= COUNTIF (...) + COUNTIF (...)' – Porcupine911

ответ

1

Используйте вспомогательный столбец и использовать следующую формулу, чтобы извлечь год:

=IF(ISTEXT(A1);LEFT(A1;4);TEXT(A1;"YYYY")) 

Затем использовать существующую =COUNTIF() формулы, но без шаблона * аргумента:

=COUNTIF(A1:A12;"2000") 
+0

Я изменил его на это: = IF (ISTEXT (A1); LEFT (A1; 4); YEAR (A1)), и теперь он работает :) – KungWaz

+0

Конечно, нет нужно отформатировать год, если это уже действительная дата - d'oh! Я также обновляю свой ответ, чтобы использовать правильный региональный разделитель. –

+0

Есть ли причина, почему вы использовали «,» вместо «;» как разделитель? Мой Excel не принимает «,». – KungWaz

0

Не получили Excel, чтобы проверить это, но я считаю, что у вас может быть другой столбец, который преобразует значение в текст - я думаю, что это =TEXT(A1,"<format>"), а затем просто сделайте свой «countif».

EDIT: Забыл о втором аргументе. Я удивлен, что он не работал с аргументом «yyyy».

+0

Если я использую = TEXT (A1), я получаю сообщение об ошибке «несколько аргументов», и если я использую = YEAR (A1), он не обрабатывает «сломанные "значения даты. Я также пробовал = TEXT (A1; «yyyy») без успеха. – KungWaz

+0

Формула '= TEXT()' требует формата вывода в дополнение к ссылке на ячейку, например. '= TEXT (A1," @ ")' –

Смежные вопросы