Tag: vlookup

如何将单元格查找转换为VBA

目前,我在我的单元格中有一个公式: =IFERROR(VLOOKUP(A:A,'Daily Report'!A:Z,2,FALSE),"") =IFERROR(VLOOKUP(A:A,'Daily Report'!A:Y,7,FALSE)&", "&VLOOKUP(A:A,'Daily Report'!A:Y,8,FALSE)&", #"&VLOOKUP(A:A,'Daily Report'!A:Y,9,FALSE)&"-"&VLOOKUP(A:A,'Daily Report'!A:Y,10,FALSE)&", Singapore "&VLOOKUP(A:A,'Daily Report'!A:Y,11,FALSE),"") 如何将其转换为VBA,以便整个列将使用此公式进行encryption? 我的公式总是被使用我的Excel表格的人取代。 我正在避免locking单元格,因此查看VBA执行此操作。 编辑: MACRO Sub vlookup() Dim LR As Long LR = Cells(Rows.Count, "A").End(xlUp).Row Range("D2").Select ActiveCell.FormulaR1C1 = _ "=IFERROR(VLOOKUP(C[-3],'Daily Report'!C[-3]:C[22],2,FALSE),"""")" Selection.AutoFill Destination:=Range("D2:D" & LR), Type:=xlFillDefault End Sub 现在如何input数据,例如input到A列,就会运行macrosinput合法的数据。

VBA的查找公式错误

我是一个在Excelmacros观vba新手。 我在查询代码时遇到了一个问题,它引用了用户select的另一个工作簿。 这是我的代码: Private Sub vlookups() Dim data_file_new As String Dim i As Integer Dim a As String, b As String, path As String data_file_new = CStr(Application.GetOpenFilename(FileFilter:="Excel Workbooks (*.xls*),*.xls*", Title:="Select new data file for VLOOKUP")) path = data_file_new a = "=VLOOKUP(A:A,'[" & path & "]Source'!$A:$AB,28,0)" b = "=VLOOKUP(A:A,'[" & path & "]Source'!$A:$AJ,36,0)" i = 7 […]

表sorting和查找

我有一个Excel表格(25×25),看起来像这样, C1 C2 C3 R1 5 6 7 R2 1 7 9 R3 2 3 0 我的目标是使它看起来像这样, C3 R3 0 C1 R2 1 C1 R3 2 C2 R3 3 C1 R1 5 C2 R1 6 C2 R2 7 C3 R1 7 C3 R2 9 它会生成一个按照第一个值sorting的新表。 它还告诉相应的列和行的名称。表格有重复,负数和小数。 我这样做是因为我想find一个给定值的3个最接近的候选人(以及因此的C和R)。 而VLOOKUP()需要一个sorting表。 另一个问题(向前一步)是VLOOKUP()返回最接近的较小的值,而不是实际上最小的值。 有没有更好的方法来做到这一点或解决方法? 所以结果就是这样一个整洁的桌子, Value to look up […]

无法获取WorksheetFunction类的Vlookup属性

我正在试图从一个名为CashReward的电子表格中find一个员工姓名和他们的导入date。 下面的代码显示错误消息“无法获取WorksheetFunction类的Vlookup属性”。 我曾尝试将数据types更改为CDate和CStr但没有用。 concat = EmpName & GetDate BasicSal = WorksheetFunction.VLookup(CVar(concat), Sheets("CashReward").Range("G3:K" & Cashlastrow), 2, False) 提前致谢

Excel VBA VLookup – 错误13 – “types不匹配”

我正在从Excel VBAmacros,从另一个工作表获取客户端的电子邮件。 我从VLookup得到错误13“types不匹配”: For Each c In Range("D3:D130").Cells If c > 500 Then Dim emailadress As String Dim client_name As String Dim lookup_mail As Range Set lookup_mail = Sheets("MAILS").Range("A1:D130") client_name = Range("A" & (c.Row)).Value emailadress = Application.VLookup(client_name, lookup_mail, 4, False) 如果我这样做,它工作得很好: emailadress = Application.VLookup("John Doe", lookup_mail, 4, False) 所以我想我的“申报方式”有什么不对? 客户名称。 这很奇怪,因为当我在MsgBox中输出client_name时,它会popup完美。 (我使用VBA,因为我需要发送自动电子邮件给客户端) 任何帮助apreciated!

VLOOKUP和插值

我试图检查一个表的具体数据,如果我发现的数据,它会显示数据。 我用VLOOKUP做了这个。 但是现在如果数据不在表中,我想在两组数据之间进行插值。 但我不知道该怎么做。 所以我想实现的是检查一个数字是否在表中,如果它不是它需要插值。 Exapmle: 2,50 4523 2,52 4687 2,54 4790 我要:2,50显示:4523 我想:2,51(我不是要插入(4687 + 4523)/ 2) 显示:内插的数字 编辑: Vlookup公式: =VLOOKUP(F3;Tabel3;2;FALSE) EXCEL截图

如何在excel表格中填写数据,date在另一个表格中给出的一系列date范围之间? 另外,一个特定的列应该匹配

我正在从事社会调查项目。由于数据的差异,我被困在某个地方。 进行志愿者调查的药片有独特的ID。 在不同的date,这些平板电脑在不同的城市使用。第一页包含了大约几千个城市名称缺失的响应列表,第二页列出了在不同date的不同城市使用的平板电脑列表。 表1 City DeviceID StartDate EndDate Delhi 25 21-08-2014 26-08-2014 Mumbai 39 14-05-2014 21-05-2014 Chennai 91 17-11-2014 21-11-2014 Bangalore 91 11-10-2014 21-10-2014 Delhi 91 26-05-2015 29-05-2015 Hyderabad 25 23-05-2015 28-05-2015 工作表2 S.Id DeviceId SurveyDate City 203 91 15-10-2014 ? 204 25 24-08-2014 ? 我需要以某种方式填写表2中的城市列的值。我尝试使用Vlookup,但作为一个初学者擅长,无法让事情工作。 我设法将date列中的string格式化为date。 但我不确定如何进一步追求。 根据我的理解,Vlookup要求date范围是连续的,两者之间没有缺失值。 这种情况并非如此。 这是现实世界的数据,因此不完善。 什么是正确的方法来解决这个问题? 这可以用Excelmacros来完成吗? 我也读了一些关于嵌套的if语句,但是对于作为excel公式和数据操作的初学者感到困惑。

VBA Excel做一个封闭的文件的vlookup

我想从一个closures文件做一个vlookup到一个活动的打开的文件,closures的文件的path将作为一个变种 让我们说mypath = "C:\list\…." 我不知道是仅仅设置path还是全path(path+文件名) 你能帮忙吗?

Excel – recursionVLookup

我最近才知道有关Ctrl + Shift + Enter的数组公式,Excel目前还在学习中。 来我的问题, SheetA: Product Code S1 19875 S2 19834 S1 13575 S1 35675 S2 47875 SheetB: Code Indent 19875 40 19834 15 13575 22 35675 25 47875 20 我需要做一个给定的产品名称的所有缩进的总和。 例如:我需要S1的总缩进, 在SheetA上查找,获取代码19875 在SheetB上执行vlookup,获取40的缩进 在表单A上查找下一个Vlookup,获取代码13575 在SheetB上使用13575来查找,获取22的缩进 在表单A上查找下一个Vlookup,获取代码35675 在SheetB上使用35675进行Vlookup,得到25的缩进 总和40 + 22 + 25,回报87 我可以通过VBA实现这一点,但我想知道如果这是可能的Excel函数使用CSE /数组公式。 编辑: 我没有Sheet1中的值Sheet1的顺序。他们是完全随机的。 我的SheetB会随机的像下面这样: SheetB: Code Indent 19834 40 […]

使用Right(),Len()和Find()方法输出公式的VLOOKUP错误

在表中,AI有一个包含1-3个字母之后的数字组分的代码列表。 我需要通过表B中详细的范围来使用数值来find相应的年份。 Table A: Table B: Code Year Value Min Value Max Year AC19 ? 0 10 2011 ABC2 ? 11 20 2012 AC12 ? 21 30 2013 AFC30 ? 31 40 2014 GXC0 ? 41 50 2015 分开我一直在使用的数字: =(RIGHT(B7,LEN(B7)-(FIND("C",B7)+0))) (在这种情况下,B7是表中的第一个代码) 这适用于所有代码在数字组件之前都有一个C。 我发现使用示例数值段(不使用上面的公式)我可以使用VLOOKUP与“真”标志。 但是,当我试图运行它使用上面的公式生成的数值,我得到了#Ref! 错误。 为什么在使用上面公式收集的数据时,VLOOKUP会突然停止工作? 理想的输出是: Code Year AC19 2012 ABC2 2011 AC12 2012 […]