EXCEL2007怎样用函数实现不同的两个表间同时满足两个条件返回值?

表1
A B C D
1 姓名 入职时间 离职时间 基本工资
2 张三 2012-01-01 2012-12-15 2000
3 颜四 2012-01-01 2012-11-30 2000      
4 李五 2012-01-01 2012-01-06 2000      
5 贾六 2012-01-01 2000

表2
A B C
1 姓名 工资发放月份 基本工资
2 张三 2012-12
3 颜四 2012-12
4 李五 2012-12
5 贾六 2012-12

如何实现当表2“工资发放月份”在表1中“入职时间”后或中且表2“工资发放月份”在表1中“离职时间”前或中或“离职时间”为空白时,表2“基本工资”列返回表1中对应名称的“基本工资”,否则返回0?

第1个回答  2013-01-15
在“基本工资”中的某一单元格输入以下公式:
=IF(OR(AND(J4>=D4,J4<=E4),AND(J4>=D4,E4="")),F4,0)

其中,J4是“工资发放月份”下对应的单元格,D4是“入职时间”下对应的单元格,E4是离职时间下对应的单元格,F4是表1中的“基本工资”对应的单元格。请将以上公式中的单元格号替换为你表中对应的单元格号即可。
第2个回答  2013-01-15
如果表2中的姓名与表一中的姓名是对应关系,公式会简化一点,如果不一定对应,则公式为:=SUMPRODUCT((表1!$A$2:$A$5=A2)*(表1!$B$2:$B$5<B2)*(IF(VLOOKUP(A2,表1!A1:D5,3,0)="",1,IF(VLOOKUP(A2,表1!A1:D5,3,0)>B2,1,0)))*(表1!$D$2:$D$5))
sumproduct()是多条件求和,if(vlookup())可以准备判断离职为空和小于发放月份的值
第3个回答  2013-01-15
在sheet2的C2中使用公式:
=IF(AND(VLOOKUP(A2,Sheet1!A:D,2,0)<=B2,OR(VLOOKUP(A2,Sheet1!A:D,3,0)>=B2,VLOOKUP(A2,Sheet1!A:D,3,0)="")),VLOOKUP(A2,Sheet1!A:D,4,0),0)
下拉复制公式。本回答被提问者采纳
相似回答
大家正在搜