excel如何用公式或宏实现如下功能?

比如图片中,我希望:
如果E列是“香港分公司”,则C列自动填充“HK”
如果E列是“新加坡分公司”,则C列自动填充“SG”
如果E列是除“香港分公司”、“新加坡分公司”以外,则C列自动填充“总公司”
E列除“香港分公司”、“新加坡分公司”以外,如果是“北京营业部”,则D列自动填充“BJ”
E列除“香港分公司”、“新加坡分公司”以外,如果是“上海营业部”,则D列自动填充“SH”
E列除“香港分公司”、“新加坡分公司”以外,如果是“深圳营业部”,则D列自动填充“SZ”

请高手指导,多谢!

C列输入,下拉
=if(E2="香港分公司","HK",if(E2="新加坡分公司","SG","总公司"))
D列输入,下拉
=if(C2="总公司",if(E2="北京营业部","BJ",if(E2="上海营业部","SH","SZ")))追问

但这样只能最多嵌套7个if,可是实际情况远比7个多,请问有没有更好的办法,非常感谢!

追答

用if嵌套两个if的结构,最多可以2^7个分段,类似于
if(表达式,if(),if())这两就可以套两个if在一个if里面
例子,假如1-3-5-7-10
if(A>5,if(A>7,,),if(A<3,,)这样只算两层

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-29
你这个操作方法很多啊
比如如果你能把范围定义好,量不大的话,用if直接写好了,只不过比较长可能
另外你还可以把你这种对应关系在新的sheet里面罗列好,用vlookup,index,match等函数就可以直接实现了,只不过用vlookup可能要改一下列位而已追问

您能说得具体点吗,非常感谢!

追答

既然你的实际情况可能比较多,那么,建议你可以在一个新的SHEET里面将各分公司和简称罗列成AB2列,然后利用这个SHEET将数据返回到你前面这个表里面来

第2个回答  2014-08-29
c2:=IF(E2="香港分公司","HK",IF(E2="新加坡分公司","SG","总公司"))下拉
d2:=IF(E2="北京营业部","BJ",IF(E2="上海营业部","SH",IF(E2="深圳营业部","SZ",""))) 下拉追问

但这样只能最多嵌套7个if,可是实际情况远比7个多,请问有没有更好的办法,非常感谢!