方法/步驟分步閱讀
1
/7
整理各項體質檢測標準為統一資料格式。
2
體測標準有兩種,一種為實測成績越高,得分越高,如肺活量,仰臥起坐,跳繩等;
3
另一種為實測成績越高,得分越低,如50米跑,耐力跑,BMI指數等。
4
查詢計算
由於出現了年級,性別和不同實測成績對應分值,需要構造兩個VBA函式進行查詢和計算:
1) 按年級性別查詢體質(1類標準):
函式:
構造自定義函式vba函式:GeneralSearch
示例:
GeneralSearch("專案標準表名稱",性別,年級,體育專案名稱,實測成績項)
2) 按年級性別查詢體質(2類標準):
構造自定義vba函式:SearchType1
SearchType1("專案標準表名稱",性別,年級,體育專案名稱,實測成績項)
5
第三步:查詢權重
在二維權重表(年級-專案)中查詢不同年級的不同專案比重的方法:
使用兩個excel自帶函式INDEX和MATCH進行組合,實現對一個二維表的查詢:
INDEX(專案權重表範圍,MATCH(所需專案,專案權重表專案名稱列,),MATCH(所需年級,專案權重表年級名稱行,))
6
第四步:限制空值
由於不同年級計算總分的專案不同,以及自定義函式GeneralSearch返回值,都會使EXCEL計算總分時的引數中出現空值或不必要的文字返回值,造成求和公式出錯,為了計算過程的整潔性和excel模板的通用性,需要對資料進行空值和文字返回值過濾。
使用IF函式的巢狀實現過濾多個非法返回值進入計算
IF(單項成績值="",0,IF(單項成績值="未找到",0,單項成績值))。
方法/步驟分步閱讀
1
/7
整理各項體質檢測標準為統一資料格式。
2
/7
體測標準有兩種,一種為實測成績越高,得分越高,如肺活量,仰臥起坐,跳繩等;
3
/7
另一種為實測成績越高,得分越低,如50米跑,耐力跑,BMI指數等。
4
/7
查詢計算
由於出現了年級,性別和不同實測成績對應分值,需要構造兩個VBA函式進行查詢和計算:
1) 按年級性別查詢體質(1類標準):
函式:
構造自定義函式vba函式:GeneralSearch
示例:
GeneralSearch("專案標準表名稱",性別,年級,體育專案名稱,實測成績項)
2) 按年級性別查詢體質(2類標準):
函式:
構造自定義vba函式:SearchType1
示例:
SearchType1("專案標準表名稱",性別,年級,體育專案名稱,實測成績項)
5
/7
第三步:查詢權重
在二維權重表(年級-專案)中查詢不同年級的不同專案比重的方法:
函式:
使用兩個excel自帶函式INDEX和MATCH進行組合,實現對一個二維表的查詢:
示例:
INDEX(專案權重表範圍,MATCH(所需專案,專案權重表專案名稱列,),MATCH(所需年級,專案權重表年級名稱行,))
6
/7
第四步:限制空值
由於不同年級計算總分的專案不同,以及自定義函式GeneralSearch返回值,都會使EXCEL計算總分時的引數中出現空值或不必要的文字返回值,造成求和公式出錯,為了計算過程的整潔性和excel模板的通用性,需要對資料進行空值和文字返回值過濾。
函式:
使用IF函式的巢狀實現過濾多個非法返回值進入計算
示例:
IF(單項成績值="",0,IF(單項成績值="未找到",0,單項成績值))。