ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 胡剑0227

[分享]if({1,0},数组1,数组2)原理剖析-猜想

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-26 11:54 | 显示全部楼层
呵呵,需要细细体会,然后就会加深一一对应的印象。

TA的精华主题

TA的得分主题

发表于 2008-4-30 10:16 | 显示全部楼层

从单值的自动适应到单维数组的自动适应,很不错,受教

TA的精华主题

TA的得分主题

发表于 2008-4-30 16:16 | 显示全部楼层

if({1,0},{1;2;3},{2;4;6})  这个公式产生的数组为{1,2;2,4;3,6}是吧

但想问版主,这样的数组一般在什么情况下可以发挥用处?

TA的精华主题

TA的得分主题

发表于 2008-4-30 20:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

还滴慢慢品味,这方面还不熟悉呀,哎

TA的精华主题

TA的得分主题

发表于 2008-4-30 23:19 | 显示全部楼层

“看剑!”——江湖打打招呼~“胡”

“看胡剑!”——EH打打招呼、长长见识

“看胡剑0227此帖!”——继续长长见识,倒是怎么不见原先的江湖气概?

此帖受教!!

呵呵,搞笑口吻,剑兄勿怪,不才一直追踪剑兄的帖子,直希望得剑兄剑法之真谛耳!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-5-2 20:33 | 显示全部楼层
QUOTE:
以下是引用wdy5212在2008-4-30 16:16:16的发言:

if({1,0},{1;2;3},{2;4;6})  这个公式产生的数组为{1,2;2,4;3,6}是吧

但想问版主,这样的数组一般在什么情况下可以发挥用处?

呵呵,首先在VLOOKUP的表参数构建时可以用.不过这个只是一个小用处.我们使用数组公式很多时候就需要来构造数组,所以如果能够对数组的构造能得心应手对处理复杂问题时就不用担心数组这个技术上的问题了,只要把精力花在逻辑上就行了,这样处理问题就好办多了。

其实这个帖子只是我另一个帖子 IF数组化 的基础理论准备的 片段.呵呵.那个IF数组化吃透了对写多单元格数组很有帮助.至于写多单元格公式有什么好处呢,就是效率比较高.

还有学数组 就得好好体会 里面基于一一对应的形变上的一一对应,如果掌握这招,我想就能写出比较飘逸的公式了.这个主要靠体会,这些是知识积累,到时就知道这些好处了.

处理复杂问题,我还有一个诀窍就是问题模块话,复杂问题一个一个简单化处理.

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-5-2 20:37 | 显示全部楼层
QUOTE:
以下是引用ybzdexcel在2008-4-30 23:19:10的发言:

“看剑!”——江湖打打招呼~“胡”

“看胡剑!”——EH打打招呼、长长见识

“看胡剑0227此帖!”——继续长长见识,倒是怎么不见原先的江湖气概?

此帖受教!!

呵呵,搞笑口吻,剑兄勿怪,不才一直追踪剑兄的帖子,直希望得剑兄剑法之真谛耳!

呵呵,其实SUM比剑的后篇我当时差不多写好了,就是压力的缘故,呵呵,没敢露面.

江湖习气是少了点,呵呵,有时需要灵光一闪吧.据说这种事情绕地球一周需要365天(典型寝室无里头话愈)

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-5-2 20:38 | 显示全部楼层
QUOTE:
以下是引用wdy5212在2008-4-30 16:16:16的发言:

if({1,0},{1;2;3},{2;4;6})  这个公式产生的数组为{1,2;2,4;3,6}是吧

但想问版主,这样的数组一般在什么情况下可以发挥用处?

扩展一下就意味着可以把两表合并.

TA的精华主题

TA的得分主题

发表于 2008-5-13 01:18 | 显示全部楼层
终于看懂了,所以敢在这留下一个痕迹。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-12 01:50 | 显示全部楼层

具体例子 11 列合并

=IF({1,1,1,1,1,1,0,0,0,0,0},IF({1,1,1,1,1,0},IF({1,1,1,1,0},IF({1,1,1,0},IF({1,1,0},IF({1,0},_X1,_X2),_X3),_X4),_X5),_X6),IF({1,1,1,1,1,1,1,1,1,1,0},IF({1,1,1,1,1,1,1,1,1,0},IF({1,1,1,1,1,1,1,1,0},IF({1,1,1,1,1,1,1,0},_X7,_X8),_X9),_X10),_X11))

这个是列合并公式,呵呵。很夸张吧,稍后会稍作解释。

========================================================================================

稍后就是现在,呵呵,这里XI 都代表一列。如果是行,看懂了你就会变化了,呵呵

解释 IF函数合并理解:

if({1,0},tc,fc)

IF原理就是 条件 为 TRUE 就反回 TRUE部(tc),FALSE 就返回FALSE(fc)。

如果条件是个数组,那么在循规蹈矩以上原则下还要注意一一对应性。条件中处于N列的元素为 TURE,那么返回时也要返回 TRUE部 的第 N 列 值。(核心)

所以上面的公式结果就是 {tc,fc}.

体会:if({0,1},tc,fc)={fc,tc}

-------------------------一道优美的分割线,呵呵,臭美,哈哈------------------------------

if({1,1,0},if({1,0},tc1,fc1),fc2)=if({1,1,0},{tc1,fc1},fc2)={tc1,fc1,fc2}

    1 ---> if({1,0},tc1,fc1) 中 返回第一列数据 --------->{tc1,fc1}中第一列数据--->tc1

      1 --->if({1,0},tc1,fc1) 中 返回第二列数据 --------->{tc1,fc1}中第二列数据--->fc1

          0---->fc2 中 返回第三列数据--------{fc2,fc2,fc2}-----------fc2 :此处是我的猜想,我称为 单值 的维数自适应性,呵呵。

体会:if({1,0,0},if({0,1},tc1,fc1),fc2)={fc1,fc2,fc2}

----------------------有一道优美的分割线,看天涯一网友的帖子受感染了,呵呵-----------

如果我再讲if({1,1,1,0},...,...)那么我绝对要佩服自己了,磨叽死了,呵呵

我发觉公式处理这里合并不是很擅长,用OFFSET数组公式 我发觉会出问题,结果为VALUE,没有深究。用IF吧写公式的时候要注意方式 否则很容易把嵌套关系混淆得一塌糊涂的一塌糊涂,呵呵。

我建议 从里面最小的IF写起,然后 一个一个进行外包,注意没有 把外层的IF条件 前边都是1,后面是0,而1的个数正好对应内部IF结果的列数,这样很清晰了,不容易写错。

自己顶一下,呵呵。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 13:03 , Processed in 0.040957 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表