免编程设计编制实用软件的探索
免编程设计编制实用软件的探索
作者:卢台生
来源:《电脑知识与技术》2013年第24
        摘要:Excel函数强大的功能能够有效地提高个人办公的质量和效率。通过对体育兑奖机软件的设计与编制,实现了IFAndOrCountCountif等函数的综合运用,创造性的应用“IF函数的接力设置法突破了IF函数嵌套次数的限制,佐证了免编程设计编制实用软件的可行性。
        关键词:现代办公;免编程;Excel函数应用;实用技能
        中图分类号:TP311 文献标识码:A 文章编号:1009-3044201324-5441-06
        根据工作需要,运用软件编程来提高工作质量和工作效率,对于计算机专业人员而言不会有较大的困难。但是,对于非计算机专业的人员而言,这可是一个难题,往往需要计算机专业人员的帮助才能够完成。而由计算机专业人员单独来编制软件,又受到软件应用领域的其它专业知识和经验的限制,还必须有相应专业的人员的配合和支持。软件开发的周期较长,时效性
受到限制。能否让大多数非计算机专业人员都能够根据自己专业和工作的需要,跨越软件编程的要求,直接利用EXCEL函数自行设计编制实用的软件,及时解决工作中遇到的问题呢?答案是肯定的。EXCEL函数强大的功能完全能够胜任个人办公中涉及的数据处理问题,能够有效地提高工作质量和工作效率。利用EXCEL函数自行设计编制实用软件,关键是要掌握各种EXCEL函数的用途和综合运用。体育兑奖机软件的设计与编制,佐证了免编程设计编制实用软件的可行性。
        1 设计兑奖机的目的
        通过兑奖机的设计,进一步探索EXCEL函数的强大功能,熟悉IFAndOrCountCountif等函数的综合运用[1234],为今后处理现代办公事务、自行编制实用软件奠定良好的基础,促进EXCEL函数的应用推广。
        2 设计兑奖机的任务
        这里,以体育超级大乐透兑奖机的设计为例。根据超级大乐透的游戏规则,彩民从01—3535个号码中选取5个号码为前区号码,并从01—12大乐透开奖结果中奖规则12个号码中选取2个号码
为后区号码组合为一注进行的投注叫基本投注。当基本投注符合下表(表1)中的中奖条件时,即可赢得对应的奖金。
        因此,设计兑奖机的任务是:
        2.1 设计兑奖机的界面
        2.2 设置函数自动判断中奖号码和中奖等级
        根据中奖条件与奖金的对应关系,选择运用恰当的函数进行判断并给出中奖信息;
        1)如果前区5个号码和后区2个号码与开奖号码全部相同,则显示一等奖
        2)如果前区5个号码与开奖号码全部相同,后区有1个号码与开奖号码相同,则显示二等奖
        3)如果前区5个号码与开奖号码全部相同,后区没有号码与开奖号码相同,则显示三等奖
        4)如果前区有4个号码与开奖号码相同,后区2个号码与开奖号码全部相同,则显示四等奖
        5)如果前区有4个号码与开奖号码相同,后区有1个号码与开奖号码相同,则显示五等奖
        6)如果前区有4个号码与开奖号码相同,后区没有号码与开奖号码相同,或前区有3个号码与开奖号码相同,后区2个号码与开奖号码全部相同,则显示六等奖
        7)如果前区有3个号码与开奖号码相同,后区有1个号码与开奖号码相同,或前区有2个号码与开奖号码相同,后区2个号码与开奖号码全部相同,则显示七等奖
        8)如果前区有3个号码与开奖号码相同,后区没有号码与开奖号码相同,或前区有2个号码与开奖号码相同,后区有1个号码与开奖号码全部相同,或前区有1个号码与开奖号码相同,后区2个号码与开奖号码全部相同,或前区没有号码与开奖号码相同,后区2个号码与开奖号码全部相同,则显示八等奖
        2.3 设置提示语显示屏
        显示屏应该显示两种情况:
        1)如果彩民中了奖,将显示恭喜中奖!
        2)如果没有中奖,将显示感谢你对中国体育事业的支持!
        3 兑奖机的设计与制作
        3.1 设计并制作兑奖机界面(如图1所示)
        为了使计算机在人们输入1位数字的号码时能够自动地在其左边添加0,可以选中所有需要输入号码的单元格,选择其右键菜单中的设置单元格格式,在单元格格式对话框中数字选项卡下选择自定义,在类型下方的文本框内输入2个数字:00 ,最后单击确定,关闭对话框即可。
        3.2 在中奖号码区设置公式
        1)设置判断前区中奖号码的函数
        为了判断出前区的中奖号码,先在J8单元格输入函数:
        =IFOR$A$4=A8$B$4=A8$C$4=A8$D$4=A8$E$4=A8),A8""
        上式中的$A$4$B$4$C$4$D$4$E$4是开奖号码前区的五个号码所在的单元格,它们的行号和列号左边加美元符“$”是为了引用其绝对地址,确保下面复制该函数时这些地址保持不变。这个嵌套函数的作用是:只要A8单元格内的号码与前区开奖号码5个中的任意1个相同,则显示A8单元格内的号码,否则显示空白。
        向右拖动J8单元格右下角的拖拽柄,将函数复制到右边的K8L8M8N8四个单元格。同时选中J8K8L8M8N8五个单元格,向下拖动N8单元格右下角的拖拽柄将函数复制到下方的若干单元格(可以复制到任意一行)。
        2)设置判断后区中奖号码的函数
        用上述相同的方法先在P8单元格输入函数:=IFOR$G$4=G8$H$4=G8),G8"" 。这个嵌套函数的作用是:只要G8单元格内的号码与后区开奖号码2个中的任意1个相同,则显示G8单元格内的号码,否则显示空白。
        选中P8单元格将其中的嵌套函数复制到右边的Q8单元格。再同时选中P8Q8两个单元
格,向下拖动Q8单元格右下角的拖拽柄将嵌套函数复制到下方的若干单元格。
        3)统计前区中奖号码个数
        从表1中可以看到,中奖等级与中奖个数有关。因此,需要分别统计出前区和后区中奖号码的个数。在兑奖机界面右边空白的区域选择W8单元格,在该单元格内输入函数:=COUNTJ8N8)。这个函数的作用是:统计中奖区域J8N8中号码的个数。
        4)统计后区中奖号码个数
        W8单元格右边的X8单元格内输入函数:=COUNTP8Q8)。这个函数的作用是:统计中奖区域P8Q8中号码的个数。
        同时选中W8X8单元格,向下拖动X8单元格右下角的拖拽柄将嵌套函数复制到下方的若干单元格。
        3.3 在设置中奖等级和奖金区域设置公式
        1)判断中奖等级
        由于IF函数最多只能嵌套7个,所以为了判断出中奖等级,需要使用“IF函数的接力设置法[5]”。先在S8单元格输入下列函数:
        =IFORANDW8=2X8=2),ANDW8=3X8=1)),"七等奖"IFORANDW8=3X8=2),ANDW8=4X8=0)),"六等奖"IFANDW8=4X8=1),"五等奖"IFANDW8=4X8=2),"四等奖"IFANDW8=5X8=0),"三等奖"IFANDW8=5X8=1),"二等奖"IFANDW8=5X8=2),"一等奖"Y8)))))))
        接着在Y8单元格输入函数:
        =IFORANDW8=3X8=0),ANDW8=2X8=1),ANDW8=1X8=2),ANDW8=0X8=2)),"八等奖""")。
        上述嵌套函数的作用是:依次判断W8X8中的中奖号码个数,如果符合某等奖的中奖条件,则显示该等奖的名称,否则显示空白。
        2)设置中奖奖金
        U8单元格输入下列函数:
        =IFS8="八等奖""5"IFS8="七等奖""10"IFS8="六等奖""100"IFS8="五等奖""600"IFS8="四等奖""3000"IFORS8="一等奖"S8="二等奖"S8="三等奖"),"浮动奖"""))))))。
        上述函数的作用是:根据S8单元格内显示的中奖等级,显示出对应的中奖奖金。
        3.4 设置显示屏中奖提示语
        1)判断是否中奖
        为了根据是否中奖分别显示出不同的中奖提示语,需要在中奖等级列或中奖奖金列统计出中奖信息数据。现选择在中奖奖金列U列统计中奖信息数据。
        先在U2000单元格输入函数:=1992-COUNTIFU8U1999"")。COUNTIFU8U1999"")函数的作用是:统计中奖奖金区域U8U1999中空单元格的数字,如果全部为空白,即无中奖奖金,则显示1992。此时,1992-COUNTIFU8U1999"")的值为“0”;相反,当中奖奖金区域有中奖奖金时,该值大于或等于1
        注:选择U2000单元格是为了远离数据区域,一般彩民所买注数不会超过2000注,上式中的“1992”U8U1999之间单元格的数目(1999-8+1=1992)。
        2)在中奖提示语显示区域(S2U5)输入函数:
        =IFU2000>=1"恭喜中奖!""感谢你对中国体育事业的支持!")。这个函数的作用是:当U2000>=1时,即中奖时,屏幕上将显示恭喜中奖!;否则,显示感谢你对中国体育事业的支持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。