首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA - VLookup函数不工作

VBA是Visual Basic for Applications的缩写,是一种用于Microsoft Office应用程序的编程语言。VBA可以帮助开发人员自动化执行各种任务,包括数据处理、报表生成、用户界面定制等。

VLookup函数是VBA中的一个非常常用的函数,用于在Excel表格中进行垂直查找并返回相应的数值。然而,当VLookup函数不工作时,可能有以下几个原因:

  1. 数据类型不匹配:VLookup函数要求查找值和表格中的值具有相同的数据类型。如果数据类型不匹配,函数可能无法正常工作。在使用VLookup函数之前,确保数据类型一致。
  2. 查找范围不正确:VLookup函数需要指定正确的查找范围。确保查找范围包含了要查找的值,并且范围的格式正确。
  3. 查找值不存在:如果要查找的值在查找范围中不存在,VLookup函数将无法返回结果。在使用VLookup函数之前,确认要查找的值是否存在于查找范围中。
  4. 查找范围未排序:VLookup函数要求查找范围按照升序排序。如果查找范围未排序,函数可能无法返回正确的结果。在使用VLookup函数之前,确保查找范围已经按照正确的顺序排序。
  5. 使用了近似匹配:VLookup函数默认使用近似匹配,即查找范围中最接近的值。如果需要精确匹配,需要将最后一个参数设置为False。例如:VLookup(要查找的值, 查找范围, 列索引号, False)。

如果以上解决方法都无效,可能需要检查其他因素,如数据格式、函数语法等。如果问题仍然存在,建议查阅相关的VBA文档、教程或咨询相关的技术论坛以获取更详细的帮助。

腾讯云提供了一系列云计算相关的产品和服务,其中包括云服务器、云数据库、云存储等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA实现Excel函数01:VLOOKUP

函数是Excel里非常重要的一个功能,所以,我们结合Excel的函数,用VBA去实现一些常用的函数功能。...Excel的函数其实在底层肯定也是一段写好了的程序,只是我们看不到 它的实现过程,我们用VBA实现这些函数的功能,多半会比内置函数慢很多,而且考虑的情况也不够全面,但我们主要是学习一些思路。...1、实现简单的VLOOKUP 提到Excel的函数VLOOKUP函数应该是最为常用的一个查找函数了,一般我们都是使用它的精确查找功能,也就是第4个参数设置为0或者false,所以我们也只实现一个精确查找的函数...range_lookup:请注意前面的修饰符Optional,我们在使用Excel的VLOOKUP函数时,细心的应该会注意到,函数的参数提示上,第4个参数是在“[]”里的,表示的意思是可以省略的参数。...但是VBA没有提供判断数组维度的函数,一般这时候我们都是用错误捕捉的方式,这里就不演示了。有兴趣的可以自己网上查一查方法。

7.2K31
  • 查找函数VLOOKUP

    这是一个很多人入门Excel的函数 这是一个使用率极高的函数 这是一个变幻多姿的函数 在2019大纲之前,写过两篇关于Vlookup函数的文章 >>>>>>VLOOKUP 之一>>>>>> <<<<...<<VLOOKUP之多条件查找<<<<<< 其中一篇还是手机码字的 阅读体验肯定不太好 再讲一遍 Vlookup(查找值,范围,范围中的第几列,模糊还是精确查找) 直接上例子 这是今天的案例数据...例如我们想要看杯子的单价是多少的时候 就需要用到Vlookup了 解释一下公式 =VLOOKUP(G2,A:E,4,0) G2 被查找内容 A:E 被查找内容在A:E列范围内,并且被查找内容必须出现在...我们可以加'除错'函数IFNA改一下不存在时候的提示文字 还是在实际应用中 我们经常不止一列用到Vlookup函数 例如刚才的例子中,我们可能经常要返回所有内容 作为一个入门一段时间的新手 通常会写完函数加上绝对引用固定...然后改第三个参数,2改成3,4,5 如果有30列呢 是不是想骂人 其实加一个Column函数就可以了 在H2单元格输入公式如下 =VLOOKUP($G2,$A:$E,COLUMN(B1),0) 然后往右拖动填充

    58520

    VLOOKUP函数活起来,VLOOKUP函数任意方向查找的技术

    标签:Excel函数,VLOOKUP函数 VLOOKUP函数被设计为向右查找,也就是说,查找值总是位于表的左侧,然后返回右侧指定列中相应的值。...VLOOKUP函数的语法如下: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 其中, 1.参数lookup_value:必需,...然而,如果查找值在表的右侧,要返回的值在表的左侧,如何使用VLOOKUP函数呢?如下图1所示的数据,假如要查找列C中“笔芯”的单价,假设要查找的值在单元格A7中。...图1 思路是,使用函数将列C和列B中的数据互换,以满足VLOOKUP函数的要求。这里介绍两种方法。...方法1:VLOOKUP函数+IF函数 =VLOOKUP(A7,IF({1,0},C2:C4,B2:B4),2,0) 方法2:VLOOKUP函数+CHOOSE函数 =VLOOKUP(A7,CHOOSE({

    97910

    【Excel使用技巧】vlookup函数

    vlookup ???经过一番搜索后,终于搞明白了,原来还有这么好用的东西,于是便有了方案三,也就是本篇的主角。...方案三、vlookup 函数 vlookup 函数是 excel 中的一个函数,可以用于纵向查找,函数语法如下: ?...这个函数一共有四个参数,第一个是要查找的值,第二个参数是查找区域,第三个参数是需要返回的值所在的列的序号,第四个参数代表是精确匹配还是模糊匹配。 好了,函数讲解完成,很简单吧。 ?...所以公式就变成了: =VLOOKUP(F2,B:C,2,FALSE) 下面是操作动态图: ? 其实也很简单嘛。 ? 下面我们再来做一题,试试模糊匹配。 ?...所以公式就是: =VLOOKUP(C2,F:G,2,TRUE) 下面是操作的动态图: ? 手有点冷,操作有点捉急,哈哈哈哈。 其实这个函数也挺简单的嘛,建议多练习一下,以备不时之需。

    1.3K20

    Vlookup函数的大表哥介绍

    谈到匹配函数,杠把子肯定是Vlookup函数,由于Vlookup前期的文章已经分享过了,今天分享Vlookup的大表哥,谁是他的大表哥呢?有人会说Hlookup,No!No!No!...重温一下如果用Vlookup函数实现 ? =VLOOKUP(C2,$F$2:$G$4,2,1) 找什么,在哪里找,返回第几列,最后一个值尤为重要(是1) 那如果使用Lookup函数如何实现呢?...小编观点:其实Lookup函数在模糊匹配上数组用法和Vlookup的模糊匹配没有什么差异,第二个向量用法会比Vlookup灵活一些,实战用处只大了那么一点点点。 第二部分:精确匹配 ?...以上就是函数的基本编写原则。 接下来和大家分享函数的拆分原则和思路。...小编观点:这种用法虽然不是十分常见,但是比较巧妙,是拓展函数编写思路的一个很好的应用!

    3.1K40

    Excel必学技能 -- VLOOKUP纵向查找函数

    VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导入数据等函数功能。...-- 来源百度百科 VLOOKUP函数其实类似于下方的一个SQL语句: update tableA set tableA.value = (select value from tableB where...tableA.id = tableB.id) VLOOKUP函数用法: 图片来源:怎样快速掌握 VLookup?...id对应的人物绰号插入到tableB工作簿中,如下图: tableA工作簿 tableA工作簿 此时对应的VLOOKUP函数应该这么写: =VLOOKUP(A:A,tableA!...A:C,3,1) 释义: =VLOOKUP(用谁找-关键字,在哪找-A工作薄,返回查找范围的第几列,匹配精度-1是模糊匹配,2是精确匹配) 此文仅做函数释义,VLOOKUP函数还可以多行查找等等,具体用法可以看下方知乎链接

    1.5K10

    个人工作管理系统开发手记2:查找并获取相应的信息

    标签:VBA,Excel公式,个人工作管理系统 今天有点空闲时间,正好完善自己的个人工作管理系统,主要完善的功能就是在“说明”工作表中查找并将相应的内容输入到“目录”工作表中,以便直观地看出各分类的代表的意思...然而,如果分类未定义说明,则有可能出现错误,此时,可以使用IFERROR函数,如下图3所示。...Range("B" & Rows.Count).End(xlUp).Row For i = startRow To lLastRow ' str = "=IFERROR(VLOOKUP...(B" & i & ",CatInfo,2,FALSE),"""")" Worksheets("目录").Range("C" & i).Formula = "=IFERROR(VLOOKUP...(B" & i & ",CatInfo,2,FALSE),"""")" Next i End Sub 如果希望使用Excel公式,可以使用VBA的Find方法来实现,代码如下: Sub GetCategoryInfoBackup

    69840

    Python Excel vlookup函数实现过程解析

    文件名,[工作表名称,写则默认当前激活的表],[从第几行开始,写则默认第二行,因为很多表第一行是title],列名(第一列是要查找的元素,列名可以连续,比如“ade”) 脚本会自动把要查找的第一列进行大小写变换...想把 Sheet1 的 B,C 列的信息复制到 Sheet2 的 B,C列上,执行脚本: Source fileName,[sheetName],[row],columns: vlookup.xlsx,...Sheet1,1,abc Target fileName,[sheetName],[row],columns: vlookup.xlsx,Sheet2,1,abc {'name': ['Lao Wang...= '': row = 2 else: row = int(row) workbook = openpyxl.load_workbook(path) # 默认打开当前激活的工作表...] # 如果制定了工作表,就打开指定的工作表 highest = sheet0.max_row case_list = {} # title 所在列,对比的那一列,假设A列 title

    1K20

    职场办公|VLOOKUP函数跳坑指南

    01 问题描述 如果 Excel 函数中有流量明星的话,那一定是VLOOKUP函数了。第一次听这个函数,还是刚研一那会,师兄告诉我的,这个函数不得了,被师兄吹的天花乱坠。可惜年少轻狂,没有学其精髓。...简单说,VLOOKUP函数是用来做数据查找匹配的。例如下面这个案例,需要根据学号,找到成绩。 02 简单使用 首先,我们看看VLOOKUP函数的使用参数。...03 跳坑指南 VLOOKUP 函数是很好用,但报起错来,很让人抓狂。那这次就出一个跳坑指南,细说VLOOKUP 函数的“七宗罪”。...这个错误主要是函数参数使用错误的报错,我们只需要记住VLOOKUP 函数的四个参数,并正确使用即可。 ③ 超出范围#REF! 这主要是引用数据源丢失或者超出了引用范围。...其次,数据单元格格式匹配也是会报这种错的。这里查找的是文本格式的,匹配的却是数字格式的,就会报错。 总的来说,#N/A先考虑匹配的列是不是在第一列中,然后确保查找匹配的数据要相同。

    63120

    Excel 纵向查找函数 vlookup() 使用入门

    函数介绍 VLOOKUP 函数是 Excel 中的一个纵向查找函数,在日常工作中,我们时长需要从总表中查找出一下数据,比如一个活动哪些人参加,这是仅仅知道姓名或者工号,那需要怎样从总表里获取电话信息呢?...这时候,vlookup() 函数就可以为我们减少非常多的工作压力了。...参数介绍 vlookup() 函数需要我们提供四个参数,本文将四个参数进行了简化,他们依次是:找什么、从哪找、结果所在的相对列数、按什么方法找(0 或者 FALSE 是精确查找;1 或者 TRUE 是模糊查找...2、以电话字段为例,我们先找出花荣的电话: 1)在花荣后边的电话字段写入 =vlookup() 2)点击上方的 fx,进行参数填写: ?...K 列(电话),但是我们的需求是每一个数据的查找都是 J 列(姓名),而且行数是需要变化的,所以我们需要将第一个参数的列数锁定,行锁定,要完成这个需求,只需要在第一个参数的列前边加上 "$" 即可,

    1.7K20

    使用VBA合并工作

    标签:VBA 从多个Excel工作表(子工作表)中获取信息,并用子工作表中的所有数据填充汇总工作表(父工作表),这是很多朋友会提到的常见要求。...如果部分数据是从添加新工作表到工作簿中而增长的,那么获得这些数据的汇总非常方便,例如,添加单独的工作表,包含新月份的数据。...将新工作表信息添加到汇总工作表的一种非常快速的方法是遍历工作簿中的所有工作表,使用VBA合并数据。...下面VBA程序将执行此操作: Sub Combine1() Dim ws As Worksheet Dim sh As Worksheet Application.ScreenUpdating...上面的过程首先将清除Summary工作表,但标题保持不变,以便将新数据粘贴到该工作表中。 此外,还可以将多个工作表中的数据复制到Summary工作表中某个单元格区域的底部。

    1.9K30

    VBA输出msgbox函数

    大家好,前面示例中涉及过输出msgbox函数,使用最简单的形式,本节就将这个函数的内容扩充一下,学习其完整的结构,内容重在理解。...首先说明一下语句和函数两种形式的区别,msgbox语句形式,仅显示内容,点击确定不会产生其他结果。 那么增加变量i,将上面的示例改成函数格式看下结果。...用常量的好处时,显示内容一目了然,写常量时,VBA程序也会提示。 第二种简洁的显示方式。就是选择的常量对应值的加和。比如示例中的vbyesnocancel和vbquestion对应的值分别是3和32。...二、msgbox 函数返回值 点击msgbox函数对话框的按钮,msgbox函数会有不同的返回值,通过变量可以获得返回值,作为不同的判定条件,供我们设计人机交互,下面汇总一下。...---- 本节主要介绍了msgbox函数的使用方法,重点是buttons参数两种表示方法和msgbox函数的返回值,重在理解,需要时按规则套用即可,祝大家学习快乐。 ----

    1.8K20

    Excel函数VLookup进阶一: VLookup的逆向查询引用和多条件查询引用

    Excel函数VLookup进阶一: VLookup的逆向查询引用和多条件查询引用 【知识点】 ◆函数的语法规则如下: VLOOKUP(lookup_value,table_array,col_index_num...,range_lookup) 中文解析: VLOOKUP(要查找的值,要查找的区域,返回数据在查找区域的第几列数,模糊匹配/精确匹配) ◆使用注意: 在使用该函数时,lookup_value的值必须在table_array...比如lookup_value选取了“姓名”中的“张三”,那么Table_array选取时第一列必须为“姓名”列,且格式与lookup_value一致,否则便会出现#N/A的问题 ◆小结:也就是说Vlookup...函数是从左往右查询引用的 【问题】 能不能从右往左逆向查询引用呢?...【实例】 ◆实例1,VLookup的逆向查询引用 代码: F2输入 =VLOOKUP(F3,IF({1,0},C2:C11,B2:B11),2,0) 这是数组公式 注意:按ctrl+shift+enter

    3.1K10
    领券