楼主 传递 |
引入: IF函数其实只有一个条件来判断是否符合条件,返回FALSE和TRUE。 当有一大堆数据:判断条件,大于等于,60及格、大于等于70,良好、低于60不及格等……实则依旧按一个条件判断 比如:当分数为58分时,按照否大于等于60判断。低于60,返回FALSE,“对应不及格”,如果是60分,返回TRUE(及格)……依次类推。 举例: 当菜只有分甜的或咸的2口味时,例子中只按甜味是红烧肉,咸味是酱油肉说明(数据区) 盲人吃饭时,看不到是什么菜。 当别人问盲人 :“你现在吃的什么菜? 是咸的吗?如果是咸的,就是酱油肉,如果不是咸的就是红烧肉。”(给定判断条件:咸味) 盲人刚好在吃红烧肉,于是就咂吧着嘴说:“恩,好吃,不是咸的!是红烧肉”(根据提问的要求,不符合咸的) 假如要是盲人当时是在吃酱油肉呢,一定回答;“是的,咸的,是酱油肉”(条件为真,是! True)。 盲人根据口感,结合提问者说的条件,就知道自己吃的是红烧肉还是酱油肉了。 把这段话用公式来写: =IF(B27="甜的吗",A13,B13) B27 提问 A13 红烧肉 B13 酱油肉 翻译:是咸的吗?要是(是,true,1),就是酱油肉,要是不是咸的(FALSE,0),就是甜的红烧肉。 用if (1) 来判断: 公式A1
公式A2
0判断: 0为FALSE,当条件不符合时,返回另一值 公式B1
组合1,0 公式=IF(1,B13,A13) 和公式 =IF(0,B13,A13) 除了1和0 不同,其余相同。 把公式A1和B2 同时生成在2列(数组,CTRL、SHIFT、ENTER三键回车)
=IF({1,0},B13,A13) 根据判断原理公式写成如下,效果相同
第二列:是红烧肉”吗?如果是,就告诉别人,是红烧肉啊! 呵呵还有点拗口,其实只要知道,只要是第一参数为1时,只返回第一的条件,当第一参数为0时,返回的第一个条件失效,只返回第二条件。 一般数据都不会仅一行,所以在换位时,同时选中维数相同的区域,同时换位。 if(1,0).rar |
2楼 hylees |
谢传递整理,之前EH好象也弄了一个 |
3楼 传递 |
几乎不上EH,EP 我发过,但这个修改过。 |
4楼 dgxsdr |
看了半天,只记得红烧肉和酱油肉 |
5楼 eliane_lei |
老哥,下次老是拿吃的来。害我一边看一边流口水! 辛苦老哥了! |
6楼 lrlxxqxa |
最后的区域构建也可以用choose,原理相同。
if(1,0)2.rar |
7楼 lrlxxqxa |
吃肉之余理解了构建原理就OK |
8楼 dgxsdr |
好像除了{1,0}之外,IF这第一个参数里面用{}可以弄得更复杂一些,这样的构建数组可惜楼主没有提到! |
9楼 小风筝 |
在输入这么长的公式的时候,{1,0}在什么时候按 CTRL、SHIFT、ENTER三键回车 |
10楼 JustinTianyi |
看了楼主的帖子食欲大涨啊,呵呵 |