一、单元计算公式
< 一>在公式中如何表示报表
表页号 @< 表页号 > 如 @2则表示第 2 页 当前表页 :@ FOR MRECNO( )=1 令第 1 页进行计算。
最大表页: @@
例:“利润表”— >D5@10 表示“利润表”第 10 页 D5 单元,当 单元在当前报表时表名可以省略。
< 二>单元公式表述
格式:
<目标区域 >=<算术表达式 > 斤0只<表页筛选条件 ><; <可变区筛选条件>]
[RELATIONv关联条件>] RELATION可简写成RELA
表页筛选条件(可选):在报表的所有表页中指定参加运算的表页, 如不指定表页筛选条件,则对所有的表页运算。
关联条件(可选):建立本报表与其他报表之间的关联关系。
在单元公式中不用 ALL 则可对全部表页进行计算,但在命令窗中,二 次开发平台中不用 ALL则只对当前表页进行运算。
v 三 >单元公式举例
1 、简单的单元公式:
A5=A6+A7; A4:A8=B4:B8+C4: C8
2 、指定单元公式处理的表页 C2=(D1/E3) *100 FOR A1>0
F5=((D1-E2)/E3)*100 FOR 年=1992 AND 月=10
3 、从当前报表的其他表页中取数
B10=A1@1 (所有表页,B10等于第1页A1单元的值) B10=\"A\"->B10 RELATION 月 WITH 1 ( 当前报表为 \"A.REP\") (B10等于当前报表中\"月=1\"的B10单元的值)
SELECT函数(本报表累计函数)的运用
D5:D20=C5:C20+SELECT(D5:D20年@年 AND 月 @月 +1)
表示D5:D20区域取本年累计值。(如“损益表“中求累计值) 使用SELECT®数时不能使用表页筛选条件,
解示当前表页,月 型本
月关键字中的\"月\";例:D=C+SELECT ( D,年=1994 AND 月12)
4 、从其他报表中取数
D5=“ B”— >D5@4
C5=\"B\"->C10 FOR 年=1995 RELATION 月 WITH \"B\"-> 月 本表中的C5等于B表年月相同的C10的值.
E2=\"B\"->A2+\"C\"->D4 FOR 月>6 RELATION 月 WITH \"B\"-> 月, 月 WITH \"C\"-> 月。
5 、区域公式:
B8: C12=0 ; C7 : C13=F15: F21+H6: H12;D3: D25=E3: E25/F3: F25
A1: A10 = “盈利单位” FOR J20>0
6 、筛选条件的运用
在单元公式中,可进行如下设计: ..... FOR 年=1996 AND 月>6 令 1 996年下半年的表页进行 计算。
FOR 月>3 AND 月<6
FOR C1>0 ORC2>0 FOR MREC ( )=1
令第一页进行计算
FOR MREC ( )<13 令 1-12 页进行计算
7 、关联条件的运用
格式: RELATION < 单元|关键字|常量|变量> WITH \" 报表名\"-><单 元| 关键字|常量| 变量>
WITH前的参数表示目前表页的特征 用关联条件从本表他页取数 A=\"LRB\"->B RELATION 月 WITH \"LRB\"-> 月 +1 A 列取本表上一月 B 列的值
A=\"LRB\"->B RELATION 1 WITH \"LRB\"-> 月
A列取本表1月B列的值
注意:所有引用本月他页相同地址单元的计算公式只能在命令窗和批 命令中使用,不能在单元公式中使用。
使用关联条件取本表他页数时,等号右边数据源区域必须有当前表表 名。 8 、用关联条件从其他表页取数
当我们从他表取数时,已知条件并不是页号,而是希望按年、月、日、 季等关键字的对应关系来取他表数据。 ALL 表示当前表页。
例:
A=“LRB”->B RELATION 月 WITH “LRB” ->月 +1 表示本表各页A列取\"LRB\"报表上月各页B列的数值
A=“LRB” ->A RELATION 年 WITH “LRB”-> 年, 月 WITH “LRB” ->月 +1
令当前表各页A列取表“ LRB同年上月A列的值。 A=“LRB” ->B FOR ALL RELATION 1 WITH “LRB” ->月 当前表页A列取表“ LRB 1月B列的数值
A=“LRB” ->B+“ZJB” ->C RELATION 年 WITH “LRB” -> 年, 月 WITH “LRB” -> 月 , 年 WITH “ZJB” -> 年, 月 WITH “ zJB” -> 月
9 、相对单元公式 以上使用的都是绝对单元公式,如此时
对表格进行行、列的增加或减 少则单元公式不变。 以下是相对公式的应用:
如:A10=PTOTA( ? A1:? A9)
此时在 A 1 0单元前插入一行后单元公式为: A11=PTOTA(L? A1:? A10)
A1=B1+
? C1
此时在第一行前插入一行时,公式为: A2=B1+? C2
注意:相对单元公式经移动或复制到其他单元,单元公式中引用的单 元也随之改变。
10 、定义单元公式应注意的事项
⑴单元公式中的单元地址不允许循环使用(SELECT IFF函数除外), 即本单元的公式中不能直接引用或间接引用本单元中的数据,如出现 循环引用,单元中将显示“公式错误”。
⑵在可变区中不能定义单元公式,要计算可变区中的数据,可以在命 令窗或批命令中进行。
⑶在组合单元中不能定义公式。
⑷在表样类型单元中输入“ =”后, 将弹出“单元公式”的对话框, 在 其中可定义单元公式。
二、报表审核及舍位平衡
、审核公式
1
[< 算术表达式 ><关系表达式 ><算术表达式 >,]< 算术表达式 ><关系表达 式><算术表达式> [FORv页面筛选条件 > [; <可变区筛选条件 >]] [RELATION页面关联条件 >[,< 页面关联条件>]] MESSAGE\"<提示信息>” 例: C2=C3+C4+C5+C6+C7
MESS “C列合计不等!” D2=D3+D4+D5+D6+D7 MESS “D列合计不等!”
执行审核:数据状态点取“数据”—— 2 、舍位平衡 格式:
REPORT “<舍位表文件名 >” RANGE <区域 >[,< 区域 >]*
WE <位数 > ( 千元则为3位) [FORMULA平衡公式 >[,< 平衡公式 >]] (
操作:
定义舍位平衡公式: 格式状态下点 [数据] —— [编辑公式 ]——[舍位公 式]
输入:舍位表名、舍位范围、舍位位数、平衡公式。 执行:数据状态下点取 [数据] —— [舍位平衡 ]
平衡关系)
>审核
(
生成新的舍位表 )
三、命令中的计算公式 计算公式在命令中的使用非常广泛,
主要用于给单元赋值,能解决单 元公式不能做到的一些功能。 格式:
LET <区域|关键字|变量>=<算术表达式 >[,< 区域|关键字| 变量>=<算 术 表 达 式 >]*]FOR]< 页 面 筛 选 条 件 >]] ; < 可 变 区 筛 选 条 件>]][RELATION<页面关联条件 >[,< 页面关联条件>[*] 例: LET A1=123
LET赋值命令的使用参见常用命令 格式特点 :
⑴以LET引导计算公式;
⑵一个计算公式可以为若干个筛选条件、关联条件相同的区域赋值, 各赋值表达式间以“,”分隔;
命令窗中计算公式的使用:
[工具] ——[命令窗],可输入计算公式,输入一行后回车后即执行该 行命令。
批命令中计算公式的使用:
[工具] —— [二次开发 ],在二次开发窗中新建或打开批命令文件( *. SHI) ,在批命令编辑窗中逐行输入计算公式后存盘即可。
在要执行批命令时,点取菜单 [文件]——[执行],选取所需批命令文 件(*. SHI )即可。
命令中的计算公式与单元公式的区别: 两者非常相似,只需注意命令中计算公式有以下特点: ⑴以LET引导公式;
⑵一个计算公式可以为若干个筛选条件、关联条件相同的区域赋值, 各赋值表达式间以“,”分隔; ⑶可以为可变区赋值;
⑷批命令中可以用所有函数, 命令窗中可使用除交互输入函数 GETINT,
GETSTF以外的所有函数,而单元公式不允许使用指针状态函数中的
MBO、F MEO;F 交互输入函数 GETINT、GETST,R 文件检测函数 FILE。
⑸单元公式中,页面筛选条件缺省时为全部表页,而命令窗或批命令 中,页面筛选条件缺省则为当前表页。 ⑹单元公式中不能使用!和#符号。
四、常用函数 在编辑单元公式中,可直接使用用函数(函数向导可参
考),除数字 函数 SELEC、T IFF 函数外其他函数不允许嵌套使用。 统计函数
1、 合计函数:
格式: PTOTA(L 〈区域〉 [ ,〈区域筛选条件〉 ] ) 例: PTOTAL (A:B)
PTOTAL ( C5: F20@12)
PTOTAL ( A3: A5, A3:A5>0)
2、 立体方向合计函数 TOTAL
格式: TOTAL (<区域>[, < 页面筛选条件 >]) 说明: 将所有表页的区域内的数值合计返回本表中。 例: TOTAL (A:B)
TOTAL ( A3: A5,年 <1998) 返回本表中关键字“年”小于 1998的各表页A3: A5各单元值的合计 数。
3、 平均值函数PAVG(固定区平均值函数) 格式:PAVG (v区域 >[,区域筛选条件]) 例:PAVG (A:C)
PAVG (D5:D30@12) PAVG(A3:A15, C3:C15>0) 4、 立体方向平均值函数 AVG
格式: AVG( <区域>[,< 页面筛选条件 >])
例:AVG (A:B)
( 区域内不带页号 )
AVG(A3:A5, 年<1998)
5、固定区计数(个数)函数不清 PCOUNT 格式:PCOUNT(〈区域〉)[,〈区域筛选条件〉]) 例: PCOUNT(A: B)
PCOUNT ( C5:F20@12)
PCOUNT( A: B,A:B>0 )
PCOUNT ( A3:B15,C3:C15>0) 6、 立体方向计数函数 COUNT
格式:COUN(〈计数区域〉[,〈页面筛选条件〉]) 例: COUN(T A: B)
COUNT (A3: A5,年〈1990)
注:凡立体方向的统计函数区域内皆不带页号
7、 固定区最小值函数 PMIN
格式:PMIN (〈区域〉[,〈区域筛选条件〉]) 例: PMIN ( A: B)
PMIN PMIN ( C5: F20@1)2 (A3: A5,A3:A5>0)
PMIN (A3: A15,C3:C15>0) 8、 立体方向最小值函数 MIN
格式: MIN( <区域>[,< 页面筛选条件 >]) 例:MIN (A:B)
MIN (A3:A5, 年<1998) 9、 固定区最大值函数 PMAX
格式:PMAX(〈区域〉[,〈区域筛选条件〉]) 用法同 7。 10、 立体方向最大值函数 MAX
格式:MAX (〈区域〉[,〈页面筛选条件〉]) 用法同 8 11、 表页号函数 MRECNO 格式: MRECNO() 例: A=D FOR MRECNO( ) =1 12、 本表它页取数函数 SELECT
格式:SELECT (〈区域〉[,〈页面筛选条件〉]) 例:B=SELECT (B,年@年+1)
年 @:表示当前表页的年份。
B1 : C4=SELECTB1: C4,单位编号=“ 1011”) B=SELECT
(B, MRECNO( ) =2)
取第 2 页 B 列数。
D1 : F1=SELECT( B1: D1,MRECNO( )=2) 13、条件赋值函数 IFF
格式: IFF (〈逻辑表达式〉,〈条件真值〉,〈条件假值〉) 说明:逻辑表达式:控制函数返回值的条件。
条件真值: 为真时函数的返回值为算术表达式。 条件假值: 为假时函数的返回值为算术表达式。
返回值:当算术表达式为真时,返回条件真值,当算术表达式为假时, 返回条件假值。
注释:用于单元公式时不能使被赋值的区域与算术表达式中用到的区 域重复,如: A3=IFF( A3>0, 10, -10 )是不对的。 使用范围:单元公式,命令窗,批命令。
例: B3=IFF( A3>0, 10, -10 )
当A3>0时,B3被赋值为10,否则赋于-10。
A3=IFF ( B3@2>,0 10, -10 )
如果第2页B3大于0, A3的值为10,如果B3小于0, A3的值为-10)
五、数据处理功能
< 一>交换表页 . 数据状态下: [编辑]——[ 交换]——[表
页] 在源表页号和目标表页号输入要互相交换位置的表页页号。可一次交 换多个表页,多个页号用“,”隔开。
< 二>采集外部数据 可以把以下几类数据采集到当前报表中。
1、 其他报表文件( . REP) 的数据; 2、 文本文件( . TXT) 的数据;
3、 DBASE^据库文件(.DBF)的数据。 操作:
1、数据格式:点 [ 数据] ——[ 采集]
2、 在对话框中选择要采集的文件名,如是文本文件或 DBASE文件,在 [文件类型]框中选择TXT或DBF文件即可。
3、 点[采集]或双击该文件名即执行数据采集, UFO将在当前报表中自 动追赶加表页以存放采集进入的数据。
1、 采集时两报表的格式须相同;
2、 如只想采集某一报表中的部分表页,请使用 3、固定列项: [窗口] ——[ 拆分窗口 ]
APPEND FROM命令。
< 操作步骤: 1、 点取“格式 / 数据”按钮,进入格式状态。 2、 如果要设置行可变区,则选取第一可变行中的某个单元;如果要设 置列可变
区,则选取第一可变列中的某个单元。 3、 点取[ 格式] 菜单,在下拉菜单中点取 [可变区 ] ,点取[设置] 菜单项。 弹出“设置可变区”对话框。在对话框中选择设置行可变区或列可变 区和
六、可变区报表
一>设置可变区(格式菜单)
可变区数量。
注意:*一个报表中只能定义一个可变区。如果想重新设置可变区,首 先取消现有可变区,再设置新的可变区。
提示:*要修改可变区的大小, 请参阅重新设置可变区。
< 二>修改可变区大小
操作步骤: 1、 点取“格式 / 数据”按钮,进入格式状态。 2、 点取[ 格式] 菜单中的 [ 可变区] ,在下拉菜单中点取 [ 重新设置 ] ,将 弹出“重新设置可变区”对话框。
3、 在“可变区大小”框显示可变区当前的大小, 在其中输入一个整数。
< 三 >取消可变区
操作步骤:
1、点取“格式 / 数据”按钮,进入格式状态。
2、点取[格式]菜单,在下拉菜单中点取 [可变区 ],点取[取消],则可 变区被取消。
注意:* 可变区被取消后, 其中的数据全部丢失。
< 四 >如何表示可变区
可变区中的行、列、单元、区域可以同样用行、列、单元、区域的绝 对地址表示。
可变区还有另外一套特殊的表示方法,即用“ V_<可变区内相对地 址>”表示。
由于可变区分为行可变区和列可变区,同样一个名称在行可变区时和 在列可变区时会有不同的含义。
例如:“ V_1”在行可变区时表示第 1可变行(整行);“ V_1”在列 可变区时表示第 1 行在列可变区中的部分(非整行)。
如何用“V_<可变区内相对地址 >”表示可变区中的: 行 行可变区中的可变行或列可变区中的行, 可以用两种方法表示:
1、 V_<行号>
例如:“V_1”表示行可变区的第1可变行;或者列可变区中的第1行。
2、 V_#<亍号 >
例如:“ V_#1”表示行可变区的第 1可变行;或者列可变区中的第 行。
列 行可变区中的列或列可变区中的可变列, 可以用两种方法表示:
1
1、 V_<列标>
例如:“V_A‘表示行可变区中的第 1列;或者列可变区中的第1可变 列。 2、 V_!< 列号 >
例如:“ V_!1 ”表示行可变区中的第 1 列;或者列可变区中的第 1 可 变列。 单元
用V_<可变区内相对地址 >表示。
例如:下图为某报表的一部分,在报表的第 2 行设置了行可变区,有 2个可变行。当前单元可以表示为 V_A1或者A2。 区域
可变区区域名称可以用下面几种形式表示:
<V_单元名称>:<V_单元名称>
例如:“V_A1:V_C1表示行可变区中的第 1行前3个单元组成的区域; 或者 A1:C1 区域(列可变区时)。
<V_亍号>
例如:“ V_1”或“V_#1”表示行可变区中的第 1行所有单元组成的区 域;或者列可变区的第 1 行所有单元组成的区域。
<V_列标>
例如:“ V_A或“ V_!1 ”表示行可变区的 A列所有单元组成的区域; 或者列可变区中的第 1 列。
< V_行号>:< V_行号>
例如:“V_1:V_2”表示行可变区中的第 1行到第2行所有单元组成的 区域; 或者列可变区的第 1 行到第 2行所有单元组成的区域。
< V_列标>:< V_列标>
例如:“V_A:V_B表示行可变区中的 A列到B列所有单元组成的区域; 或者列可变区的第 1 列到第 2列所有单元组成的区域。
注意: *描述区域时,在“:”两边的单元名称应统一,不能混用可变 区描述和
固定区描述。
例如:区域可以表示为 B2:B5或V_B1:V_B4,不能表示为 B2:V_B4或
V_B1:B5。
< 五>可变区计算公式
可变区的可以用和固定区一样的方法表示,也可以用一种特殊的,相 对的方法表示。这种方法具体来说有以下特点:
1.行可变表可变区列的表示方法是“ V_‘加列号,如: V_A V_C, 列可变表可变区行的表示方法是“ V_‘加行号,如:V_1, V_3。
2. 可变区内不允许编辑单元公式,可变区公式仅限在命令窗和批命 令中使用。
下表为行可变表,第3行起为可变行。可变列 V_A为字符型,其他列 为数值型。
假设出厂价为成本价的 1.25 倍,批发价为成本价的 1.5 倍,零售价为 成本价的 2 倍。在命令窗或批命令中可以这么写:
LET V_C=V_B*1.25, V_D=V_B*1.5, V_E=V_B*2 FOR ALL 请参阅: 一个单元的公式 区域公式 丰富的计算公式
因篇幅问题不能全部显示,请点此查看更多更全内容