ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 名课 - Power BI数据分析与可视化实战 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: zjsico

[讨论] ifan是不是很鸡肋

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-10 16:32 | 显示全部楼层
函数总归有用的,比如不常用的concatenate函数

TA的精华主题

TA的得分主题

发表于 2021-1-10 17:22 | 显示全部楼层
sucx007 发表于 2021-1-10 16:32
函数总归有用的,比如不常用的concatenate函数

哈哈哈,那个么还好楼主说是鸡肋,我觉得这个函数么可以用废柴来形容

TA的精华主题

TA的得分主题

发表于 2021-1-11 10:06 | 显示全部楼层
要考虑所有人的习惯,也许有人不喜欢 & ,或者在特定的很多单元格需要连接时,conca函数比 & 输入更快捷,每个函数都有他的用处,也许100个人有99个人不用,但是有那么一个人也许就一直在用

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-11 10:15 | 显示全部楼层
micch 发表于 2021-1-11 10:06
要考虑所有人的习惯,也许有人不喜欢 & ,或者在特定的很多单元格需要连接时,conca函数比 & 输入更快捷, ...

赞。。。。

TA的精华主题

TA的得分主题

发表于 2021-1-11 10:26 | 显示全部楼层
CONCATENATE可能是唯一一个鸡肋的函数

TA的精华主题

TA的得分主题

发表于 2021-1-11 11:12 | 显示全部楼层
本帖最后由 jivy1212 于 2021-1-11 11:21 编辑

concatenate绝对不是一个鸡肋的函数,非要说是也是公式我们喜欢短造成的。如果一样功能改成单字母就不会有人喜欢用&了。

TA的精华主题

TA的得分主题

发表于 2021-1-11 11:43 | 显示全部楼层
准提部林 发表于 2021-1-10 13:21
偵測錯誤值, 可以統包排除, iferror, iserror,
但若要對錯誤值的類型做分歧判斷, 還是須要用ifna, isna, i ...

excel的万千函数就如这包罗万象的世界,每个物种各有他存在的意义。
置于重要与否,在于使用者所应用的领域

TA的精华主题

TA的得分主题

发表于 2021-1-11 14:41 | 显示全部楼层
loirol 发表于 2021-1-11 10:26
CONCATENATE可能是唯一一个鸡肋的函数

不鸡肋,
  • 很简单的,加个前缀后缀什么的,我用&
  • 操作比较规律:例如批量在字符串中间添加逗号,我用PHONETIC
  • 操作不那么规律,也没有必要特地为此整理的时候,我用CONCATENATE
  • 量再大再复杂的我用vba

TA的精华主题

TA的得分主题

发表于 2021-1-11 14:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
jivy1212 发表于 2021-1-11 11:12
concatenate绝对不是一个鸡肋的函数,非要说是也是公式我们喜欢短造成的。如果一样功能改成单字母就不会有 ...

单字符有双括号还是长呀

TA的精华主题

TA的得分主题

发表于 2021-1-12 17:02 | 显示全部楼层
楼主的问题是,既然IFNA函数是包含于IFERROR函数的,IFNA有何用处?

“全科”“专科”是一个揭示两者包含关系的形象比喻,但没有完全解释,既然“全科”可以解决问题,为什么还要这个“专科”?

首先,“包含于”不是“等于”,两者有个范围的差别。

目前EXCEL函数的错误值有7个:#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!,即包含7种错误类型。为什么要对错误分类?

因为软件不光要处理正常情况,也要处理异常情况和错误情况。(异常和错误是不同的,两者发生的概率、频率、紧急程度、严重程度、处理复杂程度都不同。比如说系统的“充电电池没电了”,可以是一个异常情况,而“充电电池坏了”,则一定是错误情况。“充电电池没电了”,只需要充电;“充电电池坏了”,则需要更换电池。一般来说,“充电电池坏了”相较于“充电电池没电了”,发生概率更小,频率更低,但更紧急,更严重,处理需要的人为干预更多更复杂。)

很多时候我们做一个完整的系统,要写不少代码来处理异常和错误,甚至于代码量要远多于正常处理的代码量。相应地,也要花更多的时间,去测试异常和错误。虽然异常和错误是小概率事件,但往往“失之毫厘,谬以千里”。不要有侥幸心理,所谓的墨菲定律“如果坏事情有可能发生,不管这种可能性多么小,它总会发生”。我们时常写程序和函数,只做正常处理,而忽略异常和错误处理,如果只是测试版可以,如果是最终版,发布版,则会有麻烦。“严密性”永远是软件最重要的指标。做完备的异常和错误处理,是一个“合格的程序员”的必备修养。

那么如何进行错误处理?如果你不想“眉毛胡子一把抓”的话,首先就要对错误进行分类,然后分别处理。

回到楼主的问题,如果你关注,公式是否只报#N/A的错,那么用IFNA和IFERROR是一样的。但如果公式还报其他错误,不同的错误处理的方式不同,那么你就要区分错误,去看“专科”门诊。

继续,其实除了IFNA和IFERROR,EXCEL还有ISERROR(), ISERR()和ISNA()(ISERROR=ISERR+ISNA)。甚至于还有NA()。但为什么没有ISERRNUM(), IFERRNUM(), ERRNUM(), ISWRONGREF(), IFWRONGREF(), WRONGREF()等等?“错误全科”下面为什么只有一个“NA专科”?#N/A有什么特殊吗?

#N/A的意思是没有合适的值(no value is available)。常用于,在单元格中输入“N/A”,避免在计算中因为缺少信息包含空单元格而出现错误的情况,更接近于警告(warning)的一种错误。特别体现在图表中,当数据为#N/A时,该数据会被忽略,不会出现在图表中,它与其它错误值,以及0,空单元格是不同的。

至于CONCATENATE()和&,我觉得两者基本是等价的,所谓的区别,
1. CONCATENATE是函数,&是运算符,对于微软的开发人员来说,它们的实现方法是不同的;
2. CONCATENATE的参数不能多于255,而&只要没有超过公式的长度限制,可以多于255;
3. 但对于参数足够多的时候,作为分隔符,逗号,比&要更清晰,公式的可读性要更好,更容易查错纠错,可读性是跟严密性相关的。

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

本版积分规则

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

GMT+8, 2025-12-24 17:12 , Processed in 0.041570 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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