腾讯视频/爱奇艺/优酷/外卖 充值4折起
财务人员一定离不开各种金额的输入和转换。有时一个数据在同一表格中会反复的调用,通过wps函数可以使输入更简化。
例如下列发票,假设不通过函数计算,需有输入四次。不仅工作效率极差,出错的机率也会大大提高。
图一面发票
解决思路:数量和单价是变量,需要手动录入,其它三处利用函数直计算总价,再将总价转换成需要的格式。
步骤一:“金额”公式
1.选中单元格g4输入公式,然后右拉至q4; 选中g4:g4下拉填充至g9:q9。
=left(right(text($e4*$f4/1%," ¥#;;"),columns(a1:$k1)))
2.公式解析:
首先将e4和f4单元格相乘。为了便于公式填充,将单元格地址设置为绝对列、相对行形式,使公式右拉下拉填充时可以适应引用单元的变化;
然后将之除了1%,即扩大100倍,作用是消除小数点。如“1.01/1%”即变为101,方便的面的公式计算;
再用text函数来剔除数量与单价为0之状况。我们知道,单元格格式定义分为四段:[正数、负数、0、文本],本例中text的第二参数为" ¥#;;",直接用公号分割开留下空白即表示忽略负数和0。当单价为0或者负数时公式结果返回空白;
再后用right函数提取字符。right是提取字符串右边n个字符的函数,用在此处因第二参数columns(a1:$k1)是动态的,当公式向右拉动时columns(a1:$k1)的结果将从11递减至1,那么提取的字符串也将进行递减;
最后用left函数提取最终结果。left函数与right函数的作用相反--从字符串左边开始提取字符,其第二参数为可选。本例中为减短公式长度,省略了第二参数,即表示提取长度为默认值1。在text函数的参数中第二参数为" ¥#;;",重点在于前面的空格。此处用left函数提取字符时,若e4和f4乘积之字符长度小于当前单位的位数加1(指亿万百等等的位数)时,left只能提取到空格,若等于当前单位的位数加1时则返回人民币符号“¥”,然后才逐位返回乘积结果中的单字符,这正是需要结果。
3.本公式三个重点:a)text函数的第二参数前面的空格的妙用;b)第二参数中两个“;”的妙用;c)将right与left套用使公式逐位提取数字。
步骤二:“合计”公式
1.选中单元格m10输入数组公式“=text(sum(e4:e9*f4:f9),"0.00")”,并同时按ctrl shift enter三键结束,否则公式对果将出错。输入完后若公式前后系统自动加上花括号即表示输入正错,见图二所示。<
图二 数组公式
2公式解析:将e4:e9区域的值分别乘以f4:f9的值,然后再相加即得到总计,公式会自动忽略空白区。本例若不用数组公式则公式要长很多,效率更差。如:=sum(e4*f4 e5*f5 e6*f6 e7*f7 e8*f8 e9*f9)。数组运算长处是缩短公式,提高效率,可以将常规公式中的多步运算合并得以简化。最后用text函数将数组结果格式化为精确到小数点两位。
3.选择单元格m10:q10,单击菜单上的“跨列合并”,使单元格的结果居于区域正中。
此处用“跨列居中”而不用“合并居中”是因数组公式不能存在于多单元格合并后的单元格中。故使用区域跨列合并,显示效果和“合并及居中”一样,但因未对单元格进行合并,则与数组公式可以和平相处。
图三 跨列合并单元格
步骤三:“大写”公式
1.选择单元格c10,c10单元格可以先合并居中,然后输入公式:
=text(m10,"[dbnum2][$rmb]g/通用格式")
2.公式解析:本公式通过text函数改变引用源m10单元格数字的显示方式,使之以人民币大写方示。其中[dbnum2]修改为[dbnum1]以及“g/通用格式”修改为“0”有不同的效果,读者可以自己试试。
图四 人民币大写
总结:
1.text函数是一个格式化函数,它可以改变引用源的显示方式。第一参数是引用源,第二参数即显示方式。这是一处运用很广的函数。本例中三个公式都已用到它。
2.工作表表要善用公式,简化数字的重复录入,同时也提升准确性。