ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: tanzn

[Excel 函数与公式] [开_73] 如何用函数制作一个经典的"猜数字"游戏

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-1-10 09:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用tanzn在2006-1-10 8:45:51的发言:

速度忙会不会是因为在数据表中用了RANK()函数,对9999个数进行排大小

或者可以把那一列复制粘贴为“数值”,在把A列的内容清除

不知道速度会不会因此有所加快

不是的,27楼同样用了rank,速度并不受太大影响。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-10 10:40 | 显示全部楼层

斑竹在数字输入区用了条件格式,

标示出了错误的输入,但游戏者仍可输入

建议可用有效性

1.限制输入仅可为数字(非字母或字符(串))

2.输入数字一定要为四位数(0001~9999)

3.输入数字若与前面有重复,提示重复

令:或许可以增加一个评分机制

参数:次数、时间(因为含时间所以可能要用VBA实现)

公式:次数或时间小于一定时为100分

次数或时间大于一定时为 0分

中间的可根据一定公式记分

因为小弟在EXCEL反面知识欠缺,故只能提问题却无法解决问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-10 11:58 | 显示全部楼层

刚刚想了一下,给一个参考的评分机制:

所猜的次数为:COUNT

所花的时间为:MIN

评分公式:

=IF(OR(COUNT>10,MIN>5),FUN=0,IF(OR(COUNT<=4,MIN<=1),100,120-4(COUNT+MIN)))

TA的精华主题

TA的得分主题

发表于 2006-1-10 14:06 | 显示全部楼层

没有玩过这个游戏呢,做一个试试。

不知对不对。

6uyeQONu.rar (213.94 KB, 下载次数: 42)


好思路,非常清晰!

先求A不在B中的个数和B不再A中的个数,取其多者

然后剩下的就是A、B共有的个数

再有求A、B共有且位置对应的个数

就可以进一步求出A、B共有但位置不对应的个数

——apolloh

以下是引用lg_cai在35楼2006-1-11 15:54:38的发言:

测试一下

34楼,如果答案是1134,输入1330时,显示是2A1B,是否错了

哦,看来有这个问题,我的工作失误。

不过分数给了就不改了,毕竟也是一个很好的思路,方法可以用在其他地方——apolloh


[此贴子已经被apolloh于2006-1-11 16:56:16编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-11 15:54 | 显示全部楼层

测试一下

34楼,如果答案是1134,输入1330时,显示是2A1B,是否错了

谢谢指出错误!大家再想想看有没有办法解决这个缺陷?——apolloh

[此贴子已经被apolloh于2006-1-11 16:55:12编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-12 00:08 | 显示全部楼层

在梧桐兄的基础上改了一下,看对不对

gBT0drKF.rar (215.13 KB, 下载次数: 18)


由于此题的特点决定了答案需要经过多方测试,请大家一起测试一下:)

[此贴子已经被apolloh于2006-1-12 16:29:07编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-12 15:49 | 显示全部楼层

看了半天,似懂非懂,作了一个,大家测试看看是否有错:



不对了,按规则7079 这个数,如果猜9977 应该是 1A2B。你的结果是1A3B。

版主真快!我也发现了,已改过:

改过的附件呢?

附件:

ptnzIbzM.rar (214.04 KB, 下载次数: 9)
[此贴子已经被作者于2006-1-12 16:37:57编辑过]

M85zkeol.rar

213.94 KB, 下载次数: 13

[函数33] 如何用函数制作一个经典的"猜数字"游戏

yR5fwPVT.rar

213.94 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2006-1-13 14:15 | 显示全部楼层

楼上

按规则1122 这个数,如果猜2211 应该是 0A4B。你的结果是0A2B。

[此贴子已经被作者于2006-1-13 15:33:43编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-13 14:57 | 显示全部楼层
以下是引用lg_cai在2006-1-13 14:15:06的发言:

楼上

按规则1122 这个数,如果猜2211 应该是 0A2B。你的结果是0A4B。

按规则应该是0A4B,4个数据都有了,但位置都不对。

TA的精华主题

TA的得分主题

发表于 2006-1-13 15:35 | 显示全部楼层
以下是引用apolloh在2006-1-13 14:57:35的发言:

按规则应该是0A4B,4个数据都有了,但位置都不对。

我打错了,它的结果是0a2b
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 00:43 , Processed in 0.042345 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表