
我創建了一個表格“tblVehicleDailyUse”,其中(除其他外)列出了日期、車輛 ID 和駕駛員姓名。我嘗試使用此表中的數據填充從單元格 B4 開始的矩陣,列出每輛車以及過去 30 天內駕駛該車輛最多的駕駛員。下面的等式進入儲存格 D4。
我嘗試使用以下等式,但這僅返回#VALUE!在數組的每一行中。我也嘗試過使用靜態驅動程式名稱 - 但兩者都無濟於事。
=MAX(COUNTIF(IF((tblVehicleDailyUse[[#Data],[CCH VID]]=$B4)(tblVehicleDailyUse[[#Data],[日期]]<=TODAY())(tblVehicleDailyUse[[#Data],[日期]]>=TODAY()-30), tblVehicleDailyUse[[#Data],[Driver]],0), tblVehicleDailyUse[[#Data],[Driver]]))
我做錯了什麼或這可能嗎?謝謝。
範例資料:
日期 | 影片辨識碼 | 司機 |
---|---|---|
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],[驅動程式]]=[@[驅動程式清單]]),1, 0) )
這匯總了每位駕駛員出現在相關車輛的 tblVehicleDailyUse 表中的次數,仍然儲存在 $B$4 中。然後我可以使用公式:
=INDEX(tblDriverList[[#All],[DRIVER_LIST]],MATCH(MAX(tblDriverList[[#All],[CountByVeh]]),tblDriverList[[#All],[CountByVeh]],0))
這將傳回清單中的(第一個)駕駛員名稱,其中 tblVehicleDailyUse 中針對相關車輛的條目最多。有點笨重,但以我的目的來說是可以接受的。
目前這解決了我的問題。但這次只能查看一輛車;如果我需要一個更全球化的解決方案,就會出現問題。