用Excel制作刷題器,備考無憂 !
?
作者:ITFANS來源:部落窩教育發(fā)布時間:2024-07-22 18:37:59點擊:1687
編按:
用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ù)制整理試題”宏,代碼含義參考注釋。
在表中插入一個形狀,右鍵指定宏為“復(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ù)字1或2,可作為題型選擇依據(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”工作表用戶的答案輸入,便于開始新的一輪抽取。
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),"")
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:
相關(guān)推薦:
版權(quán)申明:
本文作者ITFANS;部落窩教育享有稿件專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會這2個公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報表……
- 如何計算Excel單元格中的算式,四種求和方法請收好!