我有一个带有几个单元格的电子表格,其中包含以下输入:
V4 V5 V2 V3 V5 V7
我试图告诉Excel检查前面的值,看看它是否为V. 如果为TRUE,则计算其旁边的值。这必须在循环中完成,直到它通过范围并总结所有值。
这个公式让我差不多......但仍然没有可行的输出。
=SUMPRODUCT(--(LEFT(A1:AO1,1)="V")*SUM(RIGHT(A1:AO1,1)))
VBA不是一种选择。
答案 0 :(得分:1)
你非常接近,使用数组公式:
=SUMPRODUCT(--(LEFT(A1:AO1,1)="V"),IFERROR(--RIGHT(A1:AO1,1),0))
必须使用 Ctrl + Shift + 输入输入数组公式,而不仅仅是 Enter key。
修改#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)))
答案 1 :(得分:0)
假设V
旁边的值是一位数长,您可以在excel中使用以下IF
语句来检查是否确实存在V
,然后将单元格分配给V
旁边的值,或零。
=IF(LEFT(A1; 1)="V"; RIGHT(A1;1);0)
之后,您可以稍微调整一下。
答案 2 :(得分:0)
不要与excel战斗,显而易见的解决方案是:
=IF(LEFT(A1,1) = "v", RIGHT(A1,1), 0)
列上的(你可以隐藏它),然后正常加总。
答案 3 :(得分:0)
其他答案都需要帮助栏,但您的问题似乎表明您正在努力避免这些问题。 尝试下面的公式(必要时调整范围):
=SUMPRODUCT(--(LEFT(A1:A8,1)="V"),VALUE(RIGHT(A1:A8,1)))
请注意,只有在信件后的数字始终是一位数
时,这才有效