求一个简略的EXCEL函数公式 条件为同时满足两个范围内的数值则为X
如果只有这么一个判断,用你的公式就可以了,如果有许多这样的对A和B进行分段的规则,优雅的做法使用二维判断表,判断表、示例数据和函数公式如下图:
即使是上面的简单例子判断表,用IF、IFS写出来也太复杂了,而按照上面的思路,无论多么复杂的判断规则,函数公式的复杂度不会增加,增删规则表也非常简单,是不是很优雅。
C3公式的文本为:
=VLOOKUP(A3,$H$2:$K$5,MATCH(B3,$I$2:$K$2,1)+1)
实际上是一个非常简单的VLOOKUP经典模糊查询模式,查询A值在区域内容的行,只是返回列使用MATCH判断B值来确定。MATCH(B3,$I$2:$K$2,1)确定B值所在的列,结果+1作为VLOOKUP的第三个参数。
可以使用我的公式,把你上图有颜色的部分都改为范围的起点,使用数值类型就可以,例如【500以下】改为【0】、【500-1000】改为【500】,使用范围的起点数值。
一个函数都不需要,直接写公式,可以无限加
=(a1>=0.8)*(a1<=2)*(b1>=500)*(b1<=1000)*2.5+......
黑体部分为你上述描述的一个单元,后面可以添加很多个这样的单元,中间用+链接,比如:当(A大于等于0.8且小于等于2.0,B大于等于500且小于等于1000,为2.5),又当(A大于等于1.2且小于等于5.0,B大于等于1000且小于等于2000,为6),那么公式可以书写为:
=(a1>=0.8)*(a1<=2)*(b1>=500)*(b1<=1000)*2.5+(a1>=1.2)*(a1<=5)*(b1>=1000)*(b1<=2000)*6
希望能给你提供一些思路
你的公式中一个条件及其对应的结果,表达正确。