ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 公式中的IF({1,0}……表示什么意思?

公式中的IF({1,0}……表示什么意思?

作者:绿色风 分类: 时间:2022-08-17 浏览:235
楼主
gouweicao78
Q:公式中经常看到有用IF({1,0}……之类的用法,到底是什么意思呢?
A:这个是利用常量数组作为IF函数的第1个参数,实现构建新的2列数组的用法,简单地说:
=IF(1,A1,B1)——返回A1
=IF(0,A1,B1)——返回B1
那么,=IF({1,0},A1,B1)——返回一个2列的数组{A1,B1}  (注意:这个写法只是为了让大家了解数组中的值是哪个单元格的,下同),这个我们都容易理解,扩大一点:
=IF(1,A1:A5,B1:B5)——返回A1:A5
=IF(0,A1:A5,B1:B5)——返回B1:B5
=IF({1,0},A1:A5,B1:B5)——返回一个2列的数组{A1,B1;A2,B2;A3,B3;A4,B4;A5,B5}

再扩大一点:
=IF(1,A1:A5&C1:C5,B1:B5)——返回A1:A5&C1:C5
=IF(0,A1:A5&C1:C5,B1:B5)——返回B1:B5
=IF({1,0},A1:A5&C1:C5,B1:B5)——返回一个2列的数组,{A1&C1,B1;A2&C2,B2;A3&C3,B3;A4&C4,B4;A5&C5,B5}

从而,我们需要用A与C列作为条件时查询B列时,就可以利用了。

 




IF({1,0},A2:A5&B2:B5,C2:C5)——返回2列的数组,第1列是A2:A5&B2:B5,第2列是C2:C5
这个重新构建的数组,作为VLOOKUP查找的表,首列满足E9&F9的话就返回第2列的值,也就是说:A2:A5&B2:B5——如果与E9&F9相同,就返回对应的C2:C5的值。
IF({1,0}是什么意思.rar
2楼
chris0805
历害,版主何时可以达到你的境界
3楼
棉花糖
CHOOSE函数可以创造出30列的数组
4楼
xdwy81129
有深度,学习。
哇,看来不懂的东西太多了,而且是基础
5楼
xdwy81129
不知道老师有解释这个没有:CHOOSE函数可以创造出30列的数组

同时,2列的数组意思是数组在2列????

请老师指教
6楼
snowangle007
虽然会了,也看看不同的解释,加深印象!
7楼
xing_xingyou
不懂的东西太多了,何时可以达到版主的境界
8楼
kenny_m
支持一下版主!
9楼
kenny_m
如果1,返回A1;如果0,返回B1,但是有个问题:1、0如何判断呢(没有条件啊)?真假如何。
10楼
kenny_m
如果1,返回A1;如果0,返回B1,但是有个问题:1、0如何判断呢(没有条件啊)?真假如何。
如何是就是1,如何就是0呢?
11楼
jingyingtihu
这种学问怎么能好好练成啊
12楼
强业
我来学习!
13楼
200240
经常看到别人用
今天终于看到讲解了,很有用。
14楼
1582863947r
努力学习
15楼
传递
说明里的 if{1,0} 和例子里的 if(1,A1,B1)-- 返回A1  "0" 哪里去了呢
是不是省略了?
和VLOOKUP中逆向查询里的 {1,0} 一样吗?
16楼
xiaobtl
我越来越感觉,高手之所以高,就高在对一些我们不懂的基础知识的超乎扎实的了解,而我们之所以没他们厉害,问题的根本就在于我们不了解基础知识,所以成不了高手。
17楼
touhi
太厉害,学习了
18楼
传递
if({1,0,0,0,0,0},a,b,c,d,e,f,{0,1,0,0,0,0}……)可以用到更多级数组
19楼
kmbobo
支持版主
20楼
Rongson_Chart
21楼
夜兮上海滩
不得不说学到了 感谢
22楼
好大一棵树王玉
版主讲的很好,要是能再深点就更好了
23楼
bensonlei
温习一下!相信这就是ET的亮点,总有一帮很用心的版主整理好各类的知识点!
24楼
心痛神伤
学习了,基础知识必须扎实
25楼
klaratree
还是不理解啊不理解
,下载了LZ的附件,但是结果一直返回错误;另外,同问1,0如何判断,何时为1,何时又为0呢,纠结啊
26楼
bobobaby
同问
27楼
gouweicao78
“同问1,0如何判断,何时为1,何时又为0呢,纠结啊”

这个IF({1,0}是我们输入的啊,也就是我们已经决定让1、0两种状态共存的时候,用于构造数组。
最常见的用法,是VLOOKUP从右往左查询,例如某表A列是职务、B列是姓名,要根据C1姓名查询其职务:
=VLOOKUP(C1,IF({1,0},B:B,A:A),2,0)
其中,就是用IF({1,0}把B列摆在A列前面形成新的数组
28楼
HIMYM
学习了!
29楼
yangruiree
学习.....
30楼
hustclm
正困惑了,刚好解答了,谢谢草版
31楼
声笑扬
太牛了,解决了正要解决的问题
顶!
32楼
zjh941120
学习一下
33楼
油果
好好学习!
34楼
RickWangShimly
不错,学习学习。
35楼
想做表姐的幺妹
尝试了好多次,原来是要选中全部公式区域输入公式才可以,哈哈!菜鸟好汗o(╯□╰)o
36楼
poiuyman5
Great Work.....
37楼
wufang
这个用法没看到过,长知识了,谢谢。
38楼
B笨I笨N
掃盲了~~~謝謝....

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap