Tag: vlookup

在VBA脚本中,在vlookup中返回“应用程序定义的错误或对象定义的错误”和“types不匹配”

我在下面的vba脚本有一些问题。 这很简单。 它意味着取得一个下拉列表的值,并根据另一个表中的是/否/空值进行响应。 代码工作正常,除了在停止脚本运行的vlookup行中有问题。 前两个vlookup行返回“应用程序定义或对象定义的错误”,第三个返回“数据types不匹配”错误。 公式引用的每个单元格被格式化为文本,所以我不确定问题是什么…任何反馈都会非常有帮助。 谢谢! If Not Intersect(Target, Range("countryProductCell")) Is Nothing Then lastcolumn = ActiveSheet.UsedRange.Column – 1 + ActiveSheet.UsedRange.Columns.Count cellRow = Target.Row defaultCellColumn = 4 Dim countryIndex As Variant countryIndex = Array(6, 6, 30, 21, 35, 29, 32, 20, 23, 18, 19, 34, 33, 22, 31, 26, 25, 27, 28, 7, 8, 15, […]

使用单元格值作为VLOOKUP表数组的参考?

我希望能够允许用户更改在VLOOKUP中用作参考的文件。 所有正在使用的文件将具有相同的数组,只是不同的文件path。 这是我认为它应该运作。 点击打开文件浏览器的macrosbutton。 允许用户select文件。 在单元格中粘贴文件path(A1) 将path转换为包含数组。 在VLOOKUP公式中,引用单元格A1作为“表格数组”。 我已经能够完成第3步。有关如何添加定义的数组并引用VLOOKUP中的单元格的任何想法?

Excel Vlookup与Autofill VBA

我试图制作一个看起来非常简单的macros,但事实certificate比我想象的要困难。 我开始使用“点击”方法,但没有像我想象的那样dynamic。 基本上我使用vlookup从另一个工作表中查找单元格A2中的名称,然后将D列中的数字复制到当前表单中。 在查看代码时,这部分看起来像这样: Range("D2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-3],'Downstairs'!R[-1]C[-3]:R[200]C[14],4,0)" Range("D2").Select Selection.AutoFill Destination:=Range("D2:D" & lastrow&) find第一个数字后,我正在尝试自动填充剩下的数字。 它运行时,它运作,但我认为这是因为名称是为了。 但是,如果名称不正确,将无法find正确的数字,部分原因是R []和C []内部的所有数字随着行数的不同而不断变化。 我不认为这会工作,如果我添加更多的名单,这是我需要做的事情。 我把R []中的数字从93改成了200,因为我真的不知道如何把我之前做过的拉斯特罗对象合并到一起,而我不知道如何使这个dynamic变成另一种方式。 有一个更好的方法吗?

连接string生成的表上的VBA查找

部分macros我刷新了连接到SQL(这是运行查询将两列数据在选项卡中),并在查询生成的表上的现有列中的数据(不同的选项卡)进行查找。 'Refreshing Connection named Query From Warehouse ActiveWorkbook.Connections("Query from Warehouse").Refresh Range("M2").Select ActiveCell.FormulaR1C1 = _ "=IF(ISNA(VLOOKUP([@polid],RwlID,2,FALSE)),[@polid],VLOOKUP([@polid],RwlID,2,FALSE))" 查询创build的表名为RwlID 我遇到的问题是,vlookup仅适用于已经在RwlID中的数据开始。 我想也许这是因为在连接完成刷新之前它正在发生,所以我移动了macros中的其他查询的两端代码(这需要更长的时间运行),但没有帮助。 现在我想Excel仍然认为RwlID只有一定的长度。 因此,例如,昨天是400行,今天延伸到450,我的查找只有400.(仅在macros中,因为当我运行macros后,我再次手动input查找单元格填充,如我所料) 所以我尝试添加(RlwID在表5中): sheets(5).ListObjects(1).Name = "RwlID" 认为它可能会将450的表格重新命名为RwID而不是400,但是并不成功。 任何想法,为什么它不工作? 如何解决它? 谢谢。

EXCEL:多个条件计数和数据列表/总结

我需要在EXCEL中做一个多重条件计数和数据列表/总结。 我有一个EXCEL文件,内容如下: ABCD <– Columns tennis Jan 4 Smith John tennis Jan 4 Fellows Todd tennis Jan 4 Biebs Justin football Jul 8 Smith John football Jul 8 Rucker Pete tennis Aug 7 Smith John 等等… 我必须find姓氏/名字(col D / col C),他们参加了哪些活动(可能会多次(即1月4日和8月7日的网球))。 我研究过VLOOKUP和countif,我可以让他们在其他文件上工作,但我不能让他们与这一个工作。 我知道我可以按名称sorting,并手动计数,但试图找出一种方法来使用多个条件来获得答案(无需太多的操纵文件,因为它不是我的文件谁input的信息方面)。 任何帮助,赞赏(即使它需要部分手动的努力!)任何事情都比手动sorting文件多种不同的方式。 谢谢! -担

在Excel VBA中运行嵌套的If / Match

嘿,我花了大部分时间来试图解决这个问题 – 我觉得我非常接近。 基本前提是我有4列数据。 它们是复制并粘贴在一起的两个单独的名字/姓氏列。 现在我想要做的就是在姓氏上运行一个匹配,如果他们是平等的,在名字上运行匹配。 列范围是dynamic的,这就是为什么运行一个CONCATENATE和VLOOKUP公式的原因,但如果我能得到一些较less的参与,那就太好了。 Here's a sample data table ABCDE 1 Last First Last2 First2 2 Sharma Abhi Smith Kevin 3 Philip Matt Smith GEORGIA 4 Franc Pete John Bon Jovi 5 Arnold Susan Jack White 6 Mallo Chad Sharma Katie 7 Daigle Steve Sharma Abhi 而我的想法是,从单元格E2开始,它应该返回一个匹配或不匹配(在这种情况下,只有第2行应该返回一个匹配,目前它每次都返回一个匹配 – 这是不正确的,我觉得我失踪小东西?感谢您的帮助。 这是迄今为止我写的代码 Sub matchFunction() […]

Excel – 将数据从一个范围匹配到另一个范围,并从第三个范围或原始数据返回另一个值

我正在尝试使用不纯的数据来创build一个干净的模板。 现在,我收到一个有很多错误的excel文档,但是它们总是一样的错误。 我不想每次手动进入并修复它,我想设置一个公式来自动修复错误。 例如,我有工作表1列A中的值列表,其中始终包含相同的错误。 我有一个validation工作表(Sheet2),其中包含列A中的所有错误值和列B中的正确值。我想设置第三个选项卡(Sheet3),其中包含一个公式比较来自Sheet1列A与Sheet2中的值进行比较,如果存在则显示B列中的更正值,否则显示Sheet1列A中的原始(正确)值。 我认为公式会类似于我在这里find的那个返回错误的校正值,我只需要最后一步返回原始值,而不是#NA,如果没有错误。 像这样的东西: = VLOOKUP( '工作表Sheet' A2 'Sheet 2中' A:!!! B,2, 'Sheet 1中' A2) 任何帮助表示赞赏。

如何在R中查找和填充(如在Excel中)?

我有一个105000行和30列的数据集。 我有一个分类variables,我想把它分配给一个数字。 在Excel中,我可能会做一些与VLOOKUP和填充。 我怎么会在R做同样的事情呢? 基本上,我有一个HouseTypevariables,我需要计算HouseTypeNo 。 以下是一些示例数据: HouseType HouseTypeNo Semi 1 Single 2 Row 3 Single 2 Apartment 4 Apartment 4 Row 3

使用INDIRECT()通过VLOOKUP()设置dynamic范围

我试图使用INDIRECT()来为基于定义的数值的VLOOKUP()函数设置一个范围。 当逐步通过VLOOKUP()公式时,INDIRECT()函数返回我认为可接受的范围。 但是,运行公式时,将返回“#N / A”错误,我不知道为什么。 为了提供更多的风味,我使用了LEFT()和ADDRESS()来确定列首字母的基础上的一个单独的值MATCH()。 使用固定偏移量,MATCH()函数返回正确的列标题,并提供范围大小的常量。 以下是我的公式: =VLOOKUP(J2,INDIRECT("$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+8,4),1+(MATCH($H2,ZAS_Lookup,0)+8>26))&"$1:$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+9,4),1+(MATCH($H2,ZAS_Lookup,0)+9>26))&"$29"),2,TRUE) 正如我所提到的那样,在最终计算之前进入最后一步时,公式看起来好像会压缩到以下内容: =VLOOKUP(5,$DW$1:$DX$29,2,TRUE) 但事实并非如此,因为它返回#N / A。 任何想法为什么? 我是否需要使用不同的function来dynamic设置范围?

在这种情况下如何使用VLOOKUP

我正在寻找使用VLOOKUP来查找需要Irata培训的操作人员姓名 ^我正在使用的工作表 我不确定伊拉塔训练是否有两个层次