提问:excel多个假设条件
网友回答:
公式1:
=IF(A1>1000,A1,IF(A1>500,1000,500))*B1
公式2:
=MEDIAN(1000,A1,CEILING(MAX(1,A1),500))*B1
说明:
一、公式1可以写成下面的样子,结果也正确,但公式中多了两个等于号。
=IF(A1<=500,500,IF(A1<=1000,1000,A1))*B1
二、公式2采用中值函数(MEDIAN)、舍入函数(CEILING)和最大值函数(MAX),
使A列数字得到符合条件的值。
(这个3个函数取代了IF函数,是一种解决问题的思路,
只做学习探讨,不作为推荐或首选公式)
只用舍入函数(CEILING)不能得到正确结果,
因为,它是将数字舍入最接近的指定基数(500)的倍数,
(1)当数字为0时,函数返回0,不是500;
(2)当数字小于0时,函数返回错误值(#NUM!),也不是500;
(3)当数字大于1000时,函数返回1500,2000,2500,……,不是A列单元格的值,并且其单元格的值。
(如下图所示)
所以,
在舍入函数(CEILING)中嵌套最大值函数(MAX),解决(1)、(2)的问题;
采用中值函数(MEDIAN)在1000、A列单元格的值和舍入函数(CEILING)返回值这3个数字中,
解决(3)的问题。