回复 zfc7777 的帖子
=IF(F2="","",SUM((DATE(YEAR(D2),MONTH(D2),1)=月初汇率!A$2:A$25)*IF(MID(工作表!F2,8,3)="USD",月初汇率!$B$2:$B$25,月初汇率!$C$2:$C$25)))
1 DATE(YEAR(D2),MONTH(D2),1) 根据D2的日期得到一个新日期,日期的年、月与D2的日期一致,日为1。
2 (DATE(YEAR(D2),MONTH(D2),1)=月初汇率!A$2:A$25) 上一步得到的日期分别与月初汇率表的A2:A25单元格进行比较,相等的得到TRUE,不等的得到FALSE
3 MID(工作表!F2,8,3)="USD" 提取工作表F2单元格第8位开始的3位字符,并与USD字符比较
4 IF(MID(工作表!F2,8,3)="USD",月初汇率!$B$2:$B$25,月初汇率!$C$2:$C$25) 判断 步骤3的比较的结果,如果相等返回B2到B25,不等返回C2和C25。用来返回不同的汇率
5 SUM((DATE(YEAR(D2),MONTH(D2),1)=月初汇率!A$2:A$25)*IF(MID(工作表!F2,8,3)="USD",月初汇率!$B$2:$B$25,月初汇率!$C$2:$C$25)) 将步骤2和步骤4得到的结果相乘,返回不同的汇率结果。
6 外面套上IF(F2="","",步骤5公式) 目的是当F2是空单元格时,结果也返回空。
* 在这里就是乘号的意思
步骤5的公式为典型的条件求和公式。