excel怎么使用公式if和vlookup。

如题,我用F1=VLOOKUP(D1,Sheet1!$A$1:$B$148,2,FALSE),检测若是F1与Sheet1.A1列中某一行内容相等则F1中的值为为这一行上B列的值,若检测不到有值相等则F1=#N/A。
我的F1上事先是有值的,现在我想如果检测不到则保留F1原值不变不想变成=#N/A,该怎么结合使用if与vlookup,或者其他方法,谢谢~

1.正常情况下只能根据A列单号,查找对应B列的城市名,而无法反过来根据城市名查找对应的单号,为了不改变A/B列的数据格式,同时也能实现查找的目的,可以使用如下公式:在E3中输入:=VLOOKUP(E2,IF({1,0},B:B,A:A),2,0),回车即可。

2.这一功能的实现,主要是通过IF函数来实现A/B两列的互换,把原来在A列的数值放在了B列,把B列的数值放在了A列,从来实现VLOOKUP函数的正常查找。

3.为了方便理解IF函数是如何把A/B两列数值互换的,把IF函数单独列出来,通过数组函数把VLOOKUP函数中IF 函数的结果直接显示出来,如图中G2:H9列显示的结果。也就是说VLOOKUP实际查询的范围就是G2:H9显示的数据,通过城市名查找单号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-09
在一个单元格输入公式后原来的数据就不存在了,你这种目的是无法实现的。
第2个回答  2012-03-08
在F列左边插入一列,(原来的F列现在变成G列)
在新的F列里用公式
=IFERROR(VLOOKUP(G1,A:B,2,FALSE),G1)
下拉
第3个回答  2012-03-08
你这里需要加一个ISNA函数。
=if(isna(VLOOKUP(D1,Sheet1!$A$1:$B$148,2,FALSE)),F1,VLOOKUP(D1,Sheet1!$A$1:$B$148,2,FALSE))追问

F1中的值为 =公式,貌似不可能保存原来的值了,我这个问题用公式是做不到的。

追答

哦,明白了。你要么用VBA,要么把公式写到G1 然后往F列数值粘贴

本回答被提问者采纳
第4个回答  2012-03-11
=if(iserror(VLOOKUP(D1,Sheet1!$A$1:$B$148,2,FALSE)),0,VLOOKUP(D1,Sheet1!$A$1:$B$148,2,FALSE)),
相似回答