人才们,请问Excel多个条件的函数怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/24 11:14:07
是一个类似于计算运费表的sheet里面。
H列是出发地,I列是目的地,J列是重量,K列是计算用费率,L列是两者相乘得到的收费结果。
我可以用函数做到根据重量来判断不同的费率,已达到分段收费的目的。这是我的函数:【=IF(E5="KWI",IF(J5=0,"0",IF(J5<16,"4.956",IF(J5<51,"3.717",IF(J5<300,"3.098",IF(J5>=300,"2.478","?"))))))】
我们来称作以上费率为费率A。

但是现在有一个对我来说比较复杂的问题,以前我是按照单一费率来计算的,可是现在需要根据不同的出发地使用不同的费率表。
所以需要一个起这样作用的表达式:
如果H列是"北京",I列是"北京",那么采用费率A;
如果H列是"兰州",I列是"兰州",那么采用费率A;
如果H列是"北京",I列是"兰州",那么采用费率B;
如果H列是"北京",I列是"华盛顿",那么采用费率C;
*
*
*
*

以上为四个条件,我大概需要十个左右的条件。请问如何表达?回答得好我追20分,15+20+最佳答案70分=105分!
人才们,来喷吧!
请就我写出的四个条件写出一个公式,谢谢了!!!!!!

在M列建个辅助列,M2的内容为:
所有地点组合,如:北京北京
(这是个广泛性的数据,你必须涵盖所有不同的出发地目的地组合)
这也就是你所说的十种情况。那么应该到M11.
N列建个辅助列,对应上述十种情况下的费率。那么应该到N11.
然后在K2写公式算费率:
=if(iserror(lookup(h2&i2,m2:n11,2)),"",lookup(h2&i2,m2:n11,2))
下拉即可。

祝你成功!

可以用数组公式,在数组公式中讲出发地和到达地作为数组常量。
或者将出发地和到达地存储在一个表格区域中,使用数组公式或Vlookup之类的公式来计算。
根据你的要求,可能还需要用到Evaluate函数。
具体实现倒不难,只是说起来比较麻烦。
最好你传个有数据的表,我做好了传给你

补充:如果用If函数嵌套,一个是Excel2003只能做7层嵌套,虽然2007可以做64层嵌套,但是否公式太长,过于复杂,也不好维护。

=(h1="北京")*(i1="北京")*A+(h1="兰州")*(i1="兰州")*A+(h1="北京")*(i1="兰州")*B+(h1="北京")*(i1="华盛顿")*C
公式可按你的要求继续追加,看起来很多,但每次只能按其中的一项符合条件的费率来计算。

用IF做十个左右的嵌套就可以搞定了,由于是汉字判断,所以没法取巧了。

建议继续使用if 公式就可以了。道理同你上面一样