Excel如何用公式查找某个字符串在表里出现的位置并返回所在列值?

有一个excel文件,有若干个工作表,现在要对sheet1数据进行分类,分类的依据在sheet2、sheet3……sheet20里面。具体要实现的功能如下:sheet1!... 有一个excel文件,有若干个工作表,现在要对sheet1数据进行分类,分类的依据在sheet2、sheet3……

sheet20里面。具体要实现的功能如下:

sheet1!A1是名字“张三”,查询到sheet2!C10为“张三和李四”,而sheet2!C1为“北京”,则在sheet1!

B1返回值为“北京”。
同样
sheet1!A2是名字“阿狗”,查询到sheet3!E20为“阿牛和阿狗”,而sheet3!E1为“杭州”,则在sheet1!

B2返回值为“杭州”。

在sheet1的A列大约有2000个待查的名字。在sheet2——sheet20中的区域为A1:F300,A1:F1为地名,即每列

第一行为地名分类,其他A2:F300为混合名字。
另外不用考虑重名的情况,重名已经用张三1、张三2等来区分。

由于数据经常会变动,而且要进行分类,手工核对要累死人的,期望能够用公式解决,但在家看书上网思考

了3天不得其解,只好求助百度知道的各位老大了,谢谢
附件就不发了,问题也很简单,就是查找符合条件的的字符串所在的单元格,并返回该单元格所在列的第一行单元格的值。
展开
 我来答
shihoumacili
高粉答主

2016-01-31 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:87%
帮助的人:485万
展开全部

若字符串在查找区域是唯一的,可简单用函数解决。

  1. 示例:要求在A1:C10区域内,查找存在字符串“str”的单元格,返回该单元格地址。公式如下:

  2. =ADDRESS(SUMPRODUCT(ISNUMBER(FIND("str",A1:C10))*ROW(A1:C10)),SUMPRODUCT(ISNUMBER(FIND("str",A1:C10))*COLUMN(A1:C10)))

  3. 公式说明:SUMPRODUCT函数配合FIND函数和ROW函数得到目标单元格的行号,SUMPRODUCT函数配合FIND函数和COLUMN函数得到目标单元格的列号,再使用ADDRESS函数得到地址。

necrolin
推荐于2017-10-01 · TA获得超过360个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:474万
展开全部
需要查询sheet2到sheet20的区域的话,用LOOKUP函数是不行的。你可以试一下我说的方法:
1)Alt+F11, "插入","模块"
2) 把下面的代码拷贝后保存。
Public Function GetPlace(name As String) As String
On Error GoTo err
Dim iSheet As Worksheet
Dim row As Integer
Dim col As Integer

For Each iSheet In Worksheets
If iSheet.name <> "Sheet1" Then
For row = 2 To 300
For col = 1 To 6
If iSheet.Cells(row, col).Value Like "*" & name & "*" Then
GoTo found
End If
Next col
Next row
End If
Next

found:
GetPlace = iSheet.Cells(1, col).Value
err:
End Function

3)在sheet1的B1输入公式:
=GetPlace(A1)
然后向下填充所有的单元格,内容就是你要查找的结果。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
manymoney01
2008-03-11 · 超过10用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:35.6万
展开全部
可以实现你的目的。

以你列举的为例:
sheet1!A1是名字“张三”,查询到sheet2!C10为“张三和李四”,而sheet2!C1为“北京”,则在sheet1! B1返回值为“北京”。

在sheet1!B1处输入公式:=HLOOKUP(A1,Sheet2!C1:C10,1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hvc258
2015-12-20 · TA获得超过1640个赞
知道小有建树答主
回答量:675
采纳率:50%
帮助的人:103万
展开全部
用Excel公式怎么在一列中查找是否存在某字符串的解决方案如下:
1、打开要修改的excel文档,
2、将原来公式修改为:
=if(countif(a:a,"*"&d1&"*"),"存在","否")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑一笑说一说
科技发烧友

2015-10-28 · 职场办公软件基础应用
笑一笑说一说
采纳数:16868 获赞数:33704

向TA提问 私信TA
展开全部
看来只能请高手用VBA了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式