首页 文章

Google表格在Arrayformula中的Sum()中返回false值

提问于
浏览
0

我有一列样本数据,其中每个单元格为空白或(3个字母字符,1个空格,1个数字) . 例如:

enter image description here
我需要检查单元格是以GTR还是DBT开头,然后返回数字,并对列的返回值求和 . 我正在使用下面的公式:

= ARRAYFORMULA(总和(IF(OR(左(A1:A10,3)= "GTR",左(A1:A10,3)= "DBT"),VALUE(右(A1:A10,1)),0)))

问题是,它不是返回20,而是返回52.实际上它似乎返回范围内任何单元格的最后一个字符 . 例如 . 如果A5的值为'someText',则公式返回错误,因为value()无法将't'解析为数字 . 我想知道是否有人可以告诉我如何解决这个问题,或者我的配方有什么问题?

Here's an example of this problem in a Google Sheet: https://docs.google.com/spreadsheets/d/1XNVUWhI43UW2ABrja8rmplmxhhkSu-je45F-9F_3GQM/edit#gid=0

谢谢,Onji

2 回答

  • 0

    如果范围中的任何单元格在编码中,则 ArrayFormulaOR 将评估为TRUE,以克服此删除 OR ,并为每个条件添加 IF ,如下所示:

    =ARRAYFORMULA(sum(IF(left(A1:A10;3)="GTR";VALUE(right(A1:A10;1));0);IF(left(A1:A10;3)="DBT";VALUE(right(A1:A10;1));0)))
    
  • 0

    除了Kriggs的解决方案,这个公式也应该工作:

    =ArrayFormula(sum(if(regexmatch(B3:B12, "GTR|DBT")=TRUE, right(B3:B12)+0,)))
    

相关问题