使用Excel公式来计算基于字母infront的数字

我有一个电子表格与几个单元格与以下input:

V4 V5 V2 V3 V5 V7

我试图告诉Excel检查infront的价值,并看看它是一个五。如果这是真的,计数旁边的值。 这必须在循环中完成,直到它已经通过范围并且将所有的值相加。

这个公式让我几乎在那里..但仍然没有可行的输出。

=SUMPRODUCT(--(LEFT(A1:AO1,1)="V")*SUM(RIGHT(A1:AO1,1)))

VBA不是一个选项。

你非常接近,使用数组公式

 =SUMPRODUCT(--(LEFT(A1:AO1,1)="V"),IFERROR(--RIGHT(A1:AO1,1),0)) 

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。

编辑#1:

Guitarthrower的评论所述 ,如果V后面有多个数字,这将起作用

 =SUMPRODUCT(--(LEFT(A1:AO1,1)="V"),IFERROR(--RIGHT(A1:AO1,LEN(A1:AO1)-1),0)) 

编辑#2:

如果您在2007年之前使用的是Excel版本,请使用以下数组公式:

 =SUMPRODUCT(--(LEFT(A1:AO1,1)="V"),IF(ISERROR(--RIGHT(A1:AO1,LEN(A1:AO1)-1)),0,--RIGHT(A1:AO1,LEN(A1:AO1)-1))) 

假设V旁边的值是一位数字,你可以在excel中使用下面的IF语句来检查是否确实存在一个V ,然后为单元格赋值V或者一个零。

 =IF(LEFT(A1; 1)="V"; RIGHT(A1;1);0) 

之后,由你来调整一下。

不要打败excel,显而易见的解决办法是:

  =IF(LEFT(A1,1) = "v", RIGHT(A1,1), 0) 

在一列(你可以隐藏它),然后正常结算。

其他答案都需要一个帮手列,但是你的问题似乎暗示着你正试图避免。 尝试下面的公式(必要时调整范围):

=SUMPRODUCT(--(LEFT(A1:A8,1)="V"),VALUE(RIGHT(A1:A8,1)))

请记住,如果信件后面的数字总是一位数字,这只会起作用