2

Получил вопрос по Excel. Я бросаюсь перед богами Excel и молюсь за вашу милосердную помощь!

Каждый раз, когда сотрудник чихает, я помещаю это в таблицу ниже. Если в любой семидневный период есть четыре или более чихания, то это одно НАРУШЕНИЕ.

Мне нужно знать, сколько нарушений имеет каждый сотрудник. (То есть мне нужна помощь в заполнении столбца C ниже. Скриншот ниже был сделан вручную.)

Вот несколько основных правил:

  1. Каждая строка указывает на чихание, даже если третий столбец пуст. (Слово "НАРУШЕНИЕ" указывает на первое чихание в группе из четырех и более человек. Слово "чихать" означает чихание в расчете на НАРУШЕНИЕ.)
  2. Семидневный период включает в себя первый и седьмой дни. Например, с пятницы 1 января по четверг 7 января - семидневный период.
  3. Несколько чихов в один день учитываются в "четырех или более" (см. Строки 17–23 ниже, где в течение семи дней выпало 8 чихов, но 7 из этих чихов были в один и тот же день).
  4. Однократное нарушение определяется как любые четыре или более чихает падающими в течение любого периода в семь дней. Например: четыре чихания в один день, и ни один в течение следующих шести дней не является единственным нарушением. Например, десять чиханий в день в течение семи дней - это одно нарушение.
  5. Семидневные периоды могут иметь перекрывающиеся дни. Это большая головная боль для меня. Смотрите строки 31-36 ниже. Кара Коччи чихала 6 раз за восьмидневный период с 24 июня по 1 июля. Это составляет два семидневных периода, один из которых начинается 24 июня, а другой - 25 июня. Если бы она не чихнула 1 июля, было бы только одно НАРУШЕНИЕ, потому что был бы только один семидневный период.
  6. Количество чиханий в течение семидневного периода является переменным, но всегда должно быть четыре или более.

Я хотел бы определить дискретные семидневные периоды, которые содержат четыре или более чиха. Мне нужно указать, что у Арни и Кары два нарушения, а у Фофи одно. Было бы идеально, если бы я мог воссоздать столбец C в точности так, как показано: "НАРУШЕНИЕ" показывает первый экземпляр семидневного периода, содержащего четыре или более чиха, а "чихание" показывает вспомогательные экземпляры, считая до "четырех или более". "

Я отредактирую свой вопрос, поскольку ваши комментарии требуют уточнений. Спасибо!

name,date,violation
ARNIE AARON,5/6/2014
ARNIE AARON,5/13/2014,VIOLATION
ARNIE AARON,5/14/2014,sneeze
ARNIE AARON,5/16/2014,sneeze
ARNIE AARON,5/19/2014,sneeze
ARNIE AARON,5/19/2014,sneeze
ARNIE AARON,5/21/2014
ARNIE AARON,6/9/2014
ARNIE AARON,8/29/2014
ARNIE AARON,10/3/2014
ARNIE AARON,10/10/2014
ARNIE AARON,10/14/2014
ARNIE AARON,12/31/2014
ARNIE AARON,1/20/2015
ARNIE AARON,1/23/2015
ARNIE AARON,3/13/2015,VIOLATION
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/13/2015,sneeze
ARNIE AARON,3/16/2015,sneeze
ARNIE AARON,4/16/2015
BART SEEBER,2/17/2014
BART SEEBER,2/17/2014
BART SEEBER,4/7/2014
BART SEEBER,4/30/2014
CARA COCCI,6/6/2014
CARA COCCI,6/24/2014,VIOLATION
CARA COCCI,6/24/2014,sneeze
CARA COCCI,6/25/2014,VIOLATION
CARA COCCI,6/25/2014,sneeze
CARA COCCI,6/25/2014,sneeze
CARA COCCI,7/1/2014,sneeze
DODI DEDDER,10/4/2013
DODI DEDDER,2/26/2014
DODI DEDDER,3/28/2014
EVIE EELANDE,10/31/2013
EVIE EELANDE,10/31/2013
EVIE EELANDE,1/12/2015
FOFI FAFARAZA,6/4/2013,VIOLATION
FOFI FAFARAZA,6/4/2013,sneeze
FOFI FAFARAZA,6/4/2013,sneeze
FOFI FAFARAZA,6/4/2013,sneeze

1 ответ1

0

Чтобы решить вашу проблему, вам нужно использовать набор функций IF и COUNTIFS с умным сочетанием объективных и относительных ссылок.

Моя формула следует перефразированной логике вашего вопроса (результаты будут такими же):

  1. Если на указанную дату уже существует VIOLATION для данного лица, тогда фактическая строка будет содержать чихание
  2. В противном случае, если в течение семи дней для данного человека указано не менее 3 строк (четвертый экземпляр всегда является текущей строкой), верните VIOLATION
  3. В противном случае, если в течение предыдущих семи дней для данного лица произошло VIOLATION , верните чихание
  4. В противном случае не заполняйте ячейку

=IF(COUNTIFS($A$1:A1,A2,$B$1:B1,B2,$C$1:C1,"VIOLATION")>0,"sneeze",IF(COUNTIFS(A3:$A$46,A2,B3:$B$46,"<"&B2+7)>=3,"VIOLATION",IF(COUNTIFS($A$1:A1,A2,$B$1:B1,">"&B2-7,$C$1:C1,"VIOLATION")>0,"sneeze","")))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .