案例:
下圖 1 是全班同學的各科考試成績,一共 6 個科目,要求如下:
不及格科目達到 3 個及以上就留級,小于 3 個則升級
在 H 列自動計算出升級還是留級,留級的字體用紅色顯示
效果如下圖 2 所示。
解決方案 1:text+countif 函數
1. 在 H2 單元格中輸入以下公式 --> 下拉復制公式:
=TEXT(COUNTIF(B2:G2,'<60'),'[>2]留;[<3]升')&'級'
公式釋義:
COUNTIF(B2:G2,'<60'):統計 B2:G2 區域中,不及格的單元格個數
TEXT(...,'[>2]留;[<3]升'):
text 函數此處的用法相當于在“設置單元格格式”中自定義格式類型,因此最多只能設置 4 種類型,當中用三個英文半角的“;”隔開
當不及格單元格個數 >2 個時,返回“留”字,<3 個則則返回“升”字
&'級':用“&”符號將上一步返回的文字與“級”字連接起來,最后顯示“留級”或“升級”
有關 text 函數的詳解,請參閱
2. 選中 H2:H19 區域 --> 選擇菜單欄的“開始”-->“條件格式”-->“新建規則”
3. 在彈出的對話框中選擇“使用公式確定要設置格式的單元格”--> 在公式區域輸入以下公式 --> 點擊“格式”按鈕:
=$H2='留級'
* 公式中的行號需要設置為相對引用,這樣才會在選定區域內動態讀取對應的行。
4. 在彈出的對話框中選擇“字體”選項卡 --> 將字體設置為紅色 --> 點擊“確定”
5. 點擊“確定”
現在就實現了本案例的需求。
解決方案 2:if+countif 函數
1. 在 H2 單元格中輸入以下公式 --> 下拉復制公式:
=IF(COUNTIF(B2:G2,'<60')>2,'留','升')&'級'
公式釋義:
這個公式跟上一個解決方案類似,只是將 text 函數換成了 if,用于判斷不及格的單元格個數是否大于 2,為真則返回“留”,為假返回“升”
最后仍然用“&”符號將返回的文字與“級”字連接起來,顯示“留級”或“升級”
由于上一個解決方案中已經設置過條件格式,所以此處不需要再重復設置,下拉公式后即自動實現字體變色效果。