我有一列样本数据,其中每个单元格为空白或(3个字母字符,1个空格,1个数字)。例如:
我需要检查单元格是以GTR还是DBT开头,然后返回数字,并对列的返回值求和。我使用下面的公式:
= ARRAYFORMULA(总和(IF(OR(左(A1:A10,3)=" GTR",左(A1:A10,3)=" DBT" ),VALUE(右(A1:A10,1)),0)))
问题是,它不是返回20,而是返回52.实际上它似乎返回范围内任何单元格的最后一个字符。例如。如果A5的值为' someText'公式返回错误,因为value()无法解析' t'变成一个数字。我想知道是否有人可以告诉我如何解决这个问题,或者我的公式是否有问题?
以下是Google表格中此问题的一个示例: https://docs.google.com/spreadsheets/d/1XNVUWhI43UW2ABrja8rmplmxhhkSu-je45F-9F_3GQM/edit#gid=0
谢谢, Onji
答案 0 :(得分:0)
如果范围中的任何单元格在编码中,则ArrayFormula
加OR
将评估为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)))
答案 1 :(得分:0)
除了Kriggs的解决方案,这个公式也应该有效:
=ArrayFormula(sum(if(regexmatch(B3:B12, "GTR|DBT")=TRUE, right(B3:B12)+0,)))