Google Arrayformula 中 Sum 的 Sheets right() 返回错误值
Google Sheets right() in Sum in Arrayformula returning false values
我有一列样本数据,其中每个单元格要么是空白,要么是(3 个字母字符,1 个白色 space,1 个数字)。例如:
我需要检查单元格是否以“GTR”或“DBT”开头,然后是 return 数字,然后对列的 return 求和。我正在使用以下公式:
=ARRAYFORMULA(sum(IF(OR(left(A1:A10,3)="GTR",left(A1:A10,3)="DBT"),VALUE(right(A1:A10,1)),0)))
问题是 returning 20,它 returns 52.
事实上,它似乎 return 范围内任何单元格的最后一个字符。 (例如,如果“A5”的值为 'someText',则公式 return 是错误的,因为 value()
无法将 't' 解析为数字。
我想知道是否有人可以告诉我如何解决这个问题,或者我的公式是否有问题?
这是 Google Sheet 中此问题的示例:
https://docs.google.com/spreadsheets/d/1XNVUWhI43UW2ABrja8rmplmxhhkSu-je45F-9F_3GQM/edit#gid=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)))
除了Kriggs的解,这个公式应该也可以:
=ArrayFormula(sum(if(regexmatch(B3:B12, "GTR|DBT")=TRUE, right(B3:B12)+0,)))
我有一列样本数据,其中每个单元格要么是空白,要么是(3 个字母字符,1 个白色 space,1 个数字)。例如:
我需要检查单元格是否以“GTR”或“DBT”开头,然后是 return 数字,然后对列的 return 求和。我正在使用以下公式:
=ARRAYFORMULA(sum(IF(OR(left(A1:A10,3)="GTR",left(A1:A10,3)="DBT"),VALUE(right(A1:A10,1)),0)))
问题是 returning 20,它 returns 52.
事实上,它似乎 return 范围内任何单元格的最后一个字符。 (例如,如果“A5”的值为 'someText',则公式 return 是错误的,因为 value()
无法将 't' 解析为数字。
我想知道是否有人可以告诉我如何解决这个问题,或者我的公式是否有问题?
这是 Google Sheet 中此问题的示例: https://docs.google.com/spreadsheets/d/1XNVUWhI43UW2ABrja8rmplmxhhkSu-je45F-9F_3GQM/edit#gid=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)))
除了Kriggs的解,这个公式应该也可以:
=ArrayFormula(sum(if(regexmatch(B3:B12, "GTR|DBT")=TRUE, right(B3:B12)+0,)))