[英]Excel - replace a formula cell with its result automatically
我正在尝试制作一张表格,添加到我给学生做作业的模板中; 其中一些通过相互发送文件来作弊,我想抓住它们。
我已经创建了一个公式单元格,其中填充了文件的当前操作系统和目录。 我想做的是在评估后将其转换为文本,这样,如果另一个学生打开该文件,该文件将不会更改(但以下单元格将保持不变,依此类推。)这是公式:
(单元格A1): =INFO("osversion")&INFO("directory")
(单元格A2及更高版本): =IF(A1=(INFO("osversion")&INFO("directory")),"",IF(LEN(A1)<2," ",INFO("osversion")&INFO("directory")))
您是否知道在不使用VBA的情况下是否有任何方法可以将公式单元格替换为其值? (如果我使用VBA,它将询问您是否要在启动时启用宏,从而使游戏消失……)
预先感谢您的帮助!
有一种解决方法:使用修订。 例如,如果您使用的是Excel 2010:
Review
选项卡,然后在“ Changes
组中单击“ Share Workbook
。 Allow changes by more than one user at the same time
进行Allow changes by more than one user at the same time
”复选框。 Review
选项卡中,选择“ Track Changes|Highlight Changes
。 When
选项选择“ All
,为“ Who
选项选择“ Everyone
Who
。 然后,您可以选择突出显示屏幕上的更改和/或在新工作表中列出更改。
如果在对文件进行最终更改之前执行此操作,则可以通过检查是否正确显示了上次更改来确认在上次查看文件与将文件退还给您之间,没有人Accepted Changes
。
这样一来,您就可以查看自上次编辑文件以来所有编辑过文件的人,以及他们进行了哪些更改。
(编辑)
正如@Siddharth Rout在另一个答案中指出的那样,人们可以使用技术手段使作弊更加困难,但有足够谋略的学生总是可以找到一种方法来规避此类措施。
可以通过区分以下两种情况来解决这一困境:
(a)学习机会,学生可以选择学习(做作业并获得关于他们的方法的反馈-不是成绩)或不选择学习;以及
(b)评估过程,在该过程中,人们可以衡量所学到的知识(例如,通过将学生聚集在一个屋檐下)。
在(a)情况下,学生没有得到评估,因此没有“作弊”的动机。 在情况(b)中,他们正在接受评估,但没有机会作弊。
您是否知道在不使用VBA的情况下是否有任何方法可以将公式单元格替换为其值?
您的问题的答案是“ 不,这无法完成 ”
即使您将VBA视为一种选择,也没有用,因为这是XY问题的经典示例。
无论您做什么,都无法阻止学生作弊。 考虑以下几种情况。
场景1
学生A有1.xlsx
。 学生B有2.xlsx
。 学生A完成作业后,将创建1.xlsx
的副本。 我们称它为Copy.xlsx
。 现在,学生A将Copy.xlsx
给学生B。学生B打开Copy.xlsx
并将答案复制到2.xlsx
。 完成后,学生B删除Copy.xlsx
并给您2.xlsx
。 所以,现在告诉我,您如何知道学生B被骗了?
方案2
学生B通过移动电话呼叫学生A。 他们俩都打开了副本。 学生A在电话中提供所有答案。 你怎么知道学生乙被骗了?
场景3
学生A和学生B在彼此相邻的两台笔记本电脑中打开文件并完成作业。 你怎么知道谁欺骗了谁的任务?
另类?
将所有学生放在一个屋顶下,然后让他们填满在您面前。 甚至没有其他方法可以猜测某人是否作弊,除非某人愚蠢到在他/她的模板中提到其他学生的名字或逐字复制答案。
您总是可以将一些文本放在只有您自己知道的单元格中,并将文本变白。 您可以为每个学生编写文本代码,并使用密码仅锁定该单元格的内容。
那就是我会做的...
您可以给他们每个人一个不同的问题(对于不同的数据可能是相同的问题)。 您只要看一下结果就可以发现任何一种作弊行为。
编程或IT并非总是解决方案,即使对于编程或IT问题也是如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.