游戏数值策划的思考
关于游戏数值策划的思考 游戏数值设定属于实践性很强的东西,没太多可以介绍的,而且不同人所用的方式可能大相径庭。想做数值的,应该先把该类型游戏的数值研究透。做RPG,Diablo烂熟是有必要的。下面是我带来的关于游戏数值策划的分析。想了解更多相关资讯请持续关注我们应届毕业生培训网。 制定人物的各种数值项目 设计游戏各种核心公式之前,首先必须制定人物的各种数值项目。这部分范围很广,从各种属性到攻击力、命中率等等都属于人物数值部分。要整理这些乱七八糟的项目有许多方法,因公司而异(其实是因人而异)。我一般采用“关系树”的方式来整合。使用这一结构首先要找到树的根,也就是所有数值共同参考与依据的项目。接下来,由树根衍生出几个重要的节点,再由这些节点衍生更多的枝节。 以MMORPG(最常见类型)为例,很显然以人物等级作为关系树的根是最适当不过的。因为在游戏里,等级的意义基本上代表一个人能力强弱的评判。由等级衍生出来的第二层节点,就是人物的基本属性,一般设定的基本属性包括力量、智力、敏捷、魅力、体质、运气等等。基本属性可多可少,在我设计的游戏中,只选择四种作为第二层节点,以避免分枝过于庞大。我所选择的四种基本属性分别是力量、体质、敏捷、智力(是不是爆土?)前三项为肉体层面、后一种是精神层面。节点选出来之后,只要把剩下来的数值项目依照相应的属性相关挂在节点下面,然后简单的连连看,这株互相纠结的关系树就完成了。 这株关系树是所有核心公式的蓝图,这使得接下来的最复杂工作变得更为清楚。 各种公式的拟定与试算 将人物各种数值定义清楚之后,接下来就是各种公式的计算了。公式的意义就是定义不同属性项目之间的关系,所以在设定公式之前,需先作一次各种成长曲线的函数整理,例如某种成长曲线是大器晚成型的,那就对应二次函数或三次函数的正区间……有了这些整理过后的工具,接下来的工作就是把一条公式所需的各个函数加进来,比如攻击力的计算公式里包含了等级、力量、武器攻击参数、附加值与随机数等。简单拟定公式的模式后,接着就是通过不断的`试算来调整系数、使其平衡。 这部分是策划过程中的一个重点,可能要花若干礼拜面对十几条公式与十几万个试验数值,没亲身经验的人根本难以分析公式的意义,除此之外,与设计、跟踪程序一样,要把调整系数分离出来,以便往后调整平衡度时可以只针对一个系数函数作调整。 除非是D&D基础的系统,不然游戏公式很少会相同的,因为参数不同。设计游戏的公式,要从需求开始着手。考虑的状况越多,参数就越多,你的公式相对就复杂,也就更难平衡。 一般来说,存在竞争的网络游戏的“平衡”并非“平衡”的本来意义,只有相对的制衡,就像生物链一样,MMORPG也一样,各职业间若没有足够的互补或者制衡,就只是个人英雄主义而已)。 简单的说,要设计一个攻击的公式,你会想到什么相关参数? 假设:力量*2+武器附加攻击力=攻击力 就是说这种设计的攻击力是偏重在个人体能上的数值,上面的公式只是角色的攻击力,那么实际攻击呢? 这里还需要设计防御力的公式,假设跟攻击力一样: 基本防御力 + 装备附加防御力=防御力总值 那么再假设战斗公式的设计是: (攻击力总值 – 敌方防御力总值)*5*(50%~150%的随机数修正值)=攻击点数 那战斗的状况除了100%击中以外,还有哪些状况呢? 还有Miss 和Combo、敌人逃跑等等,这些也都要有参数可以运算或者随机数。 上面的公式只是随便写的,但这已经有很多的参数了。其实把你对战斗所做的考虑因素设想好,先不管那些数值要增大或减小,至少所需的参数就都有了。公式设想好再去调整各参数的比重差异,公式里最好保留一些可以调整比例的地方,只要有范围可以调整,将来就不至于牵一发而动全身。 设计升级曲线 公式完成后,可以再设想其它诸如装备、等级限制等问题,接着便是设计升级曲线了。想想你希望这游戏的进行时间及相应状态是怎样的? 玩家从1级开始大约每一级的攻击力可以提升多少?防御力又提升多少?以最佳情况去看(各等级最强状态),套进你的公式里,也就可以知道怎么设定敌人角色数值,获得经验值等,以此便可以设定出最佳状态下升级所需要的时间。MMORPG可以依此计算出玩家升至X级必须花费的最低时间代价,至于防止Power LV(提升等级能力),则是游戏系统设计的问题了,例如能够增加各种能力的物品、法术之类的,这种东西的价格与代价会影响泛滥程度,不过也可以量化计算代价。 这就是所谓的纸上最优化,把公式和数值做成EXCEL表格方便调整,基本定型以后就要等到有Beta版本可以运行后才能测试调试,这时公式中的数值Range便可发挥作用,可以进行微调,而不必为了公式的改动去大幅度修改角色参数。 总之还是要看你希望游戏如何进行,按照你的需要去调整数值以达到目的。目的用大白话来说就像是:我打敌人同时敌人打我,多少等级内不会挂掉?我多少等级,适合打什么样的敌人?而以我设定的最佳情况下(最佳升级路线),打这一等级的怪要打多少只、花多少时间可以升级?……确立你的目的,才能反推出该怎么设计。 拿战棋游戏来说,游戏是一局一局进行的,如果敌人角色数量固定而且没有可反复练功的关卡,那么除了调节战斗公式以外,经验值总数也要计算好,当然,还是可以安排最佳路线。有几个地方可以动手脚: 1.给我方角色一定份额的补给品(像是补HP、补MP之类的) 2.在地图上放些补血宝物 3.增减敌人的数量 4.地图的天然屏障 5.增减我消费型方肉盾角色数量 …… 总之,尽量把要调整的地方设计成Range或者游戏的其它地方,这样才不需要老是和公式搏斗,改了公式又要改全部角色数值,那可是会做恶梦的。另外,在设计难度时,可以比自己设想的稍难一些,因为玩家都是很变态的。 ;
游戏数值策划主要做什么工作 需要学习什么东西
数值策划工作中需要具备的技能:1、如果一个数值策划,不懂得一点点数据库结构,无法自己“参与规划”数据辞典,在具体工作方面会很吃力。例如:整个模块就建了一张表,不分动态,静态表,各种潜规则。作为执行方什么都不懂让别人定下来规则,自己硬着头皮去做,特别是如果程序以前没有做过游戏,作为执行方会很惨。2、如果一个数值策划,不会稍微会一点点语言,无论是lua,C,VBA,fortran最后自己去做战斗工具,脚本工具,光靠在excel表里拉数据,往往会感觉力有不及。例如:做数值常常会感触宝石,装备数据多加10点少加10点不痛不痒,等懂得利用战斗力,利用战斗模拟器数表联调,1点属性偏差都不可以有,否则战斗力会报错,数据会溢出。3、如果一个数值策划不懂得matlab工具,我在很多核心参数的掌握和模型控制上会非常薄弱。当别人问,为什么使用加法公式,为什么这里使用了幂函数,为什么这里要用这种算法的时候,总不能回他一句:“某某游戏,就是这样做的。”扩展资料:1、首先要时刻知道自己的不足,并保持着一颗进取学习的心态。也许一些东西当前工作不是必要的,但是等需要学的时候,会发现已经晚了。2、要有非常强的沟通技巧和理解能力, 在讨论前先沟通定义,不要出现理解偏差,否则错误的执行,返工对于整个团队来说是巨大的损失。3、任何一个软件都不简单,见过会用与“精通”,是两个概念,excel我用了十五年,通晓各种函数组合,特殊用法,但是至今有人还在买各种《excel高效办工》,《精彩用法108条》在学习,学无止境。4、数值是一种思想,是一种设计理念,并非是完全依靠工具,工具只是手段,更多的时候,会发现数值平衡了,但是感受并不平衡。这个时候就是真正考验数值策划功底的时候。有些时候数值思想要远远大于数值工具!
Excel表简单常用的公式有哪些啊?
不知道你想要做出什么样的效果,如果要是简单的计算,如下几个公式就可以下:
以下这些都是常用的函数。
1、ABS函数
函数名称:ABS
主要功能:求出相应数字的绝对值。
使用格式:ABS(number)
参数说明:number代表需要求绝对值的数值或引用的单元格。
应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。
特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。
2、AND函数
函数名称:AND
主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。
使用格式:AND(logical1,logical2, ...)
参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。
应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。
特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。
3、AVERAGE函数
函数名称:AVERAGE
主要功能:求出所有参数的算术平均值。
使用格式:AVERAGE(number1,number2,……)
参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。
应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。
特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。
4、COLUMN 函数
函数名称:COLUMN
主要功能:显示所引用单元格的列标号值。
使用格式:COLUMN(reference)
参数说明:reference为引用的单元格。
应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。
特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。
5、CONCATENATE函数
函数名称:CONCATENATE
主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。
使用格式:CONCATENATE(Text1,Text……)
参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。
应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。
特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。
6、COUNTIF函数
函数名称:COUNTIF
主要功能:统计某个单元格区域中符合指定条件的单元格数目。
使用格式:COUNTIF(Range,Criteria)
参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。
应用举例:在C17单元格中输入公式:=COUNTIF(B1:B13,">=80"),确认后,即可统计出B1至B13单元格区域中,数值大于等于80的单元格数目。
特别提醒:允许引用的单元格区域中有空白单元格出现。
7、DATE函数
函数名称:DATE
主要功能:给出指定数值的日期。
使用格式:DATE(year,month,day)
参数说明:year为指定的年份数值(小于9999);month为指定的月份数值(可以大于12);day为指定的天数。
应用举例:在C20单元格中输入公式:=DATE(2003,13,35),确认后,显示出2004-2-4。
特别提醒:由于上述公式中,月份为13,多了一个月,顺延至2004年1月;天数为35,比2004年1月的实际天数又多了4天,故又顺延至2004年2月4日。
8、函数名称:DATEDIF
主要功能:计算返回两个日期参数的差值。
使用格式:=DATEDIF(date1,date2,"y")、=DATEDIF(date1,date2,"m")、=DATEDIF(date1,date2,"d")
参数说明:date1代表前面一个日期,date2代表后面一个日期;y(m、d)要求返回两个日期相差的年(月、天)数。
应用举例:在C23单元格中输入公式:=DATEDIF(A23,TODAY(),"y"),确认后返回系统当前日期[用TODAY()表示)与A23单元格中日期的差值,并返回相差的年数。
特别提醒:这是Excel中的一个隐藏函数,在函数向导中是找不到的,可以直接输入使用,对于计算年龄、工龄等非常有效。
9、DAY函数
函数名称:DAY
主要功能:求出指定日期或引用单元格中的日期的天数。
使用格式:DAY(serial_number)
参数说明:serial_number代表指定的日期或引用的单元格。
应用举例:输入公式:=DAY("2003-12-18"),确认后,显示出18。
特别提醒:如果是给定的日期,请包含在英文双引号中。
10、DCOUNT函数
函数名称:DCOUNT
主要功能:返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。
使用格式:DCOUNT(database,field,criteria)
参数说明:Database表示需要统计的单元格区域;Field表示函数所使用的数据列(在第一行必须要有标志项);Criteria包含条件的单元格区域。
应用举例:如图1所示,在F4单元格中输入公式:=DCOUNT(A1:D11,"语文",F1:G2),确认后即可求出“语文”列中,成绩大于等于70,而小于80的数值单元格数目(相当于分数段人数)。
特别提醒:如果将上述公式修改为:=DCOUNT(A1:D11,,F1:G2),也可以达到相同目的。
11、FREQUENCY函数
函数名称:FREQUENCY
主要功能:以一列垂直数组返回某个区域中数据的频率分布。
使用格式:FREQUENCY(data_array,bins_array)
参数说明:Data_array表示用来计算频率的一组数据或单元格区域;Bins_array表示为前面数组进行分隔一列数值。
应用举例:如图2所示,同时选中B32至B36单元格区域,输入公式:=FREQUENCY(B2:B31,D2:D36),输入完成后按下“Ctrl+Shift+Enter”组合键进行确认,即可求出B2至B31区域中,按D2至D36区域进行分隔的各段数值的出现频率数目(相当于统计各分数段人数)。
特别提醒:上述输入的是一个数组公式,输入完成后,需要通过按“Ctrl+Shift+Enter”组合键进行确认,确认后公式两端出现一对大括号({}),此大括号不能直接输入。
12、IF函数
函数名称:IF
主要功能:根据对指定条件的逻辑判断的真假结果,返回相对应的内容。
使用格式:=IF(Logical,Value_if_true,Value_if_false)
参数说明:Logical代表逻辑判断表达式;Value_if_true表示当判断条件为逻辑“真(TRUE)”时的显示内容,如果忽略返回“TRUE”;Value_if_false表示当判断条件为逻辑“假(FALSE)”时的显示内容,如果忽略返回“FALSE”。
应用举例:在C29单元格中输入公式:=IF(C26>=18,"符合要求","不符合要求"),确信以后,如果C26单元格中的数值大于或等于18,则C29单元格显示“符合要求”字样,反之显示“不符合要求”字样。
特别提醒:本文中类似“在C29单元格中输入公式”中指定的单元格,读者在使用时,并不需要受其约束,此处只是配合本文所附的实例需要而给出的相应单元格,具体请大家参考所附的实例文件。
13、INDEX函数
函数名称:INDEX
主要功能:返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。
使用格式:INDEX(array,row_num,column_num)
参数说明:Array代表单元格区域或数组常量;Row_num表示指定的行序号(如果省略row_num,则必须有 column_num);Column_num表示指定的列序号(如果省略column_num,则必须有 row_num)。
应用举例:如图3所示,在F8单元格中输入公式:=INDEX(A1:D11,4,3),确认后则显示出A1至D11单元格区域中,第4行和第3列交叉处的单元格(即C4)中的内容。
特别提醒:此处的行序号参数(row_num)和列序号参数(column_num)是相对于所引用的单元格区域而言的,不是Excel工作表中的行或列序号。
14、INT函数
函数名称:INT
主要功能:将数值向下取整为最接近的整数。
使用格式:INT(number)
参数说明:number表示需要取整的数值或包含数值的引用单元格。
应用举例:输入公式:=INT(18.89),确认后显示出18。
特别提醒:在取整时,不进行四舍五入;如果输入的公式为=INT(-18.89),则返回结果为-19。
15、ISERROR函数
函数名称:ISERROR
主要功能:用于测试函数式返回的数值是否有错。如果有错,该函数返回TRUE,反之返回FALSE。
使用格式:ISERROR(value)
参数说明:Value表示需要测试的值或表达式。
应用举例:输入公式:=ISERROR(A35/B35),确认以后,如果B35单元格为空或“0”,则A35/B35出现错误,此时前述函数返回TRUE结果,反之返回FALSE。
特别提醒:此函数通常与IF函数配套使用,如果将上述公式修改为:=IF(ISERROR(A35/B35),"",A35/B35),如果B35为空或“0”,则相应的单元格显示为空,反之显示A35/B35
的结果。
16、LEFT函数
函数名称:LEFT
主要功能:从一个文本字符串的第一个字符开始,截取指定数目的字符。
使用格式:LEFT(text,num_chars)
参数说明:text代表要截字符的字符串;num_chars代表给定的截取数目。
应用举例:假定A38单元格中保存了“我喜欢天极网”的字符串,我们在C38单元格中输入公式:=LEFT(A38,3),确认后即显示出“我喜欢”的字符。
特别提醒:此函数名的英文意思为“左”,即从左边截取,Excel很多函数都取其英文的意思。
17、LEN函数
函数名称:LEN
主要功能:统计文本字符串中字符数目。
使用格式:LEN(text)
参数说明:text表示要统计的文本字符串。
应用举例:假定A41单元格中保存了“我今年28岁”的字符串,我们在C40单元格中输入公式:=LEN(A40),确认后即显示出统计结果“6”。
特别提醒:LEN要统计时,无论中全角字符,还是半角字符,每个字符均计为“1”;与之相对应的一个函数——LENB,在统计时半角字符计为“1”,全角字符计为“2”。
18、MATCH函数
函数名称:MATCH
主要功能:返回在指定方式下与指定数值匹配的数组中元素的相应位置。
使用格式:MATCH(lookup_value,lookup_array,match_type)
参数说明:Lookup_value代表需要在数据表中查找的数值;
Lookup_array表示可能包含所要查找的数值的连续单元格区域;
Match_type表示查找方式的值(-1、0或1)。
如果match_type为-1,查找大于或等于 lookup_value的最小数值,Lookup_array 必须按降序排列;
如果match_type为1,查找小于或等于 lookup_value 的最大数值,Lookup_array 必须按升序排列;
如果match_type为0,查找等于lookup_value 的第一个数值,Lookup_array 可以按任何顺序排列;如果省略match_type,则默认为1。
应用举例:如图4所示,在F2单元格中输入公式:=MATCH(E2,B1:B11,0),确认后则返回查找的结果“9”。
特别提醒:Lookup_array只能为一列或一行。
19、MAX函数
函数名称:MAX
主要功能:求出一组数中的最大值。
使用格式:MAX(number1,number2……)
参数说明:number1,number2……代表需要求最大值的数值或引用单元格(区域),参数不超过30个。
应用举例:输入公式:=MAX(E44:J44,7,8,9,10),确认后即可显示出E44至J44单元和区域和数值7,8,9,10中的最大值。
特别提醒:如果参数中有文本或逻辑值,则忽略。
20、MID函数
函数名称:MID
主要功能:从一个文本字符串的指定位置开始,截取指定数目的字符。
使用格式:MID(text,start_num,num_chars)
参数说明:text代表一个文本字符串;start_num表示指定的起始位置;num_chars表示要截取的数目。
应用举例:假定A47单元格中保存了“我喜欢天极网”的字符串,我们在C47单元格中输入公式:=MID(A47,4,3),确认后即显示出“天极网”的字符。
特别提醒:公式中各参数间,要用英文状态下的逗号“,”隔开。
21、MIN函数
函数名称:MIN
主要功能:求出一组数中的最小值。
使用格式:MIN(number1,number2……)
参数说明:number1,number2……代表需要求最小值的数值或引用单元格(区域),参数不超过30个。
应用举例:输入公式:=MIN(E44:J44,7,8,9,10),确认后即可显示出E44至J44单元和区域和数值7,8,9,10中的最小值。
特别提醒:如果参数中有文本或逻辑值,则忽略。
22、MOD函数
函数名称:MOD
主要功能:求出两数相除的余数。
使用格式:MOD(number,divisor)
参数说明:number代表被除数;divisor代表除数。
应用举例:输入公式:=MOD(13,4),确认后显示出结果“1”。
特别提醒:如果divisor参数为零,则显示错误值“#DIV/0!”;MOD函数可以借用函数INT来表示:上述公式可以修改为:=13-4*INT(13/4)。
23、MONTH函数
函数名称:MONTH
主要功能:求出指定日期或引用单元格中的日期的月份。
使用格式:MONTH(serial_number)
参数说明:serial_number代表指定的日期或引用的单元格。
应用举例:输入公式:=MONTH("2003-12-18"),确认后,显示出11。
特别提醒:如果是给定的日期,请包含在英文双引号中;如果将上述公式修改为:=YEAR("2003-12-18"),则返回年份对应的值“2003”。
24、NOW函数
函数名称:NOW
主要功能:给出当前系统日期和时间。
使用格式:NOW()
参数说明:该函数不需要参数。
应用举例:输入公式:=NOW(),确认后即刻显示出当前系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。
特别提醒:显示出来的日期和时间格式,可以通过单元格格式进行重新设置。
25、OR函数
函数名称:OR
主要功能:返回逻辑值,仅当所有参数值均为逻辑“假(FALSE)”时返回函数结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)”。
使用格式:OR(logical1,logical2, ...)
参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。
应用举例:在C62单元格输入公式:=OR(A62>=60,B62>=60),确认。如果C62中返回TRUE,说明A62和B62中的数值至少有一个大于或等于60,如果返回FALSE,说明A62和B62中的数值都小于60。
特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。
26、RANK函数
函数名称:RANK
主要功能:返回某一数值在一列数值中的相对于其他数值的排位。
使用格式:RANK(Number,ref,order)
参数说明:Number代表需要排序的数值;ref代表排序数值所处的单元格区域;order代表排序方式参数(如果为“0”或者忽略,则按降序排名,即数值越大,排名结果数值越小;如果为非“0”值,则按升序排名,即数值越大,排名结果数值越大;)。
应用举例:如在C2单元格中输入公式:=RANK(B2,$B$2:$B$31,0),确认后即可得出丁1同学的语文成绩在全班成绩中的排名结果。
特别提醒:在上述公式中,我们让Number参数采取了相对引用形式,而让ref参数采取了绝对引用形式(增加了一个“$”符号),这样设置后,选中C2单元格,将鼠标移至该单元格右下角,成细十字线状时(通常称之为“填充柄”),按住左键向下拖拉,即可将上述公式快速复制到C列下面的单元格中,完成其他同学语文成绩的排名统计。
27、RIGHT函数
函数名称:RIGHT
主要功能:从一个文本字符串的最后一个字符开始,截取指定数目的字符。
使用格式:RIGHT(text,num_chars)
参数说明:text代表要截字符的字符串;num_chars代表给定的截取数目。
应用举例:假定A65单元格中保存了“我喜欢天极网”的字符串,我们在C65单元格中输入公式:=RIGHT(A65,3),确认后即显示出“天极网”的字符。
特别提醒:Num_chars参数必须大于或等于0,如果忽略,则默认其为1;如果num_chars参数大于文本长度,则函数返回整个文本。
28、SUBTOTAL函数
函数名称:SUBTOTAL
主要功能:返回列表或数据库中的分类汇总。
使用格式:SUBTOTAL(function_num, ref1, ref2, ...)
参数说明:Function_num为1到11(包含隐藏值)或101到111(忽略隐藏值)之间的数字,用来指定使用什么函数在列表中进行分类汇总计算(如图6);ref1, ref2,……代表要进行分类汇总区域或引用,不超过29个。
应用举例:如图7所示,在B64和C64单元格中分别输入公式:=SUBTOTAL(3,C2:C63)和=SUBTOTAL103,C2:C63),并且将61行隐藏起来,确认后,前者显示为62(包括隐藏的行),后者显示为61,不包括隐藏的行。
特别提醒:如果采取自动筛选,无论function_num参数选用什么类型,SUBTOTAL函数忽略任何不包括在筛选结果中的行;SUBTOTAL函数适用于数据列或垂直区域,不适用于数据行或水平区域。
29、函数名称:SUM
主要功能:计算所有参数数值的和。
使用格式:SUM(Number1,Number2……)
参数说明:Number1、Number2……代表需要计算的值,可以是具体的数值、引用的单元格(区域)、逻辑值等。
应用举例:如图7所示,在D64单元格中输入公式:=SUM(D2:D63),确认后即可求出语文的总分。
特别提醒:如果参数为数组或引用,只有其中的数字将被计算。数组或引用中的空白单元格、逻辑值、文本或错误值将被忽略;如果将上述公式修改为:=SUM(LARGE(D2:D63,{1,2,3,4,5})),则可以求出前5名成绩的和。
30、SUMIF函数
函数名称:SUMIF
主要功能:计算符合指定条件的单元格区域内的数值和。
使用格式:SUMIF(Range,Criteria,Sum_Range)
参数说明:Range代表条件判断的单元格区域;Criteria为指定条件表达式;Sum_Range代表需要计算的数值所在的单元格区域。
应用举例:如图7所示,在D64单元格中输入公式:=SUMIF(C2:C63,"男",D2:D63),确认后即可求出“男”生的语文成绩和。
特别提醒:如果把上述公式修改为:=SUMIF(C2:C63,"女",D2:D63),即可求出“女”生的语文成绩和;其中“男”和“女”由于是文本型的,需要放在英文状态下的双引号("男"、"女")中。
31、TEXT函数
函数名称:TEXT
主要功能:根据指定的数值格式将相应的数字转换为文本形式。
使用格式:TEXT(value,format_text)
参数说明:value代表需要转换的数值或引用的单元格;format_text为指定文字形式的数字格式。
应用举例:如果B68单元格中保存有数值1280.45,我们在C68单元格中输入公式:=TEXT(B68, "$0.00"),确认后显示为“$1280.45”。
特别提醒:format_text参数可以根据“单元格格式”对话框“数字”标签中的类型进行确定。
32、TODAY函数
函数名称:TODAY
主要功能:给出系统日期。
使用格式:TODAY()
参数说明:该函数不需要参数。
应用举例:输入公式:=TODAY(),确认后即刻显示出系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。
特别提醒:显示出来的日期格式,可以通过单元格格式进行重新设置(参见附件)。
33、VALUE函数
函数名称:VALUE
主要功能:将一个代表数值的文本型字符串转换为数值型。
使用格式:VALUE(text)
参数说明:text代表需要转换文本型字符串数值。
应用举例:如果B74单元格中是通过LEFT等函数截取的文本型字符串,我们在C74单元格中输入公式:=VALUE(B74),确认后,即可将其转换为数值型。
特别提醒:如果文本型数值不经过上述转换,在用函数处理这些数值时,常常返回错误。
34、VLOOKUP函数
函数名称:VLOOKUP
主要功能:在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值。
使用格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数说明:Lookup_value代表需要查找的数值;Table_array代表需要在其中查找数据的单元格区域;Col_index_num为在table_array区域中待返回的匹配值的列序号(当Col_index_num为2时,返回table_array第2列中的数值,为3时,返回第3列的值……);Range_lookup为一逻辑值,如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果为FALSE,则返回精确匹配值,如果找不到,则返回错误值#N/A。
应用举例:参见图7,我们在D65单元格中输入公式:=VLOOKUP(B65,B2:D63,3,FALSE),确认后,只要在B65单元格中输入一个学生的姓名(如丁48),D65单元格中即刻显示出该学生的语言成绩。
特别提醒:Lookup_value参见必须在Table_array区域的首列中;如果忽略Range_lookup参数,则Table_array的首列必须进行排序;在此函数的向导中,有关Range_lookup参数的用法是错误的。
35、WEEKDAY函数
函数名称:WEEKDAY
主要功能:给出指定日期的对应的星期数。
使用格式:WEEKDAY(serial_number,return_type)
参数说明:serial_number代表指定的日期或引用含有日期的单元格;return_type代表星期的表示方式[当Sunday(星期日)为1、Saturday(星期六)为7时,该参数为1;当Monday(星期一)为1、Sunday(星期日)为7时,该参数为2(这种情况符合中国人的习惯);当Monday(星期一)为0、Sunday(星期日)为6时,该参数为3]。
应用举例:输入公式:=WEEKDAY(TODAY(),2),确认后即给出系统日期的星期数。
特别提醒:如果是指定的日期,请放在英文状态下的双引号中,如=WEEKDAY("2003-12-18",2)。
EXCEL常用公式有哪些?
以下这些都是常用的函数。
1、ABS函数
函数名称:ABS
主要功能:求出相应数字的绝对值。
使用格式:ABS(number)
参数说明:number代表需要求绝对值的数值或引用的单元格。
应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。
特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。
2、AND函数
函数名称:AND
主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。
使用格式:AND(logical1,logical2, ...)
参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。
应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。
特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。
3、AVERAGE函数
函数名称:AVERAGE
主要功能:求出所有参数的算术平均值。
使用格式:AVERAGE(number1,number2,……)
参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。
应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。
特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。
4、COLUMN 函数
函数名称:COLUMN
主要功能:显示所引用单元格的列标号值。
使用格式:COLUMN(reference)
参数说明:reference为引用的单元格。
应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。
特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。
5、CONCATENATE函数
函数名称:CONCATENATE
主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。
使用格式:CONCATENATE(Text1,Text……)
参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。
应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。
特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。
6、COUNTIF函数
函数名称:COUNTIF
主要功能:统计某个单元格区域中符合指定条件的单元格数目。
使用格式:COUNTIF(Range,Criteria)
参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。
应用举例:在C17单元格中输入公式:=COUNTIF(B1:B13,">=80"),确认后,即可统计出B1至B13单元格区域中,数值大于等于80的单元格数目。
特别提醒:允许引用的单元格区域中有空白单元格出现。
7、DATE函数
函数名称:DATE
主要功能:给出指定数值的日期。
使用格式:DATE(year,month,day)
参数说明:year为指定的年份数值(小于9999);month为指定的月份数值(可以大于12);day为指定的天数。
应用举例:在C20单元格中输入公式:=DATE(2003,13,35),确认后,显示出2004-2-4。
特别提醒:由于上述公式中,月份为13,多了一个月,顺延至2004年1月;天数为35,比2004年1月的实际天数又多了4天,故又顺延至2004年2月4日。
8、函数名称:DATEDIF
主要功能:计算返回两个日期参数的差值。
使用格式:=DATEDIF(date1,date2,"y")、=DATEDIF(date1,date2,"m")、=DATEDIF(date1,date2,"d")
参数说明:date1代表前面一个日期,date2代表后面一个日期;y(m、d)要求返回两个日期相差的年(月、天)数。
应用举例:在C23单元格中输入公式:=DATEDIF(A23,TODAY(),"y"),确认后返回系统当前日期[用TODAY()表示)与A23单元格中日期的差值,并返回相差的年数。
特别提醒:这是Excel中的一个隐藏函数,在函数向导中是找不到的,可以直接输入使用,对于计算年龄、工龄等非常有效。
9、DAY函数
函数名称:DAY
主要功能:求出指定日期或引用单元格中的日期的天数。
使用格式:DAY(serial_number)
参数说明:serial_number代表指定的日期或引用的单元格。
应用举例:输入公式:=DAY("2003-12-18"),确认后,显示出18。
特别提醒:如果是给定的日期,请包含在英文双引号中。
10、DCOUNT函数
函数名称:DCOUNT
主要功能:返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。
使用格式:DCOUNT(database,field,criteria)
参数说明:Database表示需要统计的单元格区域;Field表示函数所使用的数据列(在第一行必须要有标志项);Criteria包含条件的单元格区域。
应用举例:如图1所示,在F4单元格中输入公式:=DCOUNT(A1:D11,"语文",F1:G2),确认后即可求出“语文”列中,成绩大于等于70,而小于80的数值单元格数目(相当于分数段人数)。
特别提醒:如果将上述公式修改为:=DCOUNT(A1:D11,,F1:G2),也可以达到相同目的。
11、FREQUENCY函数
函数名称:FREQUENCY
主要功能:以一列垂直数组返回某个区域中数据的频率分布。
使用格式:FREQUENCY(data_array,bins_array)
参数说明:Data_array表示用来计算频率的一组数据或单元格区域;Bins_array表示为前面数组进行分隔一列数值。
应用举例:如图2所示,同时选中B32至B36单元格区域,输入公式:=FREQUENCY(B2:B31,D2:D36),输入完成后按下“Ctrl+Shift+Enter”组合键进行确认,即可求出B2至B31区域中,按D2至D36区域进行分隔的各段数值的出现频率数目(相当于统计各分数段人数)。
特别提醒:上述输入的是一个数组公式,输入完成后,需要通过按“Ctrl+Shift+Enter”组合键进行确认,确认后公式两端出现一对大括号({}),此大括号不能直接输入。
12、IF函数
函数名称:IF
主要功能:根据对指定条件的逻辑判断的真假结果,返回相对应的内容。
使用格式:=IF(Logical,Value_if_true,Value_if_false)
参数说明:Logical代表逻辑判断表达式;Value_if_true表示当判断条件为逻辑“真(TRUE)”时的显示内容,如果忽略返回“TRUE”;Value_if_false表示当判断条件为逻辑“假(FALSE)”时的显示内容,如果忽略返回“FALSE”。
应用举例:在C29单元格中输入公式:=IF(C26>=18,"符合要求","不符合要求"),确信以后,如果C26单元格中的数值大于或等于18,则C29单元格显示“符合要求”字样,反之显示“不符合要求”字样。
特别提醒:本文中类似“在C29单元格中输入公式”中指定的单元格,读者在使用时,并不需要受其约束,此处只是配合本文所附的实例需要而给出的相应单元格,具体请大家参考所附的实例文件。
13、INDEX函数
函数名称:INDEX
主要功能:返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。
使用格式:INDEX(array,row_num,column_num)
参数说明:Array代表单元格区域或数组常量;Row_num表示指定的行序号(如果省略row_num,则必须有 column_num);Column_num表示指定的列序号(如果省略column_num,则必须有 row_num)。
应用举例:如图3所示,在F8单元格中输入公式:=INDEX(A1:D11,4,3),确认后则显示出A1至D11单元格区域中,第4行和第3列交叉处的单元格(即C4)中的内容。
特别提醒:此处的行序号参数(row_num)和列序号参数(column_num)是相对于所引用的单元格区域而言的,不是Excel工作表中的行或列序号。
14、INT函数
函数名称:INT
主要功能:将数值向下取整为最接近的整数。
使用格式:INT(number)
参数说明:number表示需要取整的数值或包含数值的引用单元格。
应用举例:输入公式:=INT(18.89),确认后显示出18。
特别提醒:在取整时,不进行四舍五入;如果输入的公式为=INT(-18.89),则返回结果为-19。
15、ISERROR函数
函数名称:ISERROR
主要功能:用于测试函数式返回的数值是否有错。如果有错,该函数返回TRUE,反之返回FALSE。
使用格式:ISERROR(value)
参数说明:Value表示需要测试的值或表达式。
应用举例:输入公式:=ISERROR(A35/B35),确认以后,如果B35单元格为空或“0”,则A35/B35出现错误,此时前述函数返回TRUE结果,反之返回FALSE。
特别提醒:此函数通常与IF函数配套使用,如果将上述公式修改为:=IF(ISERROR(A35/B35),"",A35/B35),如果B35为空或“0”,则相应的单元格显示为空,反之显示A35/B35
的结果。
16、LEFT函数
函数名称:LEFT
主要功能:从一个文本字符串的第一个字符开始,截取指定数目的字符。
使用格式:LEFT(text,num_chars)
参数说明:text代表要截字符的字符串;num_chars代表给定的截取数目。
应用举例:假定A38单元格中保存了“我喜欢天极网”的字符串,我们在C38单元格中输入公式:=LEFT(A38,3),确认后即显示出“我喜欢”的字符。
特别提醒:此函数名的英文意思为“左”,即从左边截取,Excel很多函数都取其英文的意思。
17、LEN函数
函数名称:LEN
主要功能:统计文本字符串中字符数目。
使用格式:LEN(text)
参数说明:text表示要统计的文本字符串。
应用举例:假定A41单元格中保存了“我今年28岁”的字符串,我们在C40单元格中输入公式:=LEN(A40),确认后即显示出统计结果“6”。
特别提醒:LEN要统计时,无论中全角字符,还是半角字符,每个字符均计为“1”;与之相对应的一个函数——LENB,在统计时半角字符计为“1”,全角字符计为“2”。
18、MATCH函数
函数名称:MATCH
主要功能:返回在指定方式下与指定数值匹配的数组中元素的相应位置。
使用格式:MATCH(lookup_value,lookup_array,match_type)
参数说明:Lookup_value代表需要在数据表中查找的数值;
Lookup_array表示可能包含所要查找的数值的连续单元格区域;
Match_type表示查找方式的值(-1、0或1)。
如果match_type为-1,查找大于或等于 lookup_value的最小数值,Lookup_array 必须按降序排列;
如果match_type为1,查找小于或等于 lookup_value 的最大数值,Lookup_array 必须按升序排列;
如果match_type为0,查找等于lookup_value 的第一个数值,Lookup_array 可以按任何顺序排列;如果省略match_type,则默认为1。
应用举例:如图4所示,在F2单元格中输入公式:=MATCH(E2,B1:B11,0),确认后则返回查找的结果“9”。
特别提醒:Lookup_array只能为一列或一行。
19、MAX函数
函数名称:MAX
主要功能:求出一组数中的最大值。
使用格式:MAX(number1,number2……)
参数说明:number1,number2……代表需要求最大值的数值或引用单元格(区域),参数不超过30个。
应用举例:输入公式:=MAX(E44:J44,7,8,9,10),确认后即可显示出E44至J44单元和区域和数值7,8,9,10中的最大值。
特别提醒:如果参数中有文本或逻辑值,则忽略。
20、MID函数
函数名称:MID
主要功能:从一个文本字符串的指定位置开始,截取指定数目的字符。
使用格式:MID(text,start_num,num_chars)
参数说明:text代表一个文本字符串;start_num表示指定的起始位置;num_chars表示要截取的数目。
应用举例:假定A47单元格中保存了“我喜欢天极网”的字符串,我们在C47单元格中输入公式:=MID(A47,4,3),确认后即显示出“天极网”的字符。
特别提醒:公式中各参数间,要用英文状态下的逗号“,”隔开。
21、MIN函数
函数名称:MIN
主要功能:求出一组数中的最小值。
使用格式:MIN(number1,number2……)
参数说明:number1,number2……代表需要求最小值的数值或引用单元格(区域),参数不超过30个。
应用举例:输入公式:=MIN(E44:J44,7,8,9,10),确认后即可显示出E44至J44单元和区域和数值7,8,9,10中的最小值。
特别提醒:如果参数中有文本或逻辑值,则忽略。
22、MOD函数
函数名称:MOD
主要功能:求出两数相除的余数。
使用格式:MOD(number,divisor)
参数说明:number代表被除数;divisor代表除数。
应用举例:输入公式:=MOD(13,4),确认后显示出结果“1”。
特别提醒:如果divisor参数为零,则显示错误值“#DIV/0!”;MOD函数可以借用函数INT来表示:上述公式可以修改为:=13-4*INT(13/4)。
23、MONTH函数
函数名称:MONTH
主要功能:求出指定日期或引用单元格中的日期的月份。
使用格式:MONTH(serial_number)
参数说明:serial_number代表指定的日期或引用的单元格。
应用举例:输入公式:=MONTH("2003-12-18"),确认后,显示出11。
特别提醒:如果是给定的日期,请包含在英文双引号中;如果将上述公式修改为:=YEAR("2003-12-18"),则返回年份对应的值“2003”。
24、NOW函数
函数名称:NOW
主要功能:给出当前系统日期和时间。
使用格式:NOW()
参数说明:该函数不需要参数。
应用举例:输入公式:=NOW(),确认后即刻显示出当前系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。
特别提醒:显示出来的日期和时间格式,可以通过单元格格式进行重新设置。
25、OR函数
函数名称:OR
主要功能:返回逻辑值,仅当所有参数值均为逻辑“假(FALSE)”时返回函数结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)”。
使用格式:OR(logical1,logical2, ...)
参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。
应用举例:在C62单元格输入公式:=OR(A62>=60,B62>=60),确认。如果C62中返回TRUE,说明A62和B62中的数值至少有一个大于或等于60,如果返回FALSE,说明A62和B62中的数值都小于60。
特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。
26、RANK函数
函数名称:RANK
主要功能:返回某一数值在一列数值中的相对于其他数值的排位。
使用格式:RANK(Number,ref,order)
参数说明:Number代表需要排序的数值;ref代表排序数值所处的单元格区域;order代表排序方式参数(如果为“0”或者忽略,则按降序排名,即数值越大,排名结果数值越小;如果为非“0”值,则按升序排名,即数值越大,排名结果数值越大;)。
应用举例:如在C2单元格中输入公式:=RANK(B2,$B$2:$B$31,0),确认后即可得出丁1同学的语文成绩在全班成绩中的排名结果。
特别提醒:在上述公式中,我们让Number参数采取了相对引用形式,而让ref参数采取了绝对引用形式(增加了一个“$”符号),这样设置后,选中C2单元格,将鼠标移至该单元格右下角,成细十字线状时(通常称之为“填充柄”),按住左键向下拖拉,即可将上述公式快速复制到C列下面的单元格中,完成其他同学语文成绩的排名统计。
27、RIGHT函数
函数名称:RIGHT
主要功能:从一个文本字符串的最后一个字符开始,截取指定数目的字符。
使用格式:RIGHT(text,num_chars)
参数说明:text代表要截字符的字符串;num_chars代表给定的截取数目。
应用举例:假定A65单元格中保存了“我喜欢天极网”的字符串,我们在C65单元格中输入公式:=RIGHT(A65,3),确认后即显示出“天极网”的字符。
特别提醒:Num_chars参数必须大于或等于0,如果忽略,则默认其为1;如果num_chars参数大于文本长度,则函数返回整个文本。
28、SUBTOTAL函数
函数名称:SUBTOTAL
主要功能:返回列表或数据库中的分类汇总。
使用格式:SUBTOTAL(function_num, ref1, ref2, ...)
参数说明:Function_num为1到11(包含隐藏值)或101到111(忽略隐藏值)之间的数字,用来指定使用什么函数在列表中进行分类汇总计算(如图6);ref1, ref2,……代表要进行分类汇总区域或引用,不超过29个。
应用举例:如图7所示,在B64和C64单元格中分别输入公式:=SUBTOTAL(3,C2:C63)和=SUBTOTAL103,C2:C63),并且将61行隐藏起来,确认后,前者显示为62(包括隐藏的行),后者显示为61,不包括隐藏的行。
特别提醒:如果采取自动筛选,无论function_num参数选用什么类型,SUBTOTAL函数忽略任何不包括在筛选结果中的行;SUBTOTAL函数适用于数据列或垂直区域,不适用于数据行或水平区域。
29、函数名称:SUM
主要功能:计算所有参数数值的和。
使用格式:SUM(Number1,Number2……)
参数说明:Number1、Number2……代表需要计算的值,可以是具体的数值、引用的单元格(区域)、逻辑值等。
应用举例:如图7所示,在D64单元格中输入公式:=SUM(D2:D63),确认后即可求出语文的总分。
特别提醒:如果参数为数组或引用,只有其中的数字将被计算。数组或引用中的空白单元格、逻辑值、文本或错误值将被忽略;如果将上述公式修改为:=SUM(LARGE(D2:D63,{1,2,3,4,5})),则可以求出前5名成绩的和。
30、SUMIF函数
函数名称:SUMIF
主要功能:计算符合指定条件的单元格区域内的数值和。
使用格式:SUMIF(Range,Criteria,Sum_Range)
参数说明:Range代表条件判断的单元格区域;Criteria为指定条件表达式;Sum_Range代表需要计算的数值所在的单元格区域。
应用举例:如图7所示,在D64单元格中输入公式:=SUMIF(C2:C63,"男",D2:D63),确认后即可求出“男”生的语文成绩和。
特别提醒:如果把上述公式修改为:=SUMIF(C2:C63,"女",D2:D63),即可求出“女”生的语文成绩和;其中“男”和“女”由于是文本型的,需要放在英文状态下的双引号("男"、"女")中。
31、TEXT函数
函数名称:TEXT
主要功能:根据指定的数值格式将相应的数字转换为文本形式。
使用格式:TEXT(value,format_text)
参数说明:value代表需要转换的数值或引用的单元格;format_text为指定文字形式的数字格式。
应用举例:如果B68单元格中保存有数值1280.45,我们在C68单元格中输入公式:=TEXT(B68, "$0.00"),确认后显示为“$1280.45”。
特别提醒:format_text参数可以根据“单元格格式”对话框“数字”标签中的类型进行确定。
32、TODAY函数
函数名称:TODAY
主要功能:给出系统日期。
使用格式:TODAY()
参数说明:该函数不需要参数。
应用举例:输入公式:=TODAY(),确认后即刻显示出系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。
特别提醒:显示出来的日期格式,可以通过单元格格式进行重新设置(参见附件)。
33、VALUE函数
函数名称:VALUE
主要功能:将一个代表数值的文本型字符串转换为数值型。
使用格式:VALUE(text)
参数说明:text代表需要转换文本型字符串数值。
应用举例:如果B74单元格中是通过LEFT等函数截取的文本型字符串,我们在C74单元格中输入公式:=VALUE(B74),确认后,即可将其转换为数值型。
特别提醒:如果文本型数值不经过上述转换,在用函数处理这些数值时,常常返回错误。
34、VLOOKUP函数
函数名称:VLOOKUP
主要功能:在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值。
使用格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数说明:Lookup_value代表需要查找的数值;Table_array代表需要在其中查找数据的单元格区域;Col_index_num为在table_array区域中待返回的匹配值的列序号(当Col_index_num为2时,返回table_array第2列中的数值,为3时,返回第3列的值……);Range_lookup为一逻辑值,如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果为FALSE,则返回精确匹配值,如果找不到,则返回错误值#N/A。
应用举例:参见图7,我们在D65单元格中输入公式:=VLOOKUP(B65,B2:D63,3,FALSE),确认后,只要在B65单元格中输入一个学生的姓名(如丁48),D65单元格中即刻显示出该学生的语言成绩。
特别提醒:Lookup_value参见必须在Table_array区域的首列中;如果忽略Range_lookup参数,则Table_array的首列必须进行排序;在此函数的向导中,有关Range_lookup参数的用法是错误的。
35、WEEKDAY函数
函数名称:WEEKDAY
主要功能:给出指定日期的对应的星期数。
使用格式:WEEKDAY(serial_number,return_type)
参数说明:serial_number代表指定的日期或引用含有日期的单元格;return_type代表星期的表示方式[当Sunday(星期日)为1、Saturday(星期六)为7时,该参数为1;当Monday(星期一)为1、Sunday(星期日)为7时,该参数为2(这种情况符合中国人的习惯);当Monday(星期一)为0、Sunday(星期日)为6时,该参数为3]。
应用举例:输入公式:=WEEKDAY(TODAY(),2),确认后即给出系统日期的星期数。
特别提醒:如果是指定的日期,请放在英文状态下的双引号中,如=WEEKDAY("2003-12-18",2)。
怎么学习游戏数值策划?
数值策划师需要有较强的数学逻辑,但是不必很复杂,懂数值分析,能够熟练运用EXCEL就行了!数值策划师也要知道心理学方面的知识,因为这样才能够知道自己设置的数值会对玩家造成什么样的影响。 主要工具就2个就够了,WORD和EXCEL!这个职位要求很高,没有很严密的逻辑思维是很难胜任的。此外,还需要有系统设计能力。因为一般数值策划都能够兼任系统策划,一般这两个职位都需要很严密的逻辑思维能力,以及系统设计能力,所以好的数值策划也一定是好的系统策划。如果大学里面数学就很好,那一般都没问题。另外,如果条件允许的话,可以考虑找一家专业的游戏培训机构学习以下,这样更有效率。数值策划主要职责是:进行数值的平衡和制定,游戏中各种公式的设计,以及整个经济系统的搭建,整个战斗系统的设计等。根据公司和项目不同,可能还包括同战斗系统和数值密切相关的,如职业系统、技能系统、装备系统、精炼打造系统等系统的设计。此外,需要关卡策划的辅助进行怪物数值的制定,需要系统策划配合,进行系统中各种数值的设定等。
游戏数值策划,策划游戏数值(3)弄懂等级和经验值的设计
这个系列上一篇已经是很久之前写的了,如果承接上文,这篇文章应该和大家聊聊“战力价值”。但我最近对“等级”的设计又有了更深刻的理解,因此想给大家优先分享这部分,没错,老李我就是这么随性。 众所周知,游戏数值是要依赖于游戏本身的设计的。没有游戏设计的数值设计不过是纸上谈兵。这段时间我也在思索这个问题。大家也知道我最近一直在做的MMORPG学习项目,这个项目中还是很多需要设计的内容,因此也用这个项目来和大家一起完成这样一款MMORPG游戏的数值设计过程吧! 项目已经开源在github上,欢迎小伙伴们star Liweimin0512/uRPGgithub.com 我们数值设计的部分,放在 设计 目录下的 数值设定 目录下,如下图所示: 所以某种意义上,这依然是MMORPG开发日志的一部分,只不过我将其发布在了讲述 游戏策划 的这个专栏里。 RPG游戏一定要有“等级”。 我这里说的等级是一个宽泛的概念,可能它并不是一个用户(玩家)直观感受到的数字,但它却是用户(玩家)直观感受到的一个 核心参数 。所谓核心参数,就是游戏核心玩法,或者说核心成长模块的一个总影响参数,实际上游戏中的等级大多时候扮演这样的角色。 这其实是对于玩家和我们开发者(特别是我们游戏数值策划)两方面而言的。 对于玩家而言,这个核心参数势必是他最关注的,为什么?因为这样的一个参数,影响了游戏中的各个方面,换句话说就是“游戏进程”,回想一下,传统MMORPG的做法是怎么样的?游戏中可能有装备系统、技能系统、天赋系统等核心培养系统,也会有注入副本、战场和竞技场等玩法。而这些系统和玩法,通常都是伴随等级开启和变化的。 而对于开发者(数值策划)而言,这种对于游戏进程的控制是我们有意为之的。游戏中玩家的角色 必须 成长。这是RPG游戏的核心体验之一。但成长就伴随着数值变化,这种变化在MMO(大型多人同时在线)游戏中就会衍生出平衡问题。平衡——或者说角色间的强弱平衡变得尤为关键。 后来的MMORPG在这方面发展进步,甚至以“取消等级”作为宣传噱头,但我们知道,这些游戏通常只是取消了玩家肉眼可见的“等级”。但约束玩家游戏进程的核心参数只是换了种形式继续存在罢了。 这里我插一句题外话,即使只是将玩家可见的“等级”去掉,也已经是很大的进步,因为这种移除并不是简单地“删掉”。而是要为此付出更大的代价。因为等级被删除而导致的问题也随之而来,特别是在前中期。 比如:玩家初期目标变得很不明确;玩家前期缺少核心追求容易流失等。 当我们将等级移除后暴露的问题出现后,我们也就更清楚等级存在的意义。 但如果等级仅仅是一个数值,而没有对游戏中的其他任何系统产生影响,那么这个等级也就变得毫无意义。因此我们要清楚一个在浅显不过的道理: 等级先天不是核心参数,核心参数先天就是等级。 一句话,等级是一个性价比极高的设计。在没有十足的把握和经验能将其去掉前,建议沿用。 我热爱等级,但这毕竟不是一篇对等级歌功颂德的文章(笑),因此让我们来实际动手设计一下我们的等级吧! 这里我们设计我们的游戏包含60级,在满级之后继续积攒经验值就可以获得“巅峰等级”。也就是说等级是没有上限的(暴露了我们要做一个刷子游戏的企图)。并且,我们预期玩家每天游玩2小时,可以玩两个月。 然后我们直接拉出一切的开始: 然后我简单在心里捣鼓了一下,我们预期的是,第一天10级,第二天5级,第三天3级,第四天2级,这就是20级,然后从第5天到第25天,维持平均每天1级的节奏,这样就是40级。现在还剩20级,还剩35天,我们让最后的10天两天才能升1级,这样中间的10级就需要15天来升,就是1.5天一级的节奏。 我们保持着等级越来越难升的节奏,从最开始的的1天多级,迅速变为1日1级,之后过渡为一天半1级到最终的2天一级。 不知道为什么,就觉得还挺合理的。 为什么最开始的时候是一天多级?这是我们被运营方调教的结果。特别是手机游戏用户,在最开始的几天对于游戏的粘度低到夸张的地步。而运营方有过分关注注入“次日留存”、“7日留存”等数据。因此我们要在开始时尽可能的感受到自己的“成果”。 所以第一天10级其实已经很保守了。 然后说回来,上面只是我们简单估算的,但要是实际的效果,我们还是采用公式来简化我们的操作,因为我们想要达到的效果是每个等级循序渐进的。这里我们用公式来算出每一级所用的时间,单位是秒。 公式有很多,设计等级我更喜欢使用分段的幂函数。这样能够达到每个等级段(通常是10级为一个等级段)内都有难度变化。这是《梦幻西游》采用的设计,因为每个10级通常都是一个重要的“里程碑”,会解锁一些新的玩法或系统,并且武器装备也会更新换代。因此在每个等级段开始时迅速升级,在末期放缓升级速度,让玩家在一段时间内感受到压力,在跨过等级段时候压力得到释放,如此循环达到心流效果。 我之前说过,许多初级数值容易犯的错误,就是本末倒置,固执的坚持或者说信奉某个公式的完美。应该意识到公式只是我们数值实现目的的手段。换句话说,上述我们的等级配置表,完全可以通过手填的方式来搞定,只是这样会更麻烦一些罢了。 既然是设计分段函数,那么我们就要有不同等级段的参数。如上图所示,其中指数、乘数和加数的含义我们之后介绍。 作为分段函数,我们就需要一个代表等级所在分段的辅助列,如下图所示: 怎么做到的?手填其实也可以的,只是我比较懒,所以用了个公式完成这个操作: 我们通过将等级/9.9然后向上取整就可以了,其实这也是我们设计的意图,只是通过公式的方式让excel理解了我们的设计意图而已。 之后就是最关键的,时间等级曲线,我们先用mod函数,将每个分段的等级从小到大排序。 很简单,我们用mod(等级,10)的方式就将10级之内的数从小到大编号了,但每个10级都会变成0,这会干扰我们的公式,因此我们在mod(等级,10)基础上+1(或者+2),这取决于我们希望曲线是什么样的。 理解了上面的操作,就不难看懂这个公式了,我们通过Index和分段辅助列,找到相应的指数、乘数和加数,然后和编号运算就得到了我们想要的时间: 之后就是将时间单位从秒转化为day,要注意这里我们所说的“天”只是一个预期参数,是基于玩家每天的游戏时间为2个小时的。但玩家理论上可以每天游戏10分钟或24小时。如果玩家游玩时间少于预期时间,那是另一个问题不在这个讨论之列。但如果玩家每天的游戏时间严重超出预期,就要设计相应的手段,比如手游中有简单粗糙的“锁等级”机制。 之后就是求出累计时间,同样是秒、天两种单位都拉出来,方便我们调整。 也许你已经注意到这里的分段用时,其实是为了让我们的最终设计符合最开始的预期。这里我们只是将曲线中需要的数据提取到这里,方便我们调整指数、乘数和加数时更快速的看到用时,然后不断地调整。 上图中这一列我没有标注,但聪明的读者应该已经意识到,这其实是加数辅助列。我们在公式中设计加数的目的就是让每个分段的起点都能和上一个分段的终点接上(简单说就是这个分段的1级要比上个分段的满级耗时更长),这个加数只要比上一级的耗时长即可,我们这里直接等于上一级的用时。 通过调整指数、乘数观察曲线变化也能推断出参数的含义。指数决定了曲线的陡峭程度,也就是每一级耗时的变化剧烈程度。而乘数则是放大了涨幅的数值。 至此,我们等级耗时曲线就设计完了。 本来打算用一篇文章讲清楚等级经验的数值设计。但看起来仅仅是等级耗时曲线就啰嗦了很多,那么这篇文章就先到这里吧,下一篇文章我们继续讲经验值的产出设计完成。完结等级经验值的产出与消耗数值设计。
数值策划的游戏完成平衡性的技巧
翻译:张三丰语嫣作者:美国Tom Cadwell概要:关于游戏平衡性技巧的资料并不普及。这篇文章有意通过描述游戏平衡和不平衡的性质,以及如何达到游戏平衡的过方法这两个方面来填补这个信息空白。这个方法非常依赖于现有的系统工程技能以及公认的游戏设计理论。大量的案例学习及故事被采用来帮助将方法和具体的设计结合起来。一个伟大的设计和一个杰出的游戏之间往往只有一个缺乏游戏平衡性的区别。多数游戏策划要通过反复试验才学会游戏平衡的基本原理。如果他们幸运的话,也许可以得到同事传授的一两个小窍门。精通游戏平衡的人往往警惕地保守着自己的秘密,或者无心与人分享。结果是虽然有关游戏平衡性的信息确实存在,但是可得到的却很少。这篇文章试图阐述一个获得游戏平衡性的方法。
请问成为一名数值策划需要哪些数学知识?
要成为一名数值策划的话,初中到高中的一次到n次方程,等比等差数列,二级等差数列等,以及大学里概率论的正态分布的基本知识都是需要掌握的。如果学有余力,像线性代数,博弈论,运筹学方面的知识对数值策划也是很有帮助的。在软件方面需要掌握excel的宏,对测试数据很有帮助。如果想成为数值策划,还可以参考一些电子游戏和桌面游戏规则,比如《战锤》和《龙与地下城》,对实际开发很有好处。
游戏数值策划,是做什么的?
你好,我是游戏领域创作者星辰,下面由我来回答您的问题数值策划表面意思理解,凡是游戏中跟数据扯上关系的多半离不开数值策划,所以数值策划最好同时具备系统策划的能力,或者至少具备了解系统设计的能力。游戏的玩法、系统设计和数值设计是相互关联不可分割的。以免费MMORPG为例,如果是玩装备的游戏,数值策划就需要向装备分配更多的属性;如果游戏重视免费玩家,需要鼓动免费玩家与付费玩家发生互动,就需要设置相应的数值陷阱,令两者有交互的动力,等等。数值策划经常要一遍又一遍地玩自己的游戏,做大量的测试以验证数值本身的准确性。这个过程是非常枯燥的,所以要成为一个好的数值策划,耐心必不可少。数值策划的数学功底逃不掉,从实际来看,至少高中数学要好,但是如果能学到微积分更好,至少我自己帮忙做数值的时候遇到过两三次需要动用到微积分的问题(然后高数惨烈的我就苦逼了不得不求助于大神);然后就是考验数学建模的能力了,要有能力把实际游戏问题抽象成精简的数学模型。数值策划牛逼不牛逼归根结底就是看数学建模的能力。最后是一些可以加分的技能,例如程序算法,在面对一些特定情境和灵异问题的时候,掌握程序知识很可能可以帮上你大忙;再比如文案写作能力,你总得把公式写清楚让程序做出功能来,还有让其他策划知道该怎么跟着你的数值规划来制作实际游戏内容。最后希望我的帮助能对您起到更好的游戏体验不喜欢,勿喷,望采纳