excel использование оператора if приводит к функции countif

excel использование оператора if приводит к функции countif

Я создал таблицу "tblVehicleDailyUse", в которой (помимо прочего) перечислены дата, идентификатор транспортного средства и имя водителя. Используя данные из этой таблицы, я пытаюсь заполнить матрицу, начинающуюся с ячейки B4, перечисляя каждое транспортное средство и водителя, который управлял рассматриваемым транспортным средством больше всего за последние 30 дней. Уравнение ниже помещается в ячейку D4.

Я попытался использовать следующее уравнение, но оно просто возвращает #ЗНАЧЕНИЕ! в каждой строке массива. Я также пробовал использовать статическое имя драйвера — все безрезультатно.

=МАКС(СЧЕТЕСЛИ(ЕСЛИ((таблицаЕжедневногоИспользованияТранспортногоСредства[[#Данные],[CCH VID]]=$B4)(tblVehicleDailyUse[[#Данные],[Дата]]<=СЕГОДНЯ())(tblVehicleDailyUse[[#Данные],[Дата]]>=СЕГОДНЯ()-30), tblVehicleDailyUse[[#Данные],[Водитель]],0), tblVehicleDailyUse[[#Данные],[Водитель]]))

Что я сделал не так или это вообще возможно? Спасибо.

Пример данных:

ДАТА ВИД ВОДИТЕЛЬ
01/10/2022 А001 Джон Доу
01/10/2022 Б015 Сэм Слэйд
01/10/2022 С003 Джейн Доу
01/10/2022 АВС001 Том Смит
01/11/2022 А001 Джон Доу
01/11/2022 А012 Сэм Слэйд
01/11/2022 Б015 Джейн Доу
01/11/2022 АВС001 Том Смит
01/12/2022 С003 Джейн Доу
01/12/2022 А001 Джейн Доу
01/12/2022 С003 Сэм Слэйд

решение1

Хорошо. Итак, решили это по-другому.

Создал поле в таблице Driver Table, "CountByVehicle". Это поле содержит формулу:

=СУММА(ЕСЛИ((таблицаЕжедневногоИспользованияТранспортногоСредства[[#Данные],[CCH VID]]=$B$4)*(таблицаЕжедневногоИспользованияТранспортногоСредства[[#Данные],[Водитель]]=[@[СПИСОК ВОДИТЕЛЕЙ]]),1,0))

Это суммирует количество раз, когда каждый водитель появляется в таблице tblVehicleDailyUse для рассматриваемого транспортного средства, все еще хранящегося в $B$4. Затем я могу использовать формулу:

=ИНДЕКС(таблицаСписокВодителей[[#Все],[СПИСОК_ВОДИТЕЛЕЙ]],ПОИСКПОЗ(МАКС(таблицаСписокВодителей[[#Все],[КоличествоТранспортныхСредств]]),таблицаСписокВодителей[[#Все],[КоличествоТранспортныхСредств]],0))

Это возвращает (первое) имя водителя в списке с наибольшим количеством записей в tblVehicleDailyUse для рассматриваемого транспортного средства. Немного неуклюже, но приемлемо для моих целей.

В настоящее время это решает мою проблему. Но это рассматривает только одно транспортное средство за раз; проблематично, если мне понадобится более глобальное решение.

Связанный контент