Excel中LOOKUP如何检索汉字较快错误

查看: 2437|回复: 11
Lookup函数在汉字中使用有错误
阅读权限20
在线时间 小时
本帖最后由 chenjiawei5000 于
13:14 编辑
(1.83 KB, 下载次数: 18)
17:00 上传
点击文件名下载附件
如图,据说“座”是最大的汉字了,为什么E1的公式=LOOKUP(D1,A1:A3,B1:B3) 会显示错误呢?
uu.jpg (52.15 KB, 下载次数: 3)
17:00 上传
感谢wangjguo44给的讨论帖,已经找到答案了。
首先,lookup函数不是按照从头到尾逐一比较的方式返回值,而是按照二分法(名字可能不准确)。所以,如果查找的内容是无序排列,不一定能找到最大的那个值。
其次,“座”这个字的code (code(&座&)=55289)比“做”大(code(&做&)=55286),但显然excel函数中不是以字符的code编码来排序的。实际上 々&咗&做&座,见wangjguo44的讨论帖。
本贴已解决。
阅读权限20
在线时间 小时
因为你A列打错字了吧???
阅读权限20
在线时间 小时
这个应该是按拼音字母排序的& &
zuo应该是汉字拼音的最后一个了& &
“做”跟“座”的拼音是一样的&&
excel认为它们是相等的&&
所以会显示错误
以上言论,纯属个人猜测……
阅读权限100
在线时间 小时
用这个字就可以了:“々”
阅读权限30
在线时间 小时
试试这个公式:=LOOKUP(1,1/(D1=A1:A3),B1:B3)
阅读权限20
在线时间 小时
angelexe3 发表于
因为你A列打错字了吧???
我就是要在“做”中找“座”,希望返回结果为3,不是打错字。
阅读权限100
在线时间 小时
chenjiawei5000 发表于
我就是要在“做”中找“座”,希望返回结果为3,不是打错字。
建议参与下帖讨论:
“座”是不是最大的文本?
阅读权限20
在线时间 小时
本帖最后由 chenjiawei5000 于
12:57 编辑
wangjguo44 发表于
建议参与下帖讨论:
“座”是不是最大的文本?
感谢你给的连接,从你的帖子中得到启发,我已经找到问题原因了。可以告诉我,怎么把这个贴标记为“已解决”?
阅读权限100
在线时间 小时
chenjiawei5000 发表于
感谢你给的连接,从你的帖子中得到启发,我已经找到问题原因了。可以告诉我,怎么把这个贴标记为“已解 ...
主帖上方有一排:删除主题|升降|高亮|推荐|图章|图标|关闭|移动|分类|复制|合并|分割|修复|警告|屏蔽|标签
点其中的“分类”,选择“已解决”
阅读权限20
在线时间 小时
wangjguo44 发表于
主帖上方有一排:删除主题|升降|高亮|推荐|图章|图标|关闭|移动|分类|复制|合并|分割|修复|警告|屏蔽|标签 ...
我找不到你说的这一排功能啊……
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师查看: 6910|回复: 16
LOOKUP 中的“座”字是啥意思?
阅读权限10
在线时间 小时
请教在这个函数中&&“座”到底是起什么作用,我百思不得其解。
=INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B$2:$B1006&Sheet1!$C$2:$C1006=LOOKUP(&座&,$A$3:$A9)&B$2,ROW($2:$),1))&&&
阅读权限95
在线时间 小时
查找a3:a9单元格有汉字的最后一个单元格的内容
阅读权限30
在线时间 小时
由于lookup查找汉字是按照汉语拼音的顺序来查找的,座(拼音zuo)已经是拼音中的最后一个了,所以用“座”可以查找区域中最后一个单元格内容。
阅读权限20
在线时间 小时
& & & & & & & &
我以前试过,换“座”为其它字符代码较大的汉字也可以查找。相当于char(65536)。&座&的字符代码是55289.
[ 本帖最后由 wangribo 于
17:52 编辑 ]
阅读权限50
在线时间 小时
就是说找个最大的,找不到返回比他小的最大值.
阅读权限10
在线时间 小时
谢谢楼上大大们
阅读权限30
在线时间 小时
又学习了!
阅读权限30
在线时间 小时
厉害啊,学习了
阅读权限20
在线时间 小时
终于找到座代表的 意思了
阅读权限10
在线时间 小时
额 明白了 又学到一样
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师LOOKUP在Excel中的复杂条件查找
我的图书馆
LOOKUP在Excel中的复杂条件查找
LOOKUP在Excel中的复杂条件查找
( 11:53:24)
前面讲了VLOOKUP的基本用法,以及衍生用法,但比如说多条件查找,要动用数据区域的串接匹配,牵扯到的数据运算量实在太大了,很不利于工作表的计算,也不方便书写,今天我们着重讲一个多条件查找或者复杂条件查找的通式——LOOKUP。
=LOOKUP(1,0/((区域1=条件1)*(区域2=条件2)*(….)),目标区域)
可能似曾相识吧?可能还有写成=LOOKUP(2,1/().....
这个可是很多前辈高人都津津乐道的公式哦,基本上属于“万金油”,快无所不能了,重点还在于她能人所不能……
我们先了解一下LOOKUP函数的基本语法,LOOKUP比较特殊,有矢量形式和数组形式:
数组形式很简单,只有两个参数,就是从第二参数的数组区域里,根据查找值返回最后一列或者一行对应的结果(自适应),但也很多人用不好,因此其实这是一种模糊查找方式,而很多人经常忽略一个前提:就是查找区域的第一列必须是按升序排列。
而矢量形式有三个参数,其实就是借助了一个中间过程,找到对应的位置,再从结果列中返回相同位置的值。
而我们这里用的正好是LOOKUP矢量形式的特性,其语法结构如下:
我们回头看看通式里,为什么有1、有0?而且有时候看到提LOOKUP(2,
1/()...),究竟这些0、1、2是什么意思,我能不能用别的呢?
我们先来了解使用LOOKUP查找必须掌握的一个前提条件,如上图的划线内容:
<font style="FonT-FAMiLY: 微软雅黑" color="#.
第二参数的值必须是按升序排列的;
<font style="FonT-FAMiLY: 微软雅黑" color="#.
Lookup会返回小于或者等于查找值(第一参数)的最大值的(最后一个)值;
<font style="FonT-FAMiLY: 微软雅黑" color="#.
查找值如果小于第二参数的最小值,返回#N/A错误。
拿个实例来说说:
这个引用数值的条件查找,其实用SUMPRODUCT也可以实现,用SUMIFS就更简洁,不过这里只是示例,大家将就着使用,权为理解公式的含义,我们在这示例中使用的公式为:
=LOOKUP(1,0/((A$7:A$13=F9)*(B$7:B$13=G9)),C$7:C$13)
第二参数分解的步骤如下:
1. 条件匹配结果:
(A$7:A$13=F9)*(B$7:B$13=G9)
{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE} *
{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE}
双条件匹配计算结果:((A$7:A$13=F9)*(B$7:B$13=G9))
以0为被除数的计算结果:0/((A$7:A$13=F9)*(B$7:B$13=G9))
{#DIV/0!& ;&
#DIV/0!& ;&
#DIV/0!& ;& 0&
;& #DIV/0!& ;&
#DIV/0!& ; #DIV/0!}
从上面我们也可以看到,其实第二参数的括号挺多的,很多初学者就是理不清这些括号要怎么放置,经常写错公式,所以要多注意并学会括号的配对方式,很多条件查找都是需要括号配对的,如SUMPRODUCT也同样。
由于我们用的是0除以条件匹配结果,所以得到一个只有#DIV/0!错误值和0的数组,由于LOOKUP能在第二参数中忽略与查找值非同性质的数据类型,也就是剔除了#DIV/0!错误值,那么最的我们只剩下0,因此,上面讲到的三个条件,我们都满足了。
因此,我们还可以用1除以条件匹配结果,那么就能得到以#DIV/0!和1的数组,同样是满足三大前提的。
好了,到此为止就介绍了LOOKUP的精确查找方式,公式的形式是固定的,根据上面的“通式”,将你的条件全部写在绿色括号内,各个子条件使用
号连接,就可以万无一失了,条件的写法跟SUMPRODUCT的多条件求和、计数是相同的。
当然如果你多条件对应的结果有多条,返回的会是最后一条,这也可以作为一个特殊属性,跟VLOOKUP或者MATCH只返回第一条记录相互补。
那么,还有什么更复杂,是LOOKUP能人所不能的呢?
当然,只是LOOKUP可以轻松解决而已,函数只要会构造,就没有“不能”的,请看下例:
&就是根据A列的地址,匹配出对应的地区名称,如果是你,会有什么样的思路呢?
当我们学习了LOOKUP之后,这个问题就变得相当容易了,只需要用FIND构造一个数组用法,然后就能得到结果了……
=LOOKUP(1,0/FIND($D$3:$D$32,A2),D$3:D$32)
这种LOOKUP(1,0/
配合FIND或者COUNTIF,就可以轻松应对“简称”或者模糊匹配的难题。
详细就不多作解释了,毕竟分解开来,都是一样的道理,只是这种情况下的FIND和COUNTIF,使用的是数组计算形式。
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 java 拼音检索汉字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信