中企动力 > 商学院 > 怎么在excel中搜索
  • ?

    利用了VBA神器,多工作表的大数据搜索,真的非常简单

    安雁

    展开

    最近两周一直在讲解如何利用VBA,在EXCEL的多个工作表中进行大数据的查询。今天把两周的内容精炼总结一下,想利用这些程序的朋友,可以拷贝下面的代码,放在编译器中就可以直接使用啦。

    1 Sub KK()

    2 Sheets("SHEET1").Select

    3 I = 2

    4 Do WhileCells(I, 1) <>""

    5 Cells(I,1).Select

    6 TT =Cells(I, 1)

    7 Cells(I, 2) = ""

    8

    9 SetFJX =Sheets("A").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    10 If NotFJXIs Nothing Then Cells(I, 2) = Sheets("A").Cells(FJX.Row, 2)

    11

    12 SetFJX =Sheets("B").Range("A1:A" &Sheets("B").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    13 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("B").Cells(FJX.Row, 2)

    14

    15 SetFJX =Sheets("C").Range("A1:A"&Sheets("C").Range("A1").End(xlDown).Row).Find(TT, AFTER:=[A1], LOOKAT:=xlWhole)

    16 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("C").Cells(FJX.Row, 2)

    17

    18 Set FJX=Sheets("D").Range("A1:A" &Sheets("D").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    19 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("D").Cells(FJX.Row, 2)

    20 I = I + 1

    21 Set FJX =Nothing

    22 Loop

    23End Sub

    代码截图:

    工作表截图:注意名称

    下面对代码进行逐行讲解:

    1 Sub KK() ’KK给出程序的名称

    2 Sheets("SHEET1").Select ’指选择sheet1的工作表,并进行操作

    3 I = 2 ’是对变量i赋初始值,一般要用Dim i as Integer 进行声明。这里可以仅用Dim i, 也可以再简单点,直接用也行。但这不是说Vba是动态语言,相反,这恰恰说明了VBA作为静态语言的灵活性。

    4 Do While Cells(I, 1) <> "" ’DOWHILE是一个循环,是循环的标识,回调语句是loop,WHILE跟循环条件,是指第i行第一个单元格不为空建立一个循环。 变量是i,条件是直到i行的第一个单元格是空值。

    5 Cells(I, 1).Select ’要对第I行一个单元格定位,这也是为了程序具有可视性。

    6 TT = Cells(I, 1) ’然后把它的值value取出赋給TT,这也是为了以后操作简单。这里TT也是直接用的,略去了声明语句。

    7 Cells(I, 2) ="" ’要把第2个单元格清空,两个半角双引号,中间什么也没有就是空值,和空格不同,空格是" "。

    8

    9Set FJX=Sheets("A").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    ’SET是令FJX等于一个值,(这里也应先给FJX 事先声明此程序略去了),

    sheets("A")是指名称为A的那个工作表;

    Range("A1:A"& Sheets("A").Range("A1").End(xlDown).Row)是指从A1单元格开始向下直到最后一个不为空的单元格区域;

    Sheets("A").Range("A1:A"& Sheets("A").Range("A1").End(xlDown).Row)是指A的工作表中在A1到最后一个不为空的单元格区域;

    Find(TT,AFTER:=[A1], LOOKAT:=xlWhole)要查找值为TT的单元格,在A1的after后开始查询,是完全匹配,把区域和之后的操作间隔一个。

    这样就把查找的结果赋给了FJX。

    10 If Not FJXIs Nothing Then Cells(I, 2) = Sheets("A").Cells(FJX.Row, 2)

    ’if then 语句, 如果...那么......。查询的结果放在FJX,FJX is Nothing就是说没有查到结果。给它一个逻辑否定,就是前面加个NOT,其意思就是FJX不为Nothing 就是查到了,查到了怎么办?fjx.Row是指查到数据的行号。Sheets("A").Cells(FJX.Row,2)就是在A工作表查到的行号的第2个单元格的值,Cells(I, 2) = Sheets("A")。Cells(FJX.Row, 2)即第i行第2个单元格的值将等于工作表A中查到的行号的第2个单元格的值 Cells(I, 2) 是哪个工作表呢?指Sheets("SHEET1")。

    11

    12 SetFJX =Sheets("B").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    13 If Not FJX Is Nothing Then Cells(I, 2)=Sheets("B").Cells(FJX.Row, 2)’这两行类似于第9第10行,是处理当在B工作表中继续查找的操作。当查到后会有第13行的操作,和第10行的操作一样,这里要注意:第一,xlwhole是指单元格完全匹配的查找。第二,连接字符串的符号是&,不可用加号,当用到.cells时前面要用With,现在还没有用到,以后会有。

    14

    15 SetFJX =Sheets("C").Range("A1:A"&Sheets("C").Range("A1").End(xlDown).Row).Find(TT, AFTER:=[A1], LOOKAT:=xlWhole)

    16 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("C").Cells(FJX.Row, 2)

    ’15行和16 行是在工作表“C”中进行的查找,也就是说:首先在工作表“A”中查找,然后就在“B”中查找,再次在"C"中查找。一旦查找到就执行将此行的第二个单元格的VALUE赋给 Sheets("SHEET1")的工作表的I行第二个单元格值,这样就实现了在多个工作表中的查询。

    17

    18 Set FJX=Sheets("D").Range("A1:A" &Sheets("D").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)

    19If Not FJX Is Nothing Then Cells(I, 2)=Sheets("D").Cells(FJX.Row, 2)

    ’18行和19 行是执行工作表D的查找。回顾一下,从第9行开始直到第19行总共运行了4个工作表

    20I = I + 1 ’I值增加1

    2121 Set FJX = Nothing ’另FJX为空准备下轮的查找

    22 Loop ’程序回调到第4行 DO WHILE

    23 End Sub ’程序结束。

    有兴趣的朋友可以试着使用一下,如果好用别忘了分享。如果有改进,别忘了晒晒代码。

    分享成果,随喜正能量

  • ?

    excel中index和match函数定位查询信息,比你想象的简单!

    吻火

    展开

    之前有位学员来上课的时候,小编听到她在抱怨说看了半天index函数和match函数,但是不知道该怎么样去使用它们?确实这两个函数看着挺简单,分开使用也还好,但是想要发挥最大的效果就必须要交叉使用才可以。

    精确定位:MATCH函数

    MATCH函数(lookup-value,lookup-array,match-type),返回查找内容所在的位置。

    lookup-value:表示需要查找的值,数组或单元格引用都可以;

    lookup-array:表示包含所要查找数值的区域,数组或数组引用;

    match-type:表示用于精确查找或模糊查找。取值为-1、1、0 。其中0为精确查找。

    检索查询和交叉查询:index函数

    INDEX函数(array,row-num,column-num),返回制定位置中的内容。

    array:要查找值的单元格区域或数组;

    row-num:返回值所在的行号;

    column-num:返回值所在的列号(行号和列号有一个即可)。

    实训习题:

    左边是公司所有人员的信息统计表,右边是我们需要查找的信息。我们想用名字去查找这个人所在的部门。

    我们需要将名字所在的位置使用match定位出来,再和index函数配合使用。选择姓名所在位置,再选择姓名所在单元格范围,使用精确定位即可。

    在使用了match后,在使用index函数会出现这样的对话框,选择第一个点击确定即可。配合index函数,选择部门所在单元格范围即可完成操作。

    当然在使用函数的过程中,小编也犯了一个错误,就是没有使用绝对应用,到时候出现的结果会不正确,所以我们需要在要改变的数据前面加上$锁死数据。

  • ?

    Excel里面如何使用通配符查找目标

    梦璃

    展开

    这里的通配符是指使用一些符号来代替文本或内容进行查找。Excel里提供了两种通配符星号(*)和问号(?)以及帮助查找这两个通配符的波形符(~)。

    星号(*)

    使用星号可以用来代表任意长度字符。

    如图,单元格里面有一些内容。

    使用快捷键Ctrl+F打开“查找和替换”窗口,输入“一*人”,然后查找全部。这时候,全部的单元格都能被查找到。

    不管中间是一个字还是两个字或者更多,使用星号是都可以查找到的。

    问号(?)

    问号是需要查找任意单个字符的时候使用。使用的时候,要注意输入英文状态下的问号。

    仍以上述表格举例,在“查找和替换”窗口输入“一?人”,然后查找全部。这时,仅单元格“一个人”被查找到。因为问号仅对应单个字符,所以中间有多个字的单元格是不会被查找到的。

    位置情况

    使用问号会发生一个例外情况,就是当替代的字符不在中间,而是在开头或者在末尾。在查找的时候输入“一?”,然后查找全部,这时得到的结果,只要是“一”开头的单元格,均会被查找到。

    因此在使用问号的时候需要注意,对星号则没有影响。

    波形符(~)

    当单元格内容包含了星号或者问号,查找的时候输入这两个符号,会误认为通配符。

    如图,现需要查找内容“一个人*”,星号是包括在这个单元格里的。但实际查找的时候,星号被认为是通配符,“一个人”开头的单元格,均会被查找到。

    这时,需要在星号前加上波形符“~”,查找到的内容就会完全匹配了。

    以上就是关于通配符的一些相关知识,在实际运用中都要根据需求进行调整。

  • ?

    介绍一下Excel的查找功能

    韦若山

    展开

    当需要在表格里面查找特定内容的时候,就需要用到查找功能了。

    打开查找窗口

    方法一:

    点击“开始”选项卡下面的“查找和选择”命令,在菜单里面选择“查找”,弹出的窗口就是“查找和替换”窗口,选中的是“查找”选项。

    方法二:

    使用快捷键Ctrl+F,也可以打开这个窗口,比较方便。

    如何使用查找功能

    将需要查找的内容填入文本框里面,然后点击按钮“查找下一个”,或者使用Enter键,就会进行查找,在工作表内会选中匹配到目标内容的单元格。继续点击按钮或者使用Enter键,就会移动到下一个目标单元格,以此循环。

    点击按钮“查找全部”,在窗口上就会显示全部含有查找内容的单元格的相关信息,并且给到有这个内容的单元格数量,这就方便整体查看了。

    在选定区域里面查找

    有时候可能会出现一个表里有很多重复项,但仅需要在一个区域里面进行查找。在查找之前要先选中这个区域,这样就不会查找其他区域内的单元格了。

    如图,其中有三个数字是“90”,但是仅在选中的区域里面仅从查找,因此只找到两个结果。

    以上就是关于Excel里面查找功能的基本介绍了。

  • ?

    这么好用的Excel可搜索下拉列表,你一定不想错过!

    权傲云

    展开

    大家先感受下这个好用的可搜索下拉列表吧:

    看到了吗?当下拉选项较多时,普通的下拉列表,只能睁大了眼睛仔细找了,说不定还选串行了得重选,但是可搜索的下拉列表就不一样了,可以按你输入的条件过滤下拉选项,大大缩小了肉眼查找的范围,是不是好用多了?

    了解了它的好处后,咱们就再看看怎么实现吧,稍微有点复杂,但是别担心,一步一步慢慢来,就能搞定它!

    第一步:按搜索值对下拉选项进行编号

    首先,要为产品编号列增加一个辅助的动态ID,我们将F列作为动态ID列,设置F2单元格公式为:=IF(ISNUMBER(SEARCH($B$2,$G$2:$G$22)),MAX($F$1:F1)+1,0),右下角下拉复制到F22单元格;

    整个公式的含义:以B2单元格的输入值作为查询条件,在“产品编号”范围内查找,若包含查找值,则对其进行编号,编号依次从1开始递增,而不包含查找值的编号为0;

    公式有点长?那我们分解一下,每步的动图可以帮助你理解:

    1、首先是Search函数,在$G$2:$G$22的固定区域内查找$B$2输入的值,若找到,则Search函数返回1,否则返回错误值;

    2、ISNUMBER函数判断Search的返回值是否是数值,若是则返回true,否则返回false;

    3、IF函数接着判断若为true,则返回MAX($F$1:F1)+1,否则返回0;

    4、MAX函数查找固定从F1单元格开始到F1单元格终止的区域中的最大值;注意:终止单元格使用的是相对引用,使得符合条件的编号可以实现从1开始递增的效果;

    第二步:按搜索值列出自动建议列表

    将J列作为自动建议列表列,在J2单元格输入公式:=IFERROR(VLOOKUP(ROWS($J$2:J2),$F$2:$G$22,2,0),""),右下角下拉复制到J22单元格;

    整个公式的含义:根据B2单元格的输入值,将符合过滤条件的产品编号,逐一罗列在J列。

    公式分解:

    1、 ROWS函数获取从1到21(即总的产品编号个数)的自然数;

    2、 VLOOKUP函数根据1~21的自然数,到$F$2:$G$22固定区域中查找对应编号的产品编号值,即符合B2输入值查询条件的产品编号,依次填入J列的各单元格中;

    3、 IFERROR函数将J列单元格中的错误值转换为空;

    第三步:构造可搜索下拉列表的选值区域

    在I列构造最终选择值范围,在I2单元格输入公式:=OFFSET($J$2,,,COUNTIF($J$2:$J$22,"?*")),公式含义:获取自动建议列表中有数据的值;

    公式分解:

    1、 COUNTIF函数查找J列自动建议列表列中有数据的单元格总个数;

    2、 OFFSET函数返回J列中所有有数据的单元格区域;

    第四步:创建选值区域的名称

    复制上一步构造的选值区域的公式,在名称管理器中,粘贴到新建名称的“引用位置”中,并输入名称:

    第五步:创建可搜索下拉列表

    选中B2单元格,维护数据验证,设置验证条件的“允许”为“序列”,并在“来源”中按F3,调出“粘贴名称”界面,选中上一步创建的名称:

    OK,大功告成!好用的可搜索下拉列表归你了!

  • ?

    Excel技巧:查找数据,可没有你想的那么简单!

    曹紫菱

    展开

    大家好,我是Excel技巧,每日分享实用的Excel技巧。

    这期,我跟大家分享下,Excel中的查找技巧,这可是Excel中最基本的技巧之一,可,你真的会用查找了吗?

    查找快捷键+F

    很简单,很常用的一组快捷键,可还是有些人不会用。

    Excel中,想要提升效率,最快的提升方法,那便是使用快捷键了

    查找并全选所有单元格

    按下+F查找;输入查找内容;点击查找全部;按下+A全选所有单元格;

    查找指定单元格格式

    在查找面板中,点击格式,从单元格选择格式,再点击下需要查找格式的单元格,如下所示:

    整个工作簿查找

    默认情况下,查找都是仅限于当前工作表的,若是需要整个工作簿范围内查找,则,需要选择工作簿范围,如下所示:

    找值还是找公式?

    查找选项中,还有一个查找范围,值、公式、批注:

    查找值:便是查找单元格所显示出来的内容;

    查找公式:查找公示栏的内容;

    查找批注:批注中的内容;

    查找通配符

    Excel中查找,那是支持通配符的,如*和?等,那若是查找通配符本身呢?就需要的查找内容前加波浪号~,如下所示:

    好了,这期查找的使用就分享到这,希望能帮到你!

    我是Excel技巧,每日分享实用的Excel小技巧,您的关注、转发、点赞、评论、收藏,都是对我莫大的支持,谢谢!

  • ?

    Excel使用技巧 技巧二:筛选中的搜索功能

    Julie

    展开

    大家有没有经历在一整面的Excel 信息中要找到自己要的信息,而且还要挑选出来的烦恼!小编就是过来人,那时真是痛不欲生!不过,自从小编学习了Excel的筛选中的搜索功能后,再也没有这烦恼了,那今天小编就来讲解在筛选中集成的搜索功能如何准确快捷的找出自己所需信息。

    操作步骤:

    1. 单击【数据】-【筛选】。

    2. 正方形下标,单击筛选箭头。

    3. 在搜索条形对话框中输入所需要搜索的信息,如“有限”。

    4. 单击【确定】,结果如下图所示。

    5. 若还需要搜索其他信息(如“股份”),且需要将第二次搜索的结果和之前搜索出来的结果同时显示,可在搜索框中输入“股份”,并勾选“将当前所选内容添加到筛选器”。

    6. 单击【确定】,结果如下图所示。

    怎么样,小伙伴们,是不是很实用哈,赶紧收藏吧,也感谢大家支持,点赞转发加评论,感激不尽哈!

  • ?

    EXCEL如何使用查找和替换功能

    工兵

    展开

    在使用excel表格的时候,想要找出一些相同条件下的数据会很费劲,发现有很多数据写错了,要一个个进行修改的话就更麻烦,不过会使用excel表格中的查找和替换功能就比较方便,接下来以excel表格2016版为例,跟大家分享一下excel表格如何使用查找和替换功能。

    以下面考试系统为例:表格中好多信息,我们现在需要在众多信息中找到李明同学的信息,如下面动画所示,打开开始菜单,点击在“编辑”中“查找和选择”,下拉菜单中点击“查找”项目,弹出“查找和替换”对话框,查找内容输入“李明”,确定后完成李明信息的查找。

    我们要把WORD替换为EXCEL,一个一个的替换肯定比较麻烦,通过替换功能可以快速解决。打开开始菜单,点击在“编辑”中“查找和选择”,下拉菜单中点击“替换”项目,弹出“查找和替换”对话框,查找内容输入“WORD”,替换内容输入“EXCEL”,确定后完成考试科目的替换。

    本文所有图片、文字均为原创,以上教程截图来自EXCEL2016,其他版本的EXCEL设置方法类似,如果你感觉本文对你有帮助,记着关注“光明教你做表格”哦,每天一个小技能,让你快速成为高手!!

  • ?

    Excel怎么在查找到的内容中进行查找

    乔初柔

    展开

    转载自百家号作者:mihu

    在查找Excel表格的内容时,有时可能会想要在查找到的内容中进行查找。例如在下图表格中查找出包含“广东省”的单元格后,又想在查找到的内容中查找包含“A分公司”的单元格。

    ●第一步查找包含“广东省”的单元格比较容易,鼠标点击Excel开始选项卡中的“查找”或者按键盘的“Ctrl+F”键后,在查找内容处输入“广东省”,再点击“查找全部”按钮。

    ●如果找到的内容较多,不能全部显示出来,可以按住鼠标左键拖动查找界面下方的边缘处,扩大显示界面。

    ●如果想在查找到的内容中再查找包含“A分公司”的内容,可以先用鼠标左键点击查找到的任意一条结果,点击后该结果会呈现深色背景,表示该结果已经被选中。(如果点击“查找全部”按钮后未进行其他操作,最上方的那一条查找结果默认会自动被选中,这时则不必再点击鼠标。)

    ●此时按键盘的“Ctrl+A”键,则查找结果中的所有内容都会被选中。

    ●如果这时查看工作表,会看见所有查找到的单元格都变成了深色背景,即都处于被选中的状态,

    ●这时在查找内容处输入“A分公司”,再点击“查找全部”按钮。

    ●点击“查找全部”按钮后,查找结果列表中就会显示出再次查找后的内容了,这个查找结果不是查找整个工作表的结果,而是在上一次查找结果中进行查找的结果。

    用这种方法可以循环多次的在查找到的内容中进行查找。

    PS

    本文的例表内容较少,只是为了举例说明如何进行二次查找。像本文这样内容不多的表格也可以使用通配符“*”配合查找,本例中在查找内容处输入“广东省*A分公司”也可以达到同样的目的。

  • ?

    怎么搜索Excel中的全部工作表(sheet)

    核弹头

    展开

    使用Excel时,经常需要在表格中查找指定的数据或者文字等内容。当然,查找的操作比较简单,但Excel中默认只是在当前的工作表(Sheet)中进行查找。如果一个Excel工作簿(或者说是一个Excel文档)中有很多工作表,那么要想在所有的工作表中查找指定内容,默认设置下就需要逐个打开各个工作表,再逐个进行查找操作。这种情况时我们可以在查找时特别设置一下,让Excel在当前工作簿的所有工作表中进行查找,从而提高工作效率。下面以Excel2007为例介绍如何设置,以供参考。

    ●点击Excel中的“查找”或者按键盘的“Ctrl+F”组合键打开“查找和替换”对话框后,点击其中的“选项”按钮。

    ●点击选项按钮后,查找和选择对话框中会展开更多的选项。如果在“范围”选项右侧显示的是“工作表”,则说明现在设置的只是在当前的工作表中进行查找。如果想要查找所有的工作表,需点击“范围”右侧的下拉框。

    ●弹出下拉列表后,在列表中点击“工作簿”选项。即将查找范围设置成了当前工作簿中的所有工作表。

    ●然后再输入要查找的内容,点击“查找全部”按钮。如果想逐个显示查找结果,则需点击“查找下一个”按钮。

    ●点击“查找全部”按钮后,对话框下方会显示出查找结果列表,在其中的“工作表”列中会显示包含查找内容的工作表名称。在某个查找结果所在的行中点击鼠标,Excel就会自动打开对应的工作表,并且选中对应的单元格。

    这个小技巧可以让我们在Excel工作簿中进行查找时更快速的找到需要的结果,提高工作效率。

怎么在excel中搜索

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP