作者:西蜀鄙夫xsbf
(2017年)
目录
第一回重新拼合两列数据 (2)
第二回对数据区域的挑选 (4)
第三回数组的长宽与数组的扩展 (6)
第四回多个阉割式if({1,0},xxx,)拼合数组 (8)
第五回从数组的角度理解if({1,0},xxx,yyy) (11)
第六回从逻辑的角度理解if({1,0},xxx,yyy) (14)
第七回if({1,0},xxx,yyy)嵌套 (17)
第八回{1,0}嵌套的宽度问题 (20)
第九回if({1,0},xxx,yyy)的一个经典实例 (22)
第十回choose()函数 (24)
Excel公式函数的运用中,时见if({1,0},xxx,yyy)这样的结构出现,究竟是什么意思,如何理解呢?对于许多人来说,不太好理解,本文就此详述一二,力求最通俗最详细,欢迎诸君斧正。
第一回重新拼合两列数据
1.要想明白if({1,0},xxx,yyy),先看个小问题,左边的数据区域中,如何把丁、辛两列挑出来
excel中值公式函数到右边这样构成一个数组区域呢?
方法一:选中D3:D7复制粘贴,再操作H3:H7;
方法二:选中D3:D7按CTRL键拖动到右边。这些手动操作方法,非本文讨论的范畴,一律无视。
2.方法三,在L3格输入=d3,然后下拉,再操作另一部分;方法四:如图输入数组公式,
再操作另一部分。这两种方法,其实要用“两个”公式,能否只用一个统一的公式就能达到目的呢?
3.试一下,图中企图用将两个数组用单纯的“+”或“&”这样来完成,显然不行。
4.想出这个公式,先乘上数组{1,0},再考虑相加,恭喜成功!
5.但是,刚才这个公式局限太大,应付纯数字还行,但是数组中有文本,显然就不能完成
任务了。由此可以看出,这个问题,决非想象中的简单容易。
6.要如何解决这个问题呢?不必兜圈子,请出今天的主角if({1,0},xxx,xxx),用这样的数组公
式即完成任务。图中用一个统一公式把辛-丁两列提出来成了右边这样,不管原来数据是否数字还是文本均无问题。
第二回对数据区域的挑选
8.刚才用到if({1,0},xxx,yyy) 这个结构就是为了重新构造一个数组,原理是怎样的?这里且
把这个结构阉割一下,去掉”yyy”,剩下if({1,0},xxx)。观察图中结果,({1,0}按“1”选择数据,其中的“1”可理解成“挑选”,“0”可理解成“不挑选”。
9.此例,不妨把{1,0}丰富一下,夸张地搞一串。如图这个公式,先看右边结果,就把左边
区域的数据“有选择地”挑选出来组成一个新的区域,挑选的方法就是,{0,0,1,0,0,1,1,0,1,0}这一句中“1”对应的丙、已、庚、壬列(图中红字已标识,辅助观察),而“0”就是没有挑选的列,对应右边显示的“false”。
10.此例,{1,1,1,1}其实选中连续的4列,{0,0,0,0}就是没有选择,显示“false”
11.插入一个小知识:{1,0, ……}中的‘1’指的是‘非0’,并非一定是自然数的‘1’,下图
中,把1换成其他非0数,两种方法操作结果一样。
12.{1,0, ……}这个其实对应‘列’的选择,类似的{1;0; ……}对应‘行’的选择,更有甚者,
还可以是象{1,0;0,1……}这种‘行列’的组合。如图所示例子,这个挑选,其实相当于对一个矩形数据区域,筛掉某些数据,留下的数据构成一个数组。
13.上例中{1,0;0,1……}太复杂,可以建立辅助表格,帮助观察。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论