前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问与答129:如何对#N/A文本值进行条件求和?

问与答129:如何对#N/A文本值进行条件求和?

作者头像
fanjy
发布2021-07-12 16:15:47
2.1K0
发布2021-07-12 16:15:47
举报
文章被收录于专栏:完美Excel完美Excel

Q:很有趣的一个问题!如下图1所示的工作表,在单元格区域A1:A2中,使用公式:

=”#N/A”

输入的数据。

在单元格A3:A4中,使用公式:

=NA()

输入的数据。

它们输出的结果看起来相似,但实质上是不同的:在A1和A2中是文本类型,而A3和A4中是错误类型。从数据的对齐方式上也可以反映出来。

图1

我现在如何使用SUMIF函数来求出文本“#N/A”值对应的列B中的数值之和?看起来简单,但实现起来却遇到了困难。我想要的答案是:3,但下列公式给我的答案是:12。

这些公式是:

=SUMIF(A1:A4,"#N/A",B1:B4)

SUMIF(A1:A4,"=#N/A",B1:B4)

=SUMIF(A1:A4,A1,B1:B4)

如何得到正确的答案3?

A:从上面的结果看得出来,在底层,SUMIF函数在进行比较之前会将这些标准参数中的每一个从文本类型强制转换为错误类型。

可以使用下面的SUMIF公式来实现:

=SUMIF(A1:A4,"*#N/A",B1:B4)

或者:

=SUMIF(A1:A4,"?N/A",B1:B4)

如者:

=SUMIF(A1:A4,"#?/A",B1:B4)

其中,通配符*和?让SUMIF函数来处理文本类型。

当然,这些公式并不严谨。例如,如果单元格A1包含公式=“abc#N/A”,那么由于*通配符,它将包含在总和中,而我们只希望包含纯“#N/A”值。为了尽可能考虑全面,剔除那些很少会出现的情况,可将公式调整为:

=SUMIFS(B1:B4,A1:A4,"?N/A",A1:A4,"#???")

也可以使用下面的数组公式:

=SUM((IFNA(A1:A4,"")="#N/A")*B1:B4)

你有其他解决方案吗?欢迎分享。

注:本文学习整理自colinlegg.wordpress.com,供有兴趣的朋友参考。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档