乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel中如何以第一列为参照从第二列中找到文字匹配

excel中如何以第一列为参照从第二列中找到文字匹配

作者:乔山办公网日期:

返回目录:excel表格制作


B12公式
=vlookup($A12,$A$1:$G$9,cloumn(),0)
右拉再下拉

可用VLOOKUP函数实现。
1、应用举例:假定工作表sheet1中已建立学号与姓名对照表,数据分别在A列和B列。现在sheet2表中有学号在A列,要求根据A列学号在sheet1中找到匹配的姓名。
公式=if(countif(sheet1!a:a,a1),vlookup(a1,sheet1!a:b,2,) 下拉填充。
2、VLOOKUP函数语法规则:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
其中:
Lookup_value为需要在数据表第一列中进行查找的数值,可以为数值、引用或文本字符串。
Table_array为需要在其中查找数据的数据表。
col_index_num为table_array 中查找数据的数据列序号,该值不能小于1或超出数据表的列数,否则会返回错误值。
Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。为false或0 ,精确匹配;为TRUE或1,近似匹配值;省略,则系统默认为近似匹配。
简单,光标定位在$E$6,在编辑栏输入“=”,点第一名的人名,下拉就OK了。

可以用VBA来实现,如下图,打开代码窗口。

然后复制下方代码进去

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ScenicSpotRng As Range
    Dim TempString As String
    If Target.Address = "$A$8" Then
        TempString = Right(Target, Len(Target) - 3)
        On Error Resume Next
        Set ScenicSpotRng = Rows("1:7").Find(what:=TempString, lookat:=xlPart)
        On Error GoTo 0
        If Not ScenicSpotRng Is Nothing Then
            Target.Offset(0, 1) = Cells(ScenicSpotRng.Row, 2)
        Else
            MsgBox "没找到结果", vbExclamation, "提示"
            Target.Offset(0, 1).ClearContents
        End If
    End If
End Sub

最后回到工作表中,在A8单元格中输入你的查找条件,即可在B8得出结果。

方法2,也可以使用数组公式来完成,在B8单元格贴入下面公式,记得按Ctrl+Shift+Enter结束输入。(我假设查找区域是“D2:G6”)e69da5e887aae79fa5e98193363

=INDIRECT(ADDRESS(SUM(--(RIGHT(A8,LEN(A8)-3)=D2:G6)*ROW(D2:G6)),2))

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网