基于Excel的优先级计算

时间:2013-11-14 14:52:16

标签: excel-vba exception-handling vba excel

我需要根据Excel中特定单元格的条件值计算一个值。

所以我需要将单元格A1中的值乘以单元格B1中的值,但如果单元格B2中有值,我希望乘以此值(仅),依此类推,通过单元格B5。

示例:

基于B2优先于B1(忽略B1值),将B1乘以B1或B2或B3或B4; B3超过B2(忽略B1和B2值); B4超过B3(忽略B1,B2和B3值)等。

3 个答案:

答案 0 :(得分:0)

我可能会遗漏一些东西,但你不能简单地使用嵌套的If语句:

=IF(B2="",IF(B3="",A1*B4,A1*B3),A1*B1,A1*B2)

我的例子可能没有使用正确的单元格值,但你明白我的观点(希望如此)。

答案 1 :(得分:0)

=IF(ISNUMBER(B1),B1,IF(ISNUMBER(B2),B2,IF(ISNUMBER(B3),B3,IF(ISNUMBER(B4),B4,IF(ISNUMBER(B5),B5,"NA")))))

您也可以使用ISBLANK等功能代替ISNUMBER。

答案 2 :(得分:0)

您可以使用if语句与<>(不等于)运算符

=A1*IF(B5<>"",B5,(IF(B4<>"",B4,IF(B3<>"",B3,(IF(B2<>"",B2,B1))))))

嵌套的ifs有点棘手,但你几乎要检查:

  • 如果B5不为空白,则乘以B5
  • 否则,如果B4不为空,则乘以B4
  • 否则,如果B3不为空,则乘以B3
  • 否则,如果B2不为空,则乘以B2
  • 否则,乘以B1

这假设如果所有其他人没有值

,则保证B1具有值