我有一个类似这样的Excel文件:
19-FM05 Heater 2.0 4.0
19-PB09 (M) Motor HPU 4.0 6.0
19-PB10A(M) Fan Motor 6.0 2.0
19-PB11A(M) Motor WCU 3.0 7.0
Motor 13.0 15.0
Other 2.0 4.0
Sum 15.0 19.0
我希望能够区分列A中包含(M)
的列,或列B中的单词Motor
或motor
,然后对所有电机行求和,和所有其他行。
(M)
后可能有空格,包含(M)
的所有行在下一列中也包含单词Motor
。
我不习惯在Excel中使用更高级的内容(例如VBA),并且找不到使用vlookup
,find
或类似内容执行此操作的方法。有什么建议吗?
答案 0 :(得分:1)
这适用于SUMPRODUCT
。您可以使用它来计算行式产品并总结它们。在此,您可以使用评估为1或0的条件。
Motors 总和(C5中的13.0)将是:
=SUMPRODUCT(NOT(ISERROR(FIND("(M)",A1:A4)))*(C1:C4))
答案 1 :(得分:0)
我使用的方法是在满足条件的情况下从数字列创建包含数字的列,否则为0。因此,在您的情况下,使用公式
创建一列= IF(ISNUMBER(SEARCH( “(M)”,A1)),C1,0)
在第一行中,然后将其复制到列中。然后当你对新的colume求和时,你只得到一个包含“(M”)
的行的总和答案 2 :(得分:0)
= IFERROR(IF(FIND( “(M)”,A1)大于0, “是”, “否”), “否”)
如果你坚持在D栏,如果A1包含“(M)”则返回yes,否则返回no。这将有助于你过滤,你可以玩这个。然后,您可以使用SUMIF函数对列D包含“是”的行进行求和。
可能有一种更优雅的方式,但这样可以保持简单,并且可读。
答案 3 :(得分:0)
我建议将=IF(IFERROR(FIND("M)",B2),0)+IFERROR(SEARCH("motor",C2),0)>0,"TRUE","")
复制下来的帮助列(例如A)和=SUMIF($A2:$A5,"TRUE",D2:D5)
右侧Motor
复制并复制,Other
计算为差值Motor
和Sum
以及后者使用AutoSum进行计算。