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

有一个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天不得其解,只好求助百度知道的各位老大了,谢谢
附件就不发了,问题也很简单,就是查找符合条件的的字符串所在的单元格,并返回该单元格所在列的第一行单元格的值。

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-01
需要查询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)
然后向下填充所有的单元格,内容就是你要查找的结果。本回答被提问者采纳
第2个回答  2008-03-11
可以实现你的目的。

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

在sheet1!B1处输入公式:=HLOOKUP(A1,Sheet2!C1:C10,1)
第3个回答  2015-12-20
用Excel公式怎么在一列中查找是否存在某字符串的解决方案如下:
1、打开要修改的excel文档,
2、将原来公式修改为:
=if(countif(a:a,"*"&d1&"*"),"存在","否")
第4个回答  2015-10-28
看来只能请高手用VBA了吧。

Excel如何用公式查找某个字符串在表里出现的位置并返回所在列值?
示例:要求在A1:C10区域内,查找存在字符串“str”的单元格,返回该单元格地址。公式如下:=ADDRESS(SUMPRODUCT(ISNUMBER(FIND("str",A1:C10))*ROW(A1:C10)),SUMPRODUCT(ISNUMBER(FIND("str",A1:C10))*COLUMN(A1:C10)))公式说明:SUMPRODUCT函数配合FIND函数和ROW函数得到目标单元格的行号,SUMPRODUC...

Excel查找特定字符串所在单元格,并返回单元格地址?
这个公式:=ADDRESS(MATCH("*孔 隙 度*",A:A,0),1)

excel如何返回指定字符串的值?
一、如下图的表格中A列有几个名字,这时要在B列中查找A列单元格中是否包含“某”这个字,如果有,则返还“有”,如果无,则返还“无”,这时点击B1单元格,然后点击公式栏。二、在B1单元格的公式栏中输入公式=IF(ISERROR(FIND("某",A1)),"无","有") 。三、然后点击公式栏上的“√”,最...

excel中如何查找某列所包含指定字符串并将指定字符串返回到对应列
ctrl+shift+回车,下拉。

怎么在EXCEL中将A列包含某些特定字符的内容返回来
1. 假设A列数据从A1开始,在B1单元格输入以下公式,并向下拖动以应用到其他行:```excel =IF(ISNUMBER(SEARCH("特定字符",A1)),A1,"")```这里,“特定字符”是您要查找的字符串,可以根据需要替换。`SEARCH`函数会在A1中查找“特定字符”,如果找到,则返回其起始位置(一个数字),否则返回错误...

如何查找出某一列中的数据包含特定字符串返回对应其它列的数值
1.打开电脑,然后在excel中打开所需的文档。此时,从产品名称中找到关键字ABC,并将这三个关键字提取到brand列中;2.您可以首先使用find函数来查找productname列中的关键字数量,然后在D4单元格中输入公式=find({“A”、“B”、“C”}、C4)。3.输入后,我们可以看到返回的值是关键字字符串的位置,...

EXCEl中,如何用函数查找出某一列中的数据包含特定字符串,并返回该单...
如果你的数据从第1行开始,在D1单元格输入下面公式向下复制到你需要的行数为止:=IF(COUNTIF(A1,"*a*"),A1,IF(COUNTIF(B1,"*a*"),B1,IF(COUNTIF(C1,"*a*"),C1,"")))

excel如何返回指定字符串的值?
首先,打开B1单元格,点击进入公式编辑模式。在公式栏中,输入以下逻辑公式:=IF(ISERROR(FIND("某", A1)), "无", "有")。这里的"某"应替换为你要查找的实际字符串。输入完毕后,确认公式无误,点击公式栏的确认或应用按钮。然后,将这个公式拖动到B列的其他单元格,以便自动填充。这样,B列就会...

EXCEL 在某列单元中查找字符串,并返回该字符串所在单元格的内容
B1输入要查找的字串.C1输入下面公式,并按ctrl+shift+enter结束输入.即可.=IF(MAX(NOT(ISERROR(FIND($B$1,$A$1:$A$20)))*ROW($A$1:$A$20))=0,"无匹配",INDEX(A1:A20,MAX(NOT(ISERROR(FIND($B$1,$A$1:$A$20)))*ROW($A$1:$A$20)))补充回答:如果照你图片的情况,如果J列数...

Excel公式查找字符串中的关键字并输出对应值
在Excel中,你需要查找产品名称中的特定关键字"ABC"并将其对应的品牌提取出来。首先,打开你的Excel文档,定位到包含产品名称的列。为了确认"ABC"是否在产品名称中,可以在D4单元格使用FIND函数,输入公式=FIND({"A","B","C"},C4),回车后,如果返回值为1,说明"ABC"在该位置存在。接着,利用...

相似回答