excel函数LOOKUP出现的问题

图1SHEET1图2SHEET2如图所示,SHEET2中有大量原始数据,现要求在SHEET2中找到SHEET1中A列【股票代码】的应付债券数据,我用的LOOKUP函数,具... 图1 SHEET1

图2 SHEET2

如图所示,SHEET2中有大量原始数据,现要求在SHEET2中找到SHEET1中A列【股票代码】的应付债券数据,我用的LOOKUP函数,具体如下:(CJ列为应付债券的金额)
=LOOKUP($A2,Sheet2!$A$2:$A$10,Sheet2!$CJ$2:$CJ10)
但SHEET1中B2的返回值为#N/A,求问这是怎么回事?是我SHEET1或者2中代码数据的格式不一致吗?但我已经通过【乘1】都转为数字型了啊?
函数公式应该是对的,因为还有个表SHEET3,也是从SHEET2中找数据,一样的公式,有结果。
展开
 我来答
绿衣人敲门
2015-10-19 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63777
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部

LOOKUP的运行原理分析

LOOKUP函数以高效的运算速度被EXCEL函数爱好者喜欢,而且LOOKUP在日常实际工作中特别是数组公式,内存数组中应用广泛。

LOOKUP(lookup_value,lookup_vector,result_vector)

lookup_value意思为我们要在数据表中查找的“值”。

lookup_vector意思为我们要查找的值得“数据表”。

result_vector意思为我们通过数据表想要得到的"值“。

LOOKUP的查询方式为二分法查询,具体的查询原理看下图。


下面用例子给大家具体讲一下LOOKUP的具体应用与原理:

我们以一个学生成绩表为例进行分析,查询一下英语成绩为98的学生姓名:

F2的公式为=LOOKUP(D2,B2:B15,C2:C15)

意思为从B2:B15列里面找D2,并返回C2:C15相对应行的值

这里的结果是"刘备"肯定会让好多人感到困惑,明明有98对应的是“王思”怎么会返回“刘备”呢?那么看往下看,大家就会彻底明白的。

对LOOKUP的查找方法进行分解——第一次二分法查询:

98会跟第7行的数据78进行比较,因为98>78,所以返回第8到第14行的值。


第二次二分法查询:

98会跟第4行的数据66进行比较,因为98>66,所以返回第5到第7行数据。


第三次二分法查询:

98会跟第2行的数据87进行比较,因为98>87所以返回第3数据。

 因为98比91大,所以就向下近似取比98小的最近的值——91所对应的名字

总结了一个知识点:

1、LOOKUP要查询一个明确的值或者范围的时候(也就是知道在查找的数据列是肯定包含被查找的值),查询列必须按照升序排列。(在EXCEL帮助文档里也是这么说的)

如果所查询值为明确的值,则返回值对应的结果行,如果没有明确的值,则向下取的于所查询值最近的值

2、查找一个不确定的值,如查找一列数据的最后一个数值,在这种情况下,并不需呀升序排列。

江西新华电脑学院
2018-11-27 · 品牌创于1988,专注IT教育
江西新华电脑学院
江西新华电脑学院开设电子商务、软件开发、电竞、动漫设计、UI设计、室内设计、网络工程、互联网财务、VR等专业。 来校参观报销路费,报名享受国家学费减免政策,签订就业合同,毕业推荐高薪工作。
向TA提问
展开全部
lookup函数是向后兼容,总是返回最后一个符合条件所对应的值。(小于等于查找值的最大值)。
这里是利用的技巧,查找值为1,查找区域用0来除,为空,则商为0,不为空,商为#DIV/0!,即查找区域中要么为0,要么为#DIV/0!,永远查不到1,返回最一个0所对应的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凌文元LWY
高粉答主

2018-11-26 · 每个回答都超有意思的
知道大有可为答主
回答量:3.6万
采纳率:76%
帮助的人:1.3亿
展开全部
在B2单元格输入以下公式,然后向下填充公式
=LOOKUP(1,0/(Sheet2!A$2:A$10=A2),Sheet2!CJ$2:CJ10)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zipall
2013-05-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:8104
采纳率:42%
帮助的人:8621万
展开全部
精确匹配不建议用lookup而是用vlookup或index+match

=index(sheet2!cj:cj,match(a2,sheet2!a:a,))

如果还是返回na检查数据前后是否有空格或其他不可见字符.
用len(a2)判断一下字个数是否和观察到的一致.
另外istext/isnumber两个函数可以检测数据类型. 看看a2和sheet2!a列值是否同型.
追问
刚刚查了,SHEET1中代码是NUMBER,SHEET2中的是TEXT。
我现在想把SHEET1中的NUMBER换成TEXT,请问如何操作呢?
追答
match的第一个参数改成 a2&""
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱仕平
2013-05-10 · 知道合伙人软件行家
朱仕平
知道合伙人软件行家
采纳数:7872 获赞数:29183
15年质量管理经验, 5年EXCEL培训经验, 目前专职EXCEL网络教育和企业培训

向TA提问 私信TA
展开全部
首先,选择SHEET2的A列单元格
点击 数据-->分列
完成
然后在sheet1的B2单元格输入公式
=vlookup(A2,sheet2!A:CJ,88,0)
下拉填充公式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式