下拉複選框得分設定

簡介

案例簡介

下拉複選框目前的邏輯為:勾選多個選項之後,選項的儲存排序是按照勾選順序來排列的,而不是按照選項本身的順序來排列的。即:下拉複選框依次勾選了「B、C、A」之後,儲存起來的排序就是「B、C、A」,而不是「A、B、C」。

因此在透過下拉複選框製作題庫時,使用 IF 函數「IF(問題=="選項一,選項二,選項三",分數,0) 」計算得分就會出現偏差,故本篇文件將介紹一種透過 COUNT 函數來計算得分的方法。

使用場景

需要使用下拉複選框欄位製作題目並計算得分的場景。

預期效果

操作步驟

表單配置

表單內新增一個下拉複選框用來選擇答案,一個單行文字記錄該多選題的正確答案,一個數字欄位計算得分(這裡用正確得十分,否則得零分舉例)。

設定正確答案欄位

設定正確答案為輔助欄位用於在得分公式中與選擇的答案進行對比,在「表單設計 > 正確答案 > 欄位屬性 > 預設值」處填寫問題的正確答案。

附註

正確答案間需要有英文逗號間隔,不要求答案順序。

如欄位設定為不可見,則一定要在表單屬性中修改「不可見欄位賦值」屬性為「始終重新計算」。

已知答案正確有兩個條件:

  • 選擇的答案個數和正確答案個數相同;
  • 選擇的答案選項是正確答案的子集。

判斷答案個數

答案正確首先應該滿足「條件一:選擇的答案個數和正確答案的個數相同」,因此可以透過 COUNT 函數來計算出兩個答案的個數,即滿足公式:

COUNT(請選擇答案)==COUNT(SPLIT(正確答案,',')

表示選擇的答案個數和正確答案的個數相同;

其中 SPLIT 函數用於將正確答案的文字欄位用英文逗號分割成陣列。

判斷答案選項

在滿足兩個答案個數相同的情況下,我們還需要判斷答案的選項是否一致。

假設正確答案是「A、B、C」,選擇的答案是「A、B、E」,則答案的選項是不一致的,因此我們考慮將正確答案和選擇答案組合在一起去重,去重之後組合為「A、B、C、E」,選項個數為四個,和正確答案個數不符,則判斷為錯誤;

如選擇的答案是「A、B、C」,此時將正確答案和選擇答案組合在一起去重之後,組合為「A、B、C」,選項個數是三個,等於正確答案個數,則判斷為正確。

因此想要答案正確還應該滿足「條件二:選擇的答案和正確答案組合去重之後,答案個數應該等於正確答案個數」,即需要滿足公式:

COUNT(UNION(SPLIT(正確答案+','+請選擇答案,',')))==COUNT(SPLIT(正確答案,','))

其中 UNION 函數可以將文字內的重複資料自動剔除。

設定得分欄位

綜上,在設定得分欄位的公式時,用 IF函數 將兩個條件新增進去即可,得分欄位設定公式為:

IF(AND(COUNT(請選擇答案)==COUNT(SPLIT(正確答案,',')),COUNT(UNION(SPLIT(請選擇答案+','+正確答案,',')))==COUNT(SPLIT(正確答案,','))),10,0)

表示當同時滿足條件一和條件二時,得分為 10,否則不得分。

附註

操作步驟中的公式複製後不可直接使用,欄位調用處需進行手動替換。

注意事項

複選可以透過 IF 函數 「IF(問題=="選項一,選項二,選項三",分數,0)」計算得分,不受選項點擊順序的影響。

這項資訊有幫助嗎?
需要更多協助嗎?聯繋技術支援。