返回目录:excel表格制作
Excel函数界定值自动填写?
首先谢谢邀请答题,我是Excel大白。
你这个问题其实就是一个关于条件判断的问题,有好几种解决办法:
IF函数解决
我们可以用IF函数的嵌套来解决这个问题,如下图:我们在提出列输入公式:
=IF(E4>=8500,"2000",IF(E4>=7500,"1600",IF(E4>=6500,"1200",IF(E4>=5500,"800",""))))
这个公式一共嵌套了5层的IF函数,它们的逻辑关系如下:
当E4单元格的值大于等于8500时,返回2000,执行完毕。
当E4单元格的值小于8500时,进入第二层IF判断,判断E4的值是否大于等于7500,大于等于7500时,返回1600,执行完毕。
当E4单元格的值小于7500时,进入第三层IF判断,判断E4的值是否大于等于6500,大于等于6500时,返回1200,执行完毕
依此类推,直到E4的值小于5500时返回“空值”。
上图中,我们在“销售额”列输入数值,“提出”列会自动的按要求放回数值。
条件表达式
IF函数虽然好用,但IF函数最多只能有7层的嵌套,如果判断条件多余7,IF函数就无能为力了。
如下图所示:在“提出”列输入公式:
=(E4>=5500)*(E4<=6499)*800+(E4>=6500)*(E4<=7499)*1200+(E4>=7500)*(E4<=8499)*1600+(E4>=8500)*1600
公式解析:
(E4>=5500)*(E4<=6499)*800:“(E4>=5500)”判断E4的值是否大于等于5500,如果大于等于则返回“1”,否则返回“0”;同理,“(E4<=6499)”当括号里的条件成立返回“1”否则返回“0”。
如下图所示:当销售额的值为6499时,
(E4>=5500)*(E4<=6499)*800:值为1*1*800=800
(E4>=6500)*(E4<=7499)*1200:值为0*0*1200=0
(E4>=7500)*(E4<=8499)*1600:值为0*0*1600=0
(E4>=8500)*1600:值为0*2000=0
所以这个公式的计算结果为:800+0+0+0=800
VLOOKUP函数的模糊查询
如下图所示,我们可以用VLOOKUP函数的模糊查询来解决这个问题。
VLOOKUP函数有两种查找模式:精确查找和模糊查找,我们现在用的是模糊查找。
使用VLOOKUP函数的模糊查找,我们首先要新建一个查找的数据区域,如下图右边的J列和F列的数据就是我们要在里面查找匹配值的数据区域。
查找的数据区域建好后,我们就可以在图中F4单元格里输入公式:=VLOOKUP(E4,J:K,2,1)。
公式解析:
VLOOKUP函数模糊查找的原理就是:提取第一个参数“E4”单元格的值3000,在查找区域“J”列里查找最接近3000但比3000小的值,然后返回该值对应的K列的返回值。
对照下图中来说就是,当E4的值为6000时,在J列里找比6000小的值,有“1”和“5500”,“5500”最接近6000,所以返回“5500”后的返回值“800”。
VLOOKUP函数模糊查询的要点就是查询表(辅助表)的建立,其中的“条件(匹配)”列的数据一定要按 升序 排列,否侧会出现什么问题,你可以试试。
希望我回答能解答你的疑惑,欢迎留言、私信交流。
我是Excel大白,我在头条分享经验,回答问题。