使用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)))
请记住,如果信件后面的数字总是一位数字,这只会起作用