我创建了一个表格“tblVehicleDailyUse”,其中(除其他内容外)列出了日期、车辆 ID 和驾驶员姓名。使用此表中的数据,我试图填充一个从单元格 B4 开始的矩阵,其中列出了每辆车以及过去 30 天内驾驶该车辆次数最多的驾驶员。下面的等式进入单元格 D4。
我尝试使用以下公式,但这只会在数组的每一行中返回 #VALUE!。我还尝试使用静态驱动程序名称——但都无济于事。
=MAX(COUNTIF(IF((tblVehicleDailyUse[[#Data],[CCH VID]]=$B4)(tblVehicleDailyUse[[#数据],[日期]]<=TODAY())(tblVehicleDailyUse[[#数据],[日期]]>=TODAY()-30), tblVehicleDailyUse[[#数据],[驾驶员]],0), tblVehicleDailyUse[[#数据],[驾驶员]]))
我做错了什么,这有可能吗?谢谢。
示例数据:
日期 | 视频识别 | 司机 |
---|---|---|
2022 年 1 月 10 日 | A001 | 约翰·多伊 |
2022 年 1 月 10 日 | B015 | 山姆·斯莱德 |
2022 年 1 月 10 日 | C003 | 无名氏 |
2022 年 1 月 10 日 | ABC001 | 汤姆·史密斯 |
2022 年 1 月 11 日 | A001 | 约翰·多伊 |
2022 年 1 月 11 日 | A012 | 山姆·斯莱德 |
2022 年 1 月 11 日 | B015 | 无名氏 |
2022 年 1 月 11 日 | ABC001 | 汤姆·史密斯 |
2022 年 1 月 12 日 | C003 | 无名氏 |
2022 年 1 月 12 日 | A001 | 无名氏 |
2022 年 1 月 12 日 | C003 | 山姆·斯莱德 |
答案1
好的。那么用另一种方法解决这个问题。
在驾驶员表中创建了一个字段“CountByVehicle”。此字段包含以下公式:
=SUM(IF((tblVehicleDailyUse[[#Data],[CCH VID]]=$B$4)*(tblVehicleDailyUse[[#Data],[Driver]]=[@[DRIVER LIST]]),1,0))
这将计算每个驾驶员在相关车辆的 tblVehicleDailyUse 表中出现的次数,该次数仍存储在 $B$4 中。然后我可以使用以下公式:
=INDEX(tblDriverList[[#全部],[DRIVER_LIST]],MATCH(MAX(tblDriverList[[#全部],[CountByVeh]]),tblDriverList[[#全部],[CountByVeh]],0))
这将返回列表中 tblVehicleDailyUse 中条目最多的(第一个)驾驶员姓名。有点笨拙,但对于我的目的而言是可以接受的。
目前这解决了我的问题。但这一次只能查看一辆车;如果我需要更全面的解决方案,那就有问题了。