Excel SUMIFS用于标题包含字符串的单元格,但如果任何选定单元格包含NA

时间:2016-08-09 01:39:29

标签: excel

我试图创建一个sumifs公式,该公式对标题包含指定字符串的单元格求和(例如," EC"),但我希望它返回" NA&# 34;如果任何一个单元格包含NA(缺少数据),则出现错误。

我的数据框架有点像这样:

ID | EC1 | INH2 | EC3

A | 100 | 200 | 100 

B | 200 | 100 | NA

C | 200 | NA | 100

理想的总数看起来像这样:

ID | ECtot | INHtot

A | 200 | 200

B | NA | 100

C | 300 | NA

公式1我尝试过:

=sumif([#headers][df], "*STRING*", [@df])

Actual: =SUMIF(Table1[[#Headers],[1.EC.N]:[75.TM.I]],"*EC*",Table1[@[1.EC.N]:[75.TM.I]])

结果:这对包含字符串的所有列求和,就像NA = 0一样;如果包含该字符串的任何列也包含NA,我需要它返回错误或NA。

示例结果:

ID | ECtot | INHtot

A | 200 | 200

B | 200 | 100

C | 300 | NA

公式2:

=if(countblank([@df})=0, sumif([#headers][df], "*STRING*", [@df]))

Actual: =IF(COUNTBLANK(Table1[@[1.EC.N]:[75.TM.I]])=0, SUMIFS(Table1[@[1.EC.N]:[75.TM.I]],Table1[[#Headers],[1.EC.N]:[75.TM.I]],"*Inh*"))

结果:如果整行中的任何单元格包含NA,则返回FALSE,而不仅仅是包含字符串的单元格,否则返回正确的总和。

示例结果:

ID | ECtot | INHtot

A | 200 | 200

B | NA | NA

C | NA | NA

任何人都有任何想法如何巩固这两个问题?否则,我必须手动对这些进行求和,但这涉及人为错误(75列)。

如果有人知道,也可以使用涉及R的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:0)

回答了我自己的问题。简单的解决方案,使用公式#1,并使所有NA的-9999(因为在这种情况下值不能为负)。然后用NA替换所有负数。