二維碼 購物車
部落窩在線教育歡迎您!

用Excel制作刷題器,備考無憂 !

?

作者:ITFANS來源:部落窩教育發(fā)布時間:2024-07-22 18:37:59點擊:1687

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

Excel制作一個刷題器,實現(xiàn)隨機出題,可以幫自己備考,幫孩子備考。刷題器支持單項選擇題、多項選擇題、判斷題三類題型。

 

幫自己備考,幫家里孩子備考,或者做隨機出題的內(nèi)訓(xùn)培訓(xùn)測試,你可以使用Excel打造一個實用的刷題器。

看看最終效果,選擇單選或者多選題,點擊“刷題”即可隨機從題庫中抽題,輸入答案后還會自動進(jìn)行打分。

 

 

刷題器很簡單,包括“原始試題”“題庫”“出題1”三張工作表。

 

一、原始試題整理

將網(wǎng)上搜集的試題粘貼到Excel中,大多數(shù)試題逐行排列,并且各題答案匯總在一行。

 

手機屏幕截圖
描述已自動生成

 

而為了方便隨機出題,我們需要把各道試題整合成一行,并拆分出正確答案。

 

圖片包含 文本
描述已自動生成

 

Step1,整合題目

將原始試題粘貼到B列,答案粘貼到A2備用。

接著在C2輸入公式:

=DROP(TEXTSPLIT(TEXTJOIN("|",TRUE,IF(B:B="","",IFERROR(SUBSTITUTE(B:B,IF(ISNUMBER(--TEXTBEFORE(B:B,{"、","."})),TEXTBEFORE(B:B,{"、","."}),""),"部落窩",1),B:B))),,"部落窩",TRUE),1)

說明:

將各題題目和其選項使用“|”連接起來匯成一行排列。

 

 

注意,整理的最后一道題與其他題不同,其末尾會缺少一個分隔符“|”,

 

日歷
中度可信度描述已自動生成

 

Step2,最后行添加“|

定位到D2輸入公式“=IF(C2#=TAKE(C2#,-1),TAKE(C2#,-1)&"|",C2#)”,自動為最后行添加符號。

 

 

Step3,提取答案

定位到F2輸入公式將A2的答案提取出來并放在整合題目的后方:

=TEXTSPLIT(TEXTAFTER(A2,"答案:"),,TEXTSPLIT(TEXTAFTER(A2,"答案:"),,CHAR(ROW($65:$90)),1),1)

 

 

Step4,復(fù)制整理后的試題到題庫

打開VB編輯器新建“復(fù)制整理試題”宏,代碼含義參考注釋。

 

圖形用戶界面, 文本, 應(yīng)用程序
描述已自動生成

 

在表中插入一個形狀,右鍵指定宏為“復(fù)制整理試題”。今后點擊這個形狀即可將整理的試題和答案復(fù)制到題庫的D:E列。

 

 

二、實現(xiàn)隨機出題

切換到“題庫”工作表,我們通過公式來隨機抽取題目,并用宏固定題目。

Step1,生成隨機數(shù)

C2輸入公式“=RANDARRAY(ROW(A2:INDIRECT("A"&COUNTA(D:D))))”,以D列非空單元格數(shù)為最大值,使用RANDARRAY函數(shù)生成隨機數(shù)。

 

 

Step2,判斷題型

定位到F2輸入“=IFS(LEN(E2:E1000)=1,"單選",LEN(E2:E1000)>1,"多選",1,"")”。

 

 

Step3,添加刷題的題型選擇器

切換到“出題1”工作表,按提示插入2個“選項按鈕(窗體控件)”,分別修改文字為“單選題”“多選題”。接著選中任意一個控件,右擊選擇“設(shè)置控件格式”,將單元格的鏈接設(shè)置為C2。這樣選擇“單選題”或“多選題”的時候,C2就會顯示數(shù)字12,可作為題型選擇依據(jù)。

 

Step4,隨機抽取題目

返回“題庫”工作表,在H2輸入公式:

=ROW(A1:A5)&IFERROR(IF(出題1!C2=2,INDEX(LET(F,FILTER(C2#:D1000,(A2:A1000="")*(F2#="多選"),""),SORTBY(F,INDEX(F,,1,1))),ROW(A1:A5),COLUMN(B1)),INDEX(LET(F,FILTER(C2#:D1000,(A2:A1000="")*(F2#="單選"),""),SORTBY(F,INDEX(F,,1,1))),ROW(A1:A5),COLUMN(B1))),".請重置|")

說明:

借助C列的隨機數(shù)字,隨機從D列中抽取5道題。

 

 

Step5,設(shè)置已出標(biāo)記

刷題要求已經(jīng)出過的題目不再出現(xiàn),因此需要標(biāo)記已抽取的題目,便于后續(xù)抽取時避開它們。

由于隨機數(shù)易變,為了不出現(xiàn)錯誤,首先將抽取的H2:H5的題目以“值”的方式粘貼到I2:I5進(jìn)行固定(此處可以先手動粘貼,后續(xù)我們通過代碼實現(xiàn))。

然后定位到B2輸入公式:

=IFERROR(IF(XLOOKUP(TEXTAFTER(D2:D1000,"."),TEXTAFTER(I2:I1000,"."),C2:C1000,"")<>"","已出",""),"")

 

 

Step6,新建固定已選標(biāo)記的宏

B列“已選”標(biāo)記會不斷變化,為了固定歷次抽取的標(biāo)記,需要新建一個宏,如下。代碼的作用請參考注釋。

 

 

Step7,新建固定已出題的宏

新建一個“刷題”的宏,取代第5步中的手動粘貼。

 

 

Step8,新建重置的宏

當(dāng)隨機抽取完所有題后,則需要重置,用于清除I列題目、A列標(biāo)記,以及“出題1”工作表用戶的答案輸入,便于開始新的一輪抽取。

 

圖形用戶界面, 文本, 應(yīng)用程序, 電子郵件
描述已自動生成

 

Srep9,還原題目為標(biāo)準(zhǔn)試題

K2輸入“=IFERROR(TEXTSPLIT(CONCAT(I2:I6),,"|",TRUE,,""),"")”還原題目為標(biāo)準(zhǔn)試題。

 

 

三、刷題設(shè)置

切換道“出題1”工作表進(jìn)行刷題設(shè)置。

Step1,引用題目

B6輸入“=題庫!K2#”,引用題庫還原后的題目。

 

 

Step2,引用答案

C6輸入公式:

=IFERROR(XLOOKUP("*"&IF(ISNUMBER(--TEXTAFTER(B6:B28,".")),1/0,TEXTAFTER(B6:B28,"."))&"*",題庫!$D$2:$D$1000,題庫!$E$2:$E$1000,"",2),"")

 

圖形用戶界面, 應(yīng)用程序
描述已自動生成

 

 

Step3,關(guān)聯(lián)宏

D2、E2插入兩個形狀,分別關(guān)聯(lián)到上述創(chuàng)建的“刷題”和“重置”宏。

 

 

Step4,其他設(shè)置

E6輸入公式“=IFS(D6:D28="","",D6:D28=C6:C28,"?",D6:D28<>C6:C28,"?,答案為:"&C6:C28)”,判斷答案。

E3輸入公式“=IF(D6="","",COUNTIF(E6:E29,"?")*20)”,統(tǒng)計分?jǐn)?shù)。

此外還可以設(shè)置條件格式,將題目欄設(shè)置為黃色顯示,對答題單元格設(shè)置邊框等,最終效果如圖。

 

 

四、實際使用

Step1,輸入試題

隱藏“題庫”工作表。切換到“原始試題”工作表,僅保留A、B列顯示(其他列隱藏)。只要將題目和答案分別粘貼到B列和A2,點擊“復(fù)制整理試題”即可。

 

 

Step2,開始刷題

切換到“出題1”工作表,隱藏C列,選擇題型,然后點擊“刷題”。只要在D列輸入答案,就可以自動完成分?jǐn)?shù)統(tǒng)計。

 

后記:

當(dāng)前的模板只是提供一個思路和方法,還有很多不足,譬如,題型上缺少判斷題、刷題數(shù)固定為5、選擇題的各選項必須單獨成行。如果你需要更強大的刷題模板,如下,請聯(lián)系部落窩教育領(lǐng)取。注意,需用Excel 365,Excel 2024等版本打開。

 

 

本文配套的練習(xí)課件請?zhí)砑涌头⑿?span>buluowojiaoyu索取。

Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!

掃下方二維碼關(guān)注公眾號,可隨時隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

簡化公式的函數(shù)LET

MAP函數(shù)用法

用Textjoin函數(shù)合并單元格

TEXTSPLIT函數(shù)用法

版權(quán)申明:

本文作者ITFANS;部落窩教育享有稿件專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。