没有看很明白
这个公式试一下是不是你要的
=SUMPRODUCT(SUMIF(A2:A10,{"中米","小米","大米"},B2:B10)*SUMIF(C2:C10,{"中米","小米","大米"},D2:D10))正是我要的公式,但是 {"中米","小米","大米"} 这里不至三种,还有接近100来种,这100来种我都要输入一次吗?=SUMPRODUCT(SUMIF(A2:A10,C2:C4,B2:B10)*SUMIF(C2:C10,C2:C4,D2:D10)) c2:c4这里正好是 {"中米","小米","大米"}也就是说你可以用一列的某个区域来写入这些内容,公式里引用这个区域是的,整行都不能计算. 如:E5为A是,A5~D5整行都不能参与你前面的公式了。公式:B2*D3+B3*D4+B4*(D2+D5)=2*5+6*4+4*(2+4)就要变成: B2*D3+B3*D4+B4*D2=2*5+6*4+4*2这样会让公式非常繁杂,你还不如让全表以E列进行排序,让E列为A的行在最上方,这样公式不引用这些行就可以了 或用一列分别求出各项目的值,再进行加总如F1单元格写入要求和的各个项目,如"中米","小米","大米",.....G1单元格写入公式=SUMPRODUCT((E$2:E$1000<>"A")*(A$2:A$1000=F1)*B$2:B$1000)*SUMPRODUCT((E$2:E$1000<>"A")*(C$2:C$1000=F1)*D$2:D$1000)F列有多少个项目,公式就下拉多少行 再对G列的得出的值进行加总就是你要的和值