
나는 날짜, 차량 ID 및 운전자 이름을 나열하는 "tblVehicleDailyUse" 테이블을 만들었습니다. 이 표의 데이터를 사용하여 셀 B4부터 시작하여 각 차량과 지난 30일 동안 해당 차량을 가장 많이 운전한 운전자를 나열하는 행렬을 채우려고 합니다. 아래 방정식은 D4 셀에 입력됩니다.
다음 방정식을 사용하려고 시도했지만 #VALUE만 반환됩니다! 배열의 각 행에 또한 정적 드라이버 이름을 사용해 보았지만 모두 소용이 없었습니다.
=MAX(COUNTIF(IF((tblVehicleDailyUse[[#Data],[CCH VID]]=$B4)(tblVehicleDailyUse[[#데이터],[날짜]]<=TODAY())(tblVehicleDailyUse[[#Data],[Date]]>=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],[Driver]]=[@[DRIVER LIST]]),1,0) )
이는 $B$4에 여전히 저장되어 있는 문제의 차량에 대한 tblVehicleDailyUse 테이블에 각 운전자가 나타나는 횟수를 합산합니다. 그런 다음 다음 공식을 사용할 수 있습니다.
=INDEX(tblDriverList[[#All],[DRIVER_LIST]],MATCH(MAX(tblDriverList[[#All],[CountByVeh]]),tblDriverList[[#All],[CountByVeh]],0))
그러면 문제의 차량에 대해 tblVehicleDailyUse에 가장 많은 항목이 있는 목록의 (첫 번째) 운전자 이름이 반환됩니다. 조금 투박하지만 내 목적에는 허용됩니다.
현재 내 문제가 해결되었습니다. 그러나 이것은 한 번에 하나의 차량만 살펴봅니다. 좀 더 글로벌한 솔루션이 필요하다면 문제가 될 수 있습니다.