excel使用if語句產生countif函數

excel使用if語句產生countif函數

我創建了一個表格“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 中針對相關車輛的條目最多。有點笨重,但以我的目的來說是可以接受的。

目前這解決了我的問題。但這次只能查看一輛車;如果我需要一個更全球化的解決方案,就會出現問題。

相關內容