在IF的世界观里,这是一个非黑即白的世界。汉字描述就是:
IF(是不是真,是真就白,不是真就黑)
最常用的就是,IF(A1>B1,"大","小")。意思就是,如果A1单元格内的值大于B1单元格内的值,就显示大,否则(A1小于等于B1),就显示小。
除了数字比较大小,文字,字母,字符和日期也是可以比较大小的。也就是可以用:
小于<
大于>
小于等于<=
大于等于>=
等于=
不等于<
字符比较
这些符号进行比较的。字符(单个字母,单个汉字)有一套编码,它们有个固定的位置,称为xxx编码参照表。并且在比较大小(也就是大于小于大于等于小于等于)的时候,会从第一个字符的编码位置开始比较。因为对于等于=,还有不等于<>,它会进行全字符比较,也就是每一个字符都必须相等,如果有一个半角逗号和一个全角逗号,那也是不相等的。至于这套编码表,还有查看编码的函数,下一期,等我有电脑的时候吧。
对于字符比较,还是举个例子吧,
对于字符”egg“与”ball“,如果用IF("egg">"ball","大","小"),你们可以先预料一下会出现什么结果。对于IF("EGG">"egg","大","小"),这个在没有编码表对照的话有点难猜,你可以试试。
要是闲得慌,你可以再猜猜IF("egg">"era","大","小").
日期比较
日期比较的实质就是数字比较,因为在Excel 里,日期的实质就是距离1900-1-1(没记错的话)到日期的天数,时间就是从0点开始的秒数。也就是说,时间越晚,其值越大。
举个🌰,我上一次编辑的日期是9月8日,Excel里表示就是2018/9/8;本次编辑的时间是2018/9/13.在日期比较的逻辑里,2018/9/13>2018/9/8这是成立的。也就是说IF(2018/9/13>2018/9/8,"大","小")在这个函数里,我们可以预期返回结果是:大。
你可以通过将日期所在的单元格更改为常规数字格式来查看它的对应值,如果这个日期带上了时间,那么它被转换的数字会带上小数
IF嵌套
对于用函数比较多的人来说,嵌套不算什么。但是对于新手来说,嵌套可以把你逼疯。IF在03及之前的版本里,是有嵌套层数限制的,记得是7层。刚毕业的时候我在华帝培训过函数,那是一场无比失败的培训,那时候的我甚至连嵌套的层数都不知道,所以呢,你们其实也不用知道。估计新版本的254层嵌套限制,你们也用不到那么多。如果你成功的写出了200多层的IF嵌套,那我给你打1分,剩下9分留着鄙视你。
因为我及其讨厌复杂的函数。
一旦发生了函数条件变动,或者写函数的人跑路,那你就等着加班理函数逻辑吧。
IF嵌套就是在一个IF未结束的时候写入另一个IF,当然上面这句话你可以重复n次,这样就是n层嵌套了。举第3次,IF(A1>8,IF(A1>16,"A","B"),IF(A1>4,"C","D")),你们猜一下,如果A1等于5, 返回了哪个ABCD的哪个字母。
下次你们写超过3层的IF嵌套的时候,建议你们先画个思维导图。
写到这里我想到了一个段子:如果你和一个程序员说,去买2个包子,如果看到西瓜,就买1个。我们来写成IF函数就是:
包子数=IF("被叫去买包子(这个命题只能为真)",2,IF("看到西瓜",1,2),"没有被叫去买包子失败的情况")
IF的函数组合
IF是一个非常容易和其他函数一起使用的函数。
例如IF(FIND(...用来查找是否包含关键字并返回你设定的显示文字。
例如IF(AND(Situation1,Situation2)...
这个AND换成OR就是或条件
IF(LEFT(... IF(RIGHT(...
哪来那么多IF,真想说这世界没有如果,只有结果。