目录
源数据表
姓名 | 工资额 | 调整额 |
蔡妙吟 | 6020 | 800 |
张豪麟 | 5280 | |
周益民 | 6750 | |
高美榆 | 6960 | |
阮致维 | 6620 | |
吴陈庭 | 2640 | |
林易德 | 2140 | 600 |
罗智 | 3280 | |
林家仪 | 6110 | |
张雅晴 | 4390 | 500 |
傅盈婕 | 3910 | 600 |
林敬耀 | 5350 | |
贾昀恩 | 3020 | 600 |
陈莉盈 | 6590 | |
李存益 | 5030 | 800 |
陈威廷 | 6920 | |
吴伊仙 | 3140 | |
潘政昕 | 3780 | |
李明勋 | 3410 | |
陈靖男 | 2250 | 800 |
陈政维 | 4930 | |
陈雅芬 | 5560 | |
张家玮 | 2030 | |
陈沅炜 | 4940 | |
姚怡均 | 4670 | 800 |
赵倩 | 4540 | 600 |
沈哲仰 | 4070 | |
萧安筑 | 5730 | |
郑梦梅 | 6150 | 600 |
李雨晴 | 4400 |
某公司年终总结后,考虑到今年公司产品销量上涨,老板决定给所有的员工加薪,如图所示为其草拟的工资调整计划表,其中“工资调整”一列中为空白表示均加薪200元。根据原始工资额及调整额得到调整后的工资额。
解决方案
SELECT 姓名,工资额,调整额,
工资额+IIF(ISNULL(调整额),200,调整额) AS 调整后工资额
FROM [sheet1$]
ISNULL函数的使用
本例通过LSNULL函数检测单元格是否包含无效数据,并赋值后得到结果。
ISNULL函数返回布尔值,表示表达式是否包含无效数据(Null),其语法如下:
ISNULL(expression)
如果参数expression为Null,则ISNULL返回true:否则ISNULL返回false。如果参数expression包含多个变量,则除&运算符外,构成该表达式的任何变量中的Null都会导致整个表达式返回true。当表达式中包含&运算符且所有的变量均为Null时,ISNULL才返回true。
ISNUMERIC函数
ISNUMERIC函数返回一个布尔值,表示表达式是否可作为数值参与运算,其语法如下:
ISNUMBERIC(expression)
其中参数expression包含数值或字符串表达式。当参数expression结果不同时,ISNUMERIC函数的返回结果也不同。
不同参数expression时ISNUMERIC函数的返回值
Expression表达式值 |
语句 |
说明 |
科学计数法 |
ISNUMERIC(2e3)或: ISNUMERIC(2e+3)或 ISNUMFRIC(2e3)或 ISNUMERIC(2d3) |
返回-1。ISNUMERIC(2d3)返回错误提示 |
二进制数 |
ISNUMERIC(“&1O11”) |
返回-1。ISNUMERIC(“&B1011”)返回0 |
八进制数 |
ISNUMERIC(“&03-”)或ISNUMERIC(“&3") |
返回-1。ISNUMERIC(“&9”)返回O |
十六进制数 |
ISNUMERIC(”&HFA”) |
返回-1 |
加圆括号的数字 |
ISNUMERIC((1))或 ISNUMERIC(“(12)”) |
返回-1 |
系统设置的货币表达式 |
ISNUMERICC(¥10.5) |
返回-1.当控制面板中自定义货币符号为”$”时,ISNUMERIC(“$10.5”)返回-1 |
显式指定正负的数字 |
ISNUMERIC(+7)或 ISNUMERIC(“+7“) |
返回-1 |
以数字开头的含有全角或半角逗号的数字字符串 |
ISNUMERIC(“1,,5,,”)或ISNUMERIC(“-1,,5,,")或 ISNUMERIC(”1.,,") |
当非首位的数字前有+域-符号时返回为0.如ISNUMERIC(“l,,5,,,”)返回O
|
日期型值 |
ISNUMERIC(#2010-1-1#) |
返回0 |