目录
源数据表
品牌 | 2009年第四季度 | 2010年第四季度 |
HP | 17581525 | 17786986 |
Acer | 11852617 | 12075091 |
Dell | 10801225 | 10395288 |
Lenovo | 9481565 | 7809357 |
Toshiba | 5346700 | 4768306 |
Others | 38416677 | 37816171 |
在实际工作中,经常需要比较两个或多个相关联的数据,为使数据更直观,一般用百分数表示变化率。如图所示为2010年第四季度与2009年同期全率市场PC出货量情况的比较表。格式化出
货量增长率呢?
解决方案一
SELECT 品牌,[2009年第四季度],[2010年第四季度],
FORMATPERCENT([2010年第四季度] / [2009年第四季度]-1) AS 增长率
FROM [sheet1$]
FORMATPERCENT函数的使用
FORMATPERCENT函数返回格式化为尾随%字符的百分比表达式,其语法如下:
FORMATPERCENT(expression[,numdigitsafterdecimal][,includeleadingdigit][,useparensfornegativenumbers][,groupdigits])
其中,第一个参数expression表示要格式化的表达式。第二个参数numdigitsafterdecimal设置显示小数点右边多少位,默认值为-1,指示使用计算机的区域设置。第三个参数includeleadingdigit设置小数值是否显示前导零。第四个参数useparensfomegaLivenumbers设置是否将负值放在括号中。第五个参数groupdigits设置是否使用在计算机区域设置中指定的组分
隔符将数字分组。
参数includeleadingdigit. useparensfornegativenumbers及groupdigits的设置说明见。
当省略一个或多个可选参数时,被省略的参数的值将由计算机的区域设置提供。所有的设置信息均来自“区域设置”的“数字”选项卡。
Includeleadingdigit,useparensfornegativenumbers及groupdigits设置说明
值 |
说明 |
-1 |
True |
0 |
False |
-2 |
使用计算机区域设置中的设置 |
解决方案二
SELECT 品牌,[2009年第四季度],[2010年第四季度],
FORMATNUMBER([2010年第四季度] / [2009年第四季度]-1,4)*100 & '%' AS 增长率
FROM [sheet1$]
FORMATNUMBER函数的使用
本例中,通过FORMATNUMBER函数返回符合要求格式的增长率。分步解析如下: [2010年第四季度] / [2009年第四季度]-1,返回增长率数值。
FORMATNUMBER([2010年第四季度] / [2009年第四季度]-1,4,格式化增长率数值为4位小数。
FORMATNUMBER([2010年第四季度] / [2009年第四季度]-1,4)*100 & '%',将数值扩大100倍后增加符号"%”。
FORMATNUMBER函数返回格式化为数字表达式,其语法如下:
FORMATNUMBER(expression[,numdigitsafterdecimal][,includeleadingdigit][,useparensfornegativenumbers][,groupdigits])
其中,第一个参数expression表示要格式化的表达式。第二个参数numdigitsafterdecimal设置显示小数点右边多少位,默认值为-1,指示使用计算机的区域设置。第三个参数includeleadingdigit设置小数值是否显示前导零。第四个参数useparensfornegativenumbers设置是否将负值放在括号中。第五个参数groupdigits设置是否使用在计算机区域设置中指定的组分
隔符将数字分组,
参数useparensfomegativenumbers及groupdigits的设置同上述。
解决方案三
SELECT 品牌,[2009年第四季度],[2010年第四季度],
ROUND(([2010年第四季度] / [2009年第四季度]-1)*100,2) & '%' AS 增长率
FROM [sheet1$A1:C7]
解决方案四
SELECT 品牌,[2009年第四季度],[2010年第四季度],
FORMAT([2010年第四季度] / [2009年第四季度]-1,'0.00%') AS 增长率
FROM [sheet1$A1:C7]