报表函数介绍
函数在报表系统中有着重要的作用,在报表系统中提供了各种的取数函数,每种取数函数都有不同的功能,本单将对一些主要的函数操作方法和作用进行介绍。
本章的主要功能:
函数调用操作方法介绍
一些常用函数介绍
公式定义举例
函数的基本操作
如果在报表中需要使用函数来进行一些取数或是计算,使用函数的基本方法如下:
函数编缉栏视图显示
编缉栏中视图显示方式设置
1.1.1 函数编缉栏视图显示方式设置
选择菜单〖视图〗,单击〖编缉栏〗则显示“√”,此刻会出现公式的编缉框,可以直接在界面中进行公式的编缉。编辑公式的方法有三种:
1、通过〖插入〗—>〖函数〗
2、按F8键快捷键
3、选择调出函数列表进行函数操作。
1.1.1 在编缉栏中进行函数设置
在视图中的编缉栏中,可以进行报表公式设置,如下图所示:
双击需要编辑公式的单元格,例如A1,单击【=】,再选择函数(如上面介绍的三种方法中任意一种),则系统将会弹出所有报表函数的列表,如下图所示:
在“报表函数”中列示出了所有的函数,可以根据需要选择不同的函数进行公式的设置。公式设置完成后,单击【确定】,所设置的公式保存到报表中。
函数分类别介绍
全部函数
数学与三角函数
财务计算函数
常用报表函数
逻辑函数
总账函数
现金流量表函数
工资取数函数
固定资产取数函数
业务报表函数
业务核算函数
注:所有的函数的含义在函数报表的左下角提示。例如,单击ABS,在报表函数的左下角提示 ABS:计算给定值的绝对值。见下图所示:
1.1.2 全部函数
金蝶报表系统中所有的函数类型。详见下列分类函数介绍。
1.1.3 数学与三角函数
数 据 项 |
说 明 |
必填项(是/否) |
ABS |
计算给定数据的绝对值。 |
根据实际需要可选 |
ATN |
计算数据的反正切值。 |
根据实际需要可选 |
A V G |
求平均数函数。 |
根据实际需要可选 |
COS |
返回给定数据余弦值。 |
根据实际需要可选 |
COUNT |
统计数量函数,计算所有非空格单元格的个数。 |
根据实际需要可选 |
EXP |
将定值以e的幂形式表现。 |
根据实际需要可选 |
LOG |
计算给定数值的自然对数值。 |
根据实际需要可选 |
MAX |
求最大值函数。 |
根据实际需要可选 |
MIN |
求最小值函数。 |
根据实际需要可选 |
ROUND |
根据指定数值四舍五入。 |
根据实际需要可选 |
SIN |
返回给定数据正弦值。 |
根据实际需要可选 |
SQR |
返回给定正数的平方根。 |
根据实际需要可选 |
SUM |
求和函数。 |
根据实际需要可选 |
TAN |
返回给定数值的正切值。 |
根据实际需要可选 |
VAL |
数据转换函数 |
根据实际需要可选 |
1.1.3.1 SUM函数公式定义
选择SUM函数,系统将弹出求和函数的公式定义,具体参数设置如下:
参数1
您所需定义的参数,该参数可以是一个单元格,也可以是一个单元块以及数值公式。
参数2
同参数1。
注意事项 对单元格A8设置公式:SUM(A1+A2),表示单元格A8的结果=A1单元的数据+A2单元的数据。若为连续的单元格相加,可用:分隔。例如对单元格A8设置从A1加到A7的数据公式为:SUM(A1:A7)
如果您还有别的参数需要进行定义,在定义完参数之后单击回车键(ENTER键)系统将直接进入下一个参数的定义。
1.1.3.2 VAL函数公式定义
Val函数用于实现不同类型数据转换。以将文本型数字、RPTDATE函数带的日期型数据转换为数值型,参与公式的计算。数字字符可以是手工录入的字符,如“20”,如果录入的是文本型的字符串,VAL返还结果就是0。也可以是其他取数公式返回的数字字符。如RPTDATE("MM")函数。如为非数字字符(如2003-9-1),返回结果为0,即不支持单独的日期的转换。
VAL函数对RPTDATE()函数只支持单字符串的转换。例如:RPTDATE(YY)、RPTDATE(YYYY)、RPTDATE(MM)、RPTDATE(DD)。
VAL函数是一个转换函数,所以在录入的取数参数外都自动加上了双引号。如果取数参数是取数公式时,系统也会自动在取数公式外加上双引号,如VAL(“RPTDATE(YYYY)),请手工将公式里的双引号去掉,否则无法取数;如果取数参数为数值或字符,则不用去掉双引号。
在“数学与三角函数”类别下是日常数学计算中常用的函数,此处不再一一列举公式定义了。
1.1.4 财务计算函数中的函数
数 据 项 |
说 明 |
必填项(是/否) |
DDB |
计算用双倍余额递减法求解某一固定资产的折旧值。 |
是 |
F V |
基于固定利率及等额分期付款方式,返回某项投资的未来值。 |
是 |
IPMT |
返回给定期次内某项投资回报或贷款偿还的给定利息。 |
是 |
NPER |
基于固定利率和等额付款的方式,返回一项贷款或投资的期数。 |
是 |
PMT |
返回在固定利率下,投资或贷款的等额分期偿还额。 |
是 |
PPMT |
返回在给定期次内某项投资回报(或贷款偿还)的本金部分。 |
是 |
PV |
返回某项投资的一系列等额分期偿还额之和(或一次性偿还额的现值)。 |
是 |
RATE |
基于等额分期付款(或一次性付款)方式,返回投资或贷款的实际偿还率。 |
是 |
REF_F |
返回指定报表,指定页,指定单元的值。 |
|
SLN |
返回指定固定资产的每期线性折旧额。 |
是 |
SYD |
返回指定固定资产按年数总和法计算的每期折旧额。 |
是 |
使用此类函数,用户只需录入一些简单的参数值即可完成计算的过程,无须您进行公式的设置。
1.1.5 常用报表函数
常用报表函数,指经常使用的报表函数。
1.1.5.1 函数类型说明
数 据 项 |
说 明 |
必填项(是/否) |
ACCT |
总账科目取数公式。 |
是 |
COMPUTERTIME |
返回计算机当前日期。 |
是 |
DATE |
返回计算机当前日期。 |
是 |
DATEDIFF |
求指定日期参数2与参数1之间的天数差。 |
是 |
ITEMINFO |
返回指定核算项目的属性值。 |
是 |
KEYWORD |
取表页的关键字的函数。 |
是 |
PAGENAME |
取表页名称函数。 |
是 |
PAGENO |
返回当前表页的值。 |
是 |
REF |
返回指定表页、指定单元格的值。 |
是 |
RPRDATA |
返回指定格式的当前报表日期。 |
是 |
RPTQUARTER |
季度取数函数。 |
是 |
RPTSHEETDATE |
获取当前报表指定表页的开始日期或结束日期,并以指定日期格式返回。 |
是 |
SYSINFO |
返回指定关键字的系统信息。 |
是 |
1.1.5.2 函数公式定义举例
ACCT函数公式定义
选择〖插入〗—>〖函数〗,系统将所有的报表函数列出,选择“金蝶报表函数”中的ACCT函数,双击鼠标左键,系统将弹出定义公式的界面,如下图所示:
在进行ACCT函数中需要设置以下的一些参数:
科目
首次使用可采用向导自动生成科目与核算项目参数,在科目录入框内单击F7显示如下:
生成的公式描述如下:
科目公式=“科目代码1:科目代码2|项目类别|项目代码1:项目代码2|项目类别|项目代码1:项目代码2”
下面针对公式中“”内的内容进行说明:
“”中的内容用于存放用户所选择的科目和核算项目代码。公式中的科目代码,项目类别和项目代码,在字符“|”和“:”的分隔
下可以进行20种组合,得到不同范围的科目和核算项目。组合情况如下:
A |
a: |
:a |
a1:a2 |
A|b |
a:|b |
:a|b |
a1:a2|b |
A|b|c |
a:|b|c |
:a|b|c |
a1:a2|b|c |
a|b|c: |
a:|b|:c |
:a|b|c: |
a1:a2|b.c: |
a|b|c1:c2 |
a:|b|c1:c2 |
:a|b|c1:c2 |
a1:a2|b|c1:c2 |
其中:
“a”,“a1”,“a2”表示科目代码
“b”表示核算项目类别名称
“C”,“C1”,“C2”表示核算项目代码
“a:”表示代码大于或等于科目a的所有科目
“:a”表示代码小于或等于a的所有科目
“a1:a2”表示代码大于或等于a1并且小于或等于a2的所有科目
“C:”表示代码大于或等于C的所有核算项目
“:C”表示代码小于或等于C的所有核算项目
“C1:C2”表示代码大于或等于C1并且小于或等于C2的核算项目
当核算项目类别b和代码C,C1,C2都缺省时,表示指定科目下设所有的核算项目类别。
当核算项目类别b不省略,而核算项目代码缺省时,表示指定核算项目类别b中所有核算项目。
举 例 函数表达式:ACCT(“:123|客户|003:”,“C”)
表示科目代码小于或等于123,下设科目核算项目:客户,客户代码大于或等于003的本位币的期初余额。
函数表达式:ACCT(“214|职员|0001:0012”,“Y”)
表示科目代码为214,下设科目核算项目:职员,职员代码在0001到0012之间的本位币期末余额。
为方便用户操作,提供“*”为科目参数的通配符,每一个通配符只匹配一个字符,可对科目(核算项目也适用)进行模糊取数。
举 例 10**表示取一级科目代码为四位,并且起始两个代码为10的所有科目。
1131|客户|**表示包括科目代码1131下的所有客户。
因为通配符本身就具有范围的概念,因此带有通配符的科目或核算项目不能有起止范围,以免引起取数错误。同时通配符只支持匹配如:55**.**/产品/01.**.**.****,也就是说通配符必须连续匹配,并且从最后一个开始匹配,如果出现10*1、1**1等诸如此类的匹配,系统给出提示“不符合匹配规则”,要求重新匹配。
取数类型
由客户定义科目取值为科目的期初余额、本期发生额、累计发生额等,在取数类型录入框单击F7键,系统将弹出所有的类型的下拉框由您进行选择,如下图所示
下面为您介绍以下各个代码代表的含义:
数 据 项 |
说 明 |
必填项(是/否) |
C |
期初余额 |
是 |
JC |
借方期初余额 |
是 |
DC |
贷方期初余额 |
是 |
AC |
期初绝对余额 |
是 |
Y |
期末余额 |
是 |
JY |
借方期末余额 |
是 |
DY |
贷方期末余额 |
是 |
AY |
期末绝对余额 |
是 |
JF |
借方发生额 |
是 |
DF |
贷方发生额 |
是 |
JL |
借方本年累计发生额 |
是 |
DL |
贷方本年累计发生额 |
是 |
SY |
利润表本期实际发生额 |
是 |
SL |
利润表本年实际发生额 |
是 |
BG |
取科目本年最高预算余额 |
是 |
BD |
取科目本年最低预算余额 |
是 |
BJG |
本期最高预算借方发生额 |
是 |
BDG |
本期最高预算贷方发生额 |
|
TC |
折合本位币期初余额 |
是 |
TJC |
折合本位币借方期初余额 |
是 |
TDC |
折合本位币贷方期初余额 |
是 |
TAC |
折合本位币期初绝对余额 |
是 |
TY |
折合本位币期末余额 |
是 |
TJY |
折合本位币借方期末余额 |
是 |
TDY |
折合本位币贷方期末余额 |
是 |
TAY |
折合本位币期初绝对余额 |
是 |
TJF |
折合本位币借方发生额 |
是 |
TDF |
折合本位币贷方发生额 |
是 |
TJL |
折合本位币借方本年累计发生额 |
是 |
TDL |
折合本位币贷方本年累计发生额 |
是 |
TSY |
折合本位币利润表本期实际发生额 |
是 |
TSL |
折合本位币利润表本年实际发生额 |
是 |
会计期间
可直接指定期间数,分别录入<起始期间>和<结束期间>,若不选则系统默认为本期。若写入数值,表示的意义如下,0:本期,-1:上一期,-2:上两期,如此类推。
会计年度
可直接指定年度,如2003,若不选则系统默认为当前年。若写入数值,表示的意义如下,0:本年,-1:前一年,-2:前两年,如此类推。
币别
币别代码,如RMB,若不选则系统默认为综合本位币。可直接录入币别代码或按F7选择。
注意事项 为数量取数更加精确,在报表系统中小数位数可以通过单元格式小数位设置进行控制。在总账的凭证录入时,录入的数量是多少位小数,则在报表系统中取出来的数据就是多少位,系统不做截位,如果在使用时觉得小数位太长,可以通过单元格的小数位数的设置来进行设置。
设置完这些参数之后,ACCT函数便定义完成。单击【确认】,退出公式定义的操作。您还可以在不退出公式的状态下,单击ACCT函数下拉框中的“其他函数”,系统将列出所有的函数,您可以设置别的函数。
REF函数公式定义
REF函数是用来对同一张报表的不同表页中数据进行取数的,当然也可以是同一个表页中数据,需要进行定义的参数有:
1、取数内容
可为报表的单元格如A1字样或数值公式如SUM(B1:B5)。
2、表页
报表的表页号。如果为空,则系统默认为当前的表页。
RPTDATE函数公式定义
此函数提供了对当前日期按不同格式显示的功能,在显示报表编制日间,在进行页眉页脚的编辑时非常有用。
公式设置:RPTDATA(字符串参数)。如在参数录入框中录入”yyyy-mm”,则自动生成公式为RPTDATE("YYYY-MM"),系统返回当前的年月值。
注意事项 公式设置如果提示“语法错”,请检查是否多输入了双引号“”,系统已自动加上双引号,不用用户输入。
系统提供的另一函数RPTSHEETDATE用于取出“公式取数参数”中的开始日期和结束日期,取数的格式为“yyyy-mm-dd”至”yyyy-mm-dd”,其中时间的格式可由客户自己定义,参数设置比RPTDATA函数多两个参数:日期类型和表页。日期类型用于选择是开始或结束日期,表页用于选择当前报表下的不同表页。其他操作和RPTDATA函数一致!
注意事项 在上述这些函数中,只有金蝶报表函数ACCT同数据源相联系,必须确定数据源,为数据源配置驱动程序,确定账套数据库和系统数据库,其余的函数与数据源不相关联。
1.1.6 逻辑函数
数 据 项 |
说 明 |
必填项(是/否) |
COMPARE |
比较函数。 |
是 |
IF |
执行真假值判断,根据逻辑判断值的真假返回不同的结果。 |
是 |
逻辑函数公式定义非常简单,在这里就不再举例说明。
1.1.7 总账函数
数 据 项 |
说 明 |
必填项(是/否) |
ACCTEXT |
科目按日取数函数。 |
是 |
ACCTCASH |
现金流量及附表项目取数公式。 |
是 |
公式定义举例:
如下图所示,总账凭证取数ACCTEXT提供了按过滤条件从总账的日报表中按日取数的功能,用于编制销售日报,采购日报,费用日报等报表的编制。ACCTEXT取数的参数与科目取数ACCT类似,只是增加了对方科目编码和过滤条件等参数,同时ACCT的年度与期间在ACCTEXT中改为开始日期,结束日期。
科目编码
要取数的科目编码。具体操作参见ACCT函数。
对方科目编码
对方科目编码实际是作为过滤条件,指定取数科目在凭证中必须应有的对应科目,若对应科目有核算项目,按F7可调出取数向导:
注意事项 在此可以选择对方科目及核算项目,目前仅限选择一个对方科目,不能选择多个对方科目,否则,会提示“对方科目不能跨段取数”。
过滤条件
根据不同需要分类凭证,单击“F7”弹出过滤条件向导,如下图所示:
单击【增加】增加一过滤条件,可增加多条过滤条件,选择条件之间的关系“and”或者是“or”。条件设置完成后,单击【确定】退出过滤条件设置界面。
取数类型
如下图,系统提供可选择的取数类型,系统默认为原币借方发生额。
在ACCTEXT函数中增加了八种取数类型,分别说明如下:
数 据 项 |
说 明 |
必填项(是/否) |
C |
上日余额 |
是 |
Y |
本日余额 |
是 |
QJF |
收入数量 |
是 |
QDF |
发出数量 |
是 |
TC |
折合本位币上日余额 |
是 |
TY |
折合本位币本日余额 |
是 |
YA |
本日平均余额 |
是 |
TYA |
折合本位币本日平均余额 |
是 |
增加的两种取数类型:收入数量、发出数量,使ACCTEXT函数对数量金额式科目可以按日取出数量,如果同一科目存在多计量单位时按科目默认计量单位进行转换。
注意事项 如果科目编码取的是界定在一定范围内,则余额取各科目余额的合计数,各科目的余额根据该科目设置的余额方向来确定正负,与余额方向相同为正,与余额方向相反为负。
币别
选择币别,系统默认为综合本位币。
开始日期,结束日期
ACCTEXT函数中开始日期与结束日期为空时默认为公式取数参数中的开始日期与结束日期。公式中录入的日期优先于公式取数参数的日期。写入数值,均是相对于公式取数参数的日期,表示的意义如下,0:本日,-1:前一日,-2:前两日,如此类推。1:下一日,2:下两日,如此类推。原来的日期录入方式保持不变,仍然可以录入2003-8-1类型的日期格式。报表重算无数据时单元格显示为0。
注意事项 为数量取数更加精确,在报表系统中小数位数可以通过单元格式小数位设置进行控制。在总账的凭证录入时,录入的数量是多少位小数,则在报表系统中取出来的数据就是多少位,系统不做截位,如果在使用时觉得小数位太长,可以通过单元格的小数位数的设置来进行设置。
1.1.8 现金流量表系统函数(将在下一版取消使用)
1.1.8.1 ACCTCASH函数定义
ACCTCASH是现金流量表(包括主表及附表)取数函数。该函数只取已指定了具体的项目的数值,未指定的主表项目及未处理的附表项目不在该函数的取数数值中反映。即用ACCTCASH取的数据应等于总账系统中现金流表的正表及附表的数据。此函数共有七个参数。
现金流量项目
在参数框按F7,可出现现金流量表所有的项目,通过鼠标双击可选定所取数的项目。
取数类型
取数类型有三种:”折合本位币金额”即为所选货币折合本位币的金额,“原币金额”即所选货币的原币金额,“所有币别折合本位币金额总额”即无论取什么货币,取数为账套所有币别折合本位币的总金额。
起始时间、终止时间
开始日期与结束日期为空时默认为公式取数参数中的开始日期与结束日期。公式中录入的日期优先于公式取数参数的日期。写入数值,均是相对于公式取数参数的日期,表示的意义如下,0:本日,-1:前一日,-2:前两日,如此类推。1:下一日,2:下两日,如此类推。原来的日期录入方式保持不变,仍然可以录入2003-8-1类型的日期格式。
另外3个参数币别、年度、账套名参见ACCT函数。
现金流量表中“汇率变动对现金的影响”取值为“支付的其他与筹资活动有关的现金”后的选项“现金流入”与“现金流出”的差。
1.1.9 工资取数函数
数 据 项 |
说 明 |
必填项(是/否) |
FOG_PA |
用于工资系统中对工资项目进行取数。 |
是 |
函数公式定义举例:
FOG_PA函数专用于在工资系统取数,共设六个参数。
工资类别
用于指定取数的工资类别。在工资类别录入界面单击F7,系统将弹出在所选账套下的所有工资类别列表,供用户选择,一次只能选一种工资类别且为必选项,不能缺省。
部门
用于细分工资数据来源,可以选择多个不同的部门。在部门录入界面单击F7,系统将弹出在当前工资类别下的部门管理界面,供用户进行选择。缺省状态下系统默认为当前类别下的所有部门。
职员
用于细分工资数据来源,可以选择多个职员。在职员录入界面单击F7,系统将弹出在当前工资类别下的职员管理界面,供用户选择。缺省状态下系统默认为当前部门下的所有职员。
工资项目
用于指定取数来源,只能选择一个工资项目。在工资项目录入界面单击F7,系统将弹出在当前工资类别下所有实数型和货币型的工资项目的下拉菜单,供用户进行选择。
货币
具体指定报表的币别,缺省状态下系统默认为本位币。
起始期间和结束期间
设置取数日期。结束期间必须大于起始期间,缺省状态下系统默认为当前报表期间
以上所有参数均可手工录入。
1.1.10 固定资产取数函数
数 据 项 |
说 明 |
必填项(是/否) |
FOG_FA |
用于固定系统中对固定资产项目进行取数。 |
是 |
该公式共有十个选项:取数方式和含义。
1、 固定资产类别、编码,部门,取数类型,变动方式,使用状态:均可单击对话框,按<F7>快捷键,在弹出的对话框内进行选择。
2、 货币:默认为本位币
3、 年度:可直接指定年度,如2003,若不选则系统默认为当前年。若写入数值,表示的意义如下,0:本年,-1:前一年,-2:前两年,如此类推。
4、 起始期间、结束期间:设置取数日期。结束期间必须大于起始期间,缺省状态下系统默认为当前报表期间
以上所有参数均可手工录入。
1.1.11 业务报表函数
数 据 项 |
说 明 |
必填项(是/否) |
FOIOJ_AIA |
用于获取所有入库单上一种或多种物料的金额。 |
是 |
FOIOJ_AIQ |
用于获取所有入库单上指定物料的数量。 |
是 |
FOIOJ_AOA |
用于获取所有出库单上一种或多种物料的金额。 |
是 |
FOIOJ_AOQ |
用于获取所有出库单上指定物料的数量。 |
是 |
FOIOJ_CIA |
用于获取盘盈入库单上一种或多种物料的金额。 |
是 |
FOIOJ_CIQ |
用于获取盘盈入库单上指定物料的数量。 |
是 |
FOIOJ_DOA |
用于获取盘亏毁损单上一种或多种物料的金额。 |
是 |
FOIOJ_DOQ |
用于获取盘亏毁损单上指定物料的数量。 |
是 |
FOIOJ_ GIA |
用于获取产品入库单上一种或多种物料的金额。 |
是 |
FOIOJ_ GIQ |
用于获取产品入库单上指定物料的数量。 |
是 |
FOIOJ_ MOA |
用于获取生产领料单上一种或多种物料的金额。 |
是 |
FOIOJ_ MOQ |
用于获取生产领料单上指定物料的数量。 |
是 |
FOIOJ_ OIA |
用于获取其他入库单上一种或多种物料的金额。 |
是 |
FOIOJ_ OIQ |
用于获取其他入库单上指定物料的数量。 |
是 |
FOIOJ_ OOA |
用于获取其他出库单上一种或多种物料的金额。 |
是 |
FOIOJ_ OOQ |
用于获取其他出库单上指定物料的数量。 |
是 |
FOIOJ_ PIA |
用于获取外购入库单上一种或多种物料的金额。 |
是 |
FOIOJ_ PIQ |
用于获取外购入库单上指定物料的数量。 |
是 |
FOIOJ_POA |
用于获取指点定单金额。 |
是 |
FOIOJ_ POQ |
用于获取指点定单、指定物料的数量。 |
是 |
FOIOJ_PVA |
用于获取采购发票上一种或所有物料的金额。 |
是 |
FOIOJ_PVQ |
用于获取采购发票上指定物料的数量。 |
是 |
FOIOJ_SOA |
用于获取销售订单上一种或多种物料的金额。 |
是 |
FOIOJ_SOQ |
用于获取销售订单上指定物料的数量。 |
是 |
FOIOJ_SRA |
用于获取销售发票上一种或多种物料的折扣。 |
是 |
FOIOJ_SSA |
用于获取销售出库单上一种或多种物料的成本。 |
是 |
FOIOJ_SSQ |
用于获取销售出库单上指定物料的数量。 |
是 |
FOIOJ_STA |
用于获取销售发票上一种或多种物料的税金。 |
是 |
FOIOJ_SVA |
用于获取销售发票上一种或多种物料的金额。 |
是 |
FOIOJ_SVQ |
用于获取销售发票上指定物料的数量。 |
是 |
由于业务报表函数的公式参数在报表系统公式设置中均有说明,就不再举例说明。
|