如何用Excel和word制作随机题库并制作试卷谢谢
发布网友
发布时间:2022-04-20 23:17
我来回答
共5个回答
热心网友
时间:2022-05-08 00:28
Excel+Word 轻松自制随机出卷系统 先把收集到的大量考题集中保存到题库中,再随机从中抽取指定数量的题目制作考卷,这种随机抽题出卷的方式相信大多教师朋友都知道吧。不过你有没有想过可以自己设计一个随机出卷系统呢?这其实很容易实现,我们只要用Excel2010函数配合Word2010的邮件合并就可以轻轻松松地按自己的要求定制出卷系统。设计好后你只要输入足够的题目,按两下鼠标就可以随机自动生成试卷了,是可以直接打印出来使用的试卷哦。
一、用Excel2010实现随机抽题
在Excel中实现随机抽题的原理其实很简单。我们先对所属单元在考试范围内的题目都用RAND产生一个随机数,再按随机数对题目排名次。这样前N名的题目自然是随机的。然后再用VLOOKUP按名次值把前1-N名的题目顺次提取出来,不就等于是随机抽取N题了吗?而我们每刷新一次随机数都会随机变化,也就可以得到不同的随机试卷题目。
1建立题库
打开Excel2010,新建“出卷”、“填空题”两个工作表。在“填空题”工作表的A1单元格输入0,在B1:H1输入随机数、“一、填空题”、“一、填空题(答案)”、所属单元等标题(图1)。在B2单元格输入公式=IF(AND(E2>=出卷!B$7,E2<=出卷!D$7),RAND(),""),公式中的B$7、D$7是“出卷”工作表中显示出题范围的单元格。在A2=RANK(B2,B:B)+COUNTIF(B$2:B2,B2)-1,RANK用于根据随机数返回该题的名次,后面加上COUNTIF(B$2:B2,B2)则是确保万一随机数相同时也会递增排名,从而使名次数值连续不中断。选中A2:B2单元格,拖动其填充柄向下复制填充到5000行,具体行数请按实际会保存的最大题数考虑。最后在C:E列逐一输入题目、答案、所在单元即可,在此我们就先随便输入几道题用作实验吧。
右击“填空题”工作表的标签选择“移动或复制”,选中“建立副本”确定进行复制。右击复制出的“填空题(2)”工作表标签选择“重命名”把它改成“选择题”,并把“选择题”工作表中C1的题目改成“二、选择题”、D1改成“二、选择题(答案)”,这样选择题库就做好了。同样建立出问答题题库。
2主界面设置
切换到“出卷”工作表,按需要设计好出卷界面。在E2单元格输入公式=C2*D2,并把公式复制到E3、E4,在C5输入公式=SUM(C2:C4)并向复制到E5以计算出题数、总分。在A2输入2,在A3输入公式=A2+C2+1并向下复制填充到A4:A5单元格,以计算出各种题型大标题所在的行数。
在F2单元格输入公式=IF(ROW()>A$5,0,COUNTIF(G$1:G2,G2)-1)以自动显示题号。G2输入公式=VLOOKUP(ROW(),A:B,2,TRUE)以显示对应的题型。H2输入公式=IF(F2=0,"",F2&".")&IFERROR(VLOOKUP(F2,INDIRECT(G2&"!A:D"),3,FALSE),"")按题号从题库的A列中找到符合的随机名次并返回在第3列的题目。I2也输入与H2相同的公式只是要把公式中的3改成4以返回题库第4列的答案。最后选中F2:I2单元格拖动其填充柄把公式向下复制到150行即可(图2)。复制行数请按试卷最大题数考虑,一般应该不需要超过150题啦。最后把工作薄命名保存为“出卷系统.xlsx”。
注:试卷各大标题中往往还需要注明题数、分值、总计分等,这可用公式从出卷工作表中引用。比如:在填空题工作表的C1单元格输入公式="一、填空题(共"&出卷!C2&"题每题"&出卷!D2&"分,总计"&出卷!E2&"分)",即可在C1自动显示成“一、填空题(共4题每题5分,总计20分)”这样的题目了。
二、用Word设计试卷
接下来要做的就是把提取出来的题目排版生成一张可以直接打印出来使用的试卷。这个可以通过Word的邮件合并功能自动完成。
打开Word2010,切换到“邮件”选项卡,单击“选择收件人”选择“使用现有列表”,选择打开前面保存的“出卷系统.xlsx”。在弹出的“选择表格”窗口中√选“数据首行包含列标题”选项,选择“出卷$”,确定完成设置。接着单击“插入合并域”在弹出窗口中双击选择插入“题目”,再单击“规则”选择“下一记录”。然后选中插入的“《题目》《下一记录》”进行复制。再连续按Ctrl+V键粘贴出150行“《题目》《下一记录》”(图3)。现在单击“查看合并数据”就可以看到所有试题了。当然实际上出卷工作表中的题目肯定没有150题,后面没题目的记录,其合并域会自动消失,包括域后面的回车也会一起消失哦。
试卷题目准备好了,再来设置一下首行缩进、添加密封线内容、设置纸张大小方向和分栏等格式。这些试卷的设置已有不少相关介绍,相信大家都比较清楚,限于篇幅就不细说了,最后效果如图(图4)。设置好后把文件保存为“试卷.docx”
我们还要再另建一个Word文档用来显示所有试题的标准答案,操作和“试卷.docx”差不多。单击“邮件”选项卡的“选择收件人”选择“使用现有列表”,打开“出卷系统.xlsx”的“出卷$”工作表;单击“插入合并域”选择插入《答案》,并插入“条件”的《下一记录》;复制粘贴出150行;单击“查看合并数据”以显示所有答案,然后保存为“答案.docx”。
三、随机出卷系统的维护与使用
OK,到此我们的随机出题系统设计已经大功告成了,这设置还是蛮简单的吧。接下来,你只要把题目逐一录入题库中就可以随机抽题出卷了。
1题目录入
题目录入比较简单,打开“出卷系统.xlsx”,直接在填空题、选择题、问答题题库工作表的C:E列输入即可。不过考虑到最终生成试卷的效果,在题目输入时有一些要求需要注意一下:
(1) 填空题中留待填写的填空区域要通过插入中文下划线实现。不能插入空格再设置下划线格式,否则在Word中生成试卷后你还得再逐一设置下划线。在中文输入法界面上右击那个键盘图标,选择“特殊符号”以显示软键盘(图5),单击软键盘N键或直接按键盘N键即可插入中文下划线“ _ ”,按Esc关闭软键盘。
(2) 选择题中你需要按Alt+回车键换行,再插入空格调整各选项位置。建议先在B2单元格中输入一个空行以及A、B、C、D选项并用空格定位好,拖动填充柄把这个单元格复制到下面各单元格中,再逐一输入题目和选项内容(图6),这样会比较方便输入。只要不输入所属单元那些空行就不会参与选题出卷。此外,最好先适当调整C列列宽让各行显示的字数正好与Word试卷中的单行字数一致,以便准确调整选项位置。
(3) 问答题下留待填写的空行,同样可以按Alt+回车键在单元格中换行增加。但要注意的是每一个空行中至少要输入一个空格(图7),否则在Word中会只剩下一个空行。建议先在B2单元格中输入一些含空格的空行,再把B2向下复制到各单元格中,然后再逐一输入题目。当然你也可以只输入题目,等最终生成试卷后再在试卷中题目下添加空行,这个就看个人习惯了。
(4) 增加题目可以在题库后追加输入,或选中已有题目行进行复制,右击选择“插入复制行”后再修改成新题目。删除题目可直接删除行,不过对于只是暂时不用的题目可以不必整行删除,你只要把该题“所属单元”的数字删除就可以让它不参与出题,下次需要时再重新输入“所属单元”数字即可恢复。
热心网友
时间:2022-05-08 01:46
=INDIRECT("选择题!b"&RANDBETWEEN(1,500))
=INDIRECT("判断题!b"&RANDBETWEEN(1,20))
=INDIRECT("问答题!b"&RANDBETWEEN(1,50))
这个是最简单的了,第次点击都会重新变化
热心网友
时间:2022-05-08 03:21
如果有别人做好的,给我一份。
否则,自己学着写VBA吧,只是一个简单的循环,随机抽出题并记录,防止出题重复。
热心网友
时间:2022-05-08 05:12
请问你是程序员吗?
热心网友
时间:2022-05-08 07:20
随机出卷的话,不是很麻烦,目前已经可以实现这个功能了,你可以下载一个在线考试系统麦塔的,参考一下