标签: vlookup

Excel - 递归VLookup

我最近了解了Ctrl + Shift +输入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
Run Code Online (Sandbox Code Playgroud)

我需要做一个给定产品名称的所有缩进的总和.

例如:我需要S1的Total Indent,

  • 在SheetA上查找Vlookup,获取代码19875
  • 在SheetB上执行vlookup,获得40的缩进
  • 在表A上的下一个Vlookup,获取代码13575
  • 在SheetB上使用13575到Vlookup,获得22的缩进
  • 在表A上的下一个Vlookup,获取代码35675
  • 在SheetB上使用35675到Vlookup,得到缩进25
  • 总和40 + 22 + 25,返回87

我可以通过VBA实现这一点,但我想知道在使用CSE/Array公式的excel函数中是否可行.

编辑:

Sheet2中的值与Sheet1的顺序不同.它们是完全随机的.我的SheetB将是随机的,如下所示:

SheetB:
Code           Indent
19834          40  
19875          15
47875          22
13575          25
35675          20
Run Code Online (Sandbox Code Playgroud)

excel excel-2007 worksheet-function vlookup

3
推荐指数
1
解决办法
9306
查看次数

找不到错误:VLOOKUP没有返回值

我正在使用excel文件,我试图用vLookUp函数"映射"一些值.

vLookUp函数的第一个参数令我感到头疼:该函数使用某些值(以文本格式手动输入)...但不适用于预先生成的值(相同的值...但是从ERP生成系统..).我检查以确保我正在寻找"相同的性质"值(文本与文本)...但我不知道为什么前3个值(手动输入)很好......但最后3个( pre generated)给了我一个#N/A错误:它必须是"格式"的差异..但我无法找出差异在哪里...

这是使用的公式:= VLOOKUP(D1; $ A $ 1:$ B $ 219; 2; FALSE)

实际文件

1008600 379.99      1008600 379.99
1008601 379.99      1008601 379.99
1010600 449.99      1010600 449.99
1010601 449.99      1010601 #N/A
1013600 489.99      1013600 #N/A
1014601 509.99      1014601 #N/A
1015600 569.99          
1018603 679.99          
1019600 809.99          
Run Code Online (Sandbox Code Playgroud)

谢谢 !

excel formatting syntax-error excel-formula vlookup

3
推荐指数
1
解决办法
3万
查看次数

无法使用vba vlookup查找日期

我有一个excel工作表,其中A列包含日期,B列包含相应的日期.例如.A2 = 01/01/14,B2 = Wed,依此类推.

我试图用示例vba代码检索B2中的日子,但我一直收到错误" 运行时错误'1004'无法获取worksheetFunction类的Vlookup属性 "

请参阅我的代码并告知错误.谢谢.

 Sub Button1_Click()


Dim lookup_value As String
Dim lookup_table As Range

Let lookup_value = "1/1/2014"
Set lookup_table = Range("A:B")

the_day = WorksheetFunction.VLookup(CDate(lookup_value), lookup_table, 2, False)


Range("D7") = the_day

End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,我想手动传递lookup_value而不是查找单元格A2.

excel vba excel-vba vlookup

3
推荐指数
1
解决办法
1万
查看次数

给出#N/A的VLOOKUP,我不明白为什么

在此输入图像描述

为什么这不起作用?我试着检查空白,确保长度是一样的,等等.让我坚果!我只想要阿拉巴马州!给出的错误是"值不可用".

excel worksheet-function excel-formula vlookup excel-match

3
推荐指数
1
解决办法
1372
查看次数

VLOOKUP返回的空白为1/0/1990,而不是看不到

所有单元格都格式化为日期,当一个单元格为空白时,我希望它返回一个明显为空白的单元格而不是1/0/1900。这是我到目前为止的内容,但是它仍然返回日期而不是空白:

= IF(ISNA(VLOOKUP($B$4,TrainingDatabase!$A$3:$S$14,3,0))=  0,"", (VLOOKUP($B$4,TrainingDatabase!$A$3:$S$14,3,0)))
Run Code Online (Sandbox Code Playgroud)

excel formatting date string-formatting vlookup

3
推荐指数
1
解决办法
2万
查看次数

如何使用VLOOKUP结果作为COUNTIF标准

我希望能够确定一个人的特定ID(例如#123)出现在单独列(例如column C)给出名称(例如Bob)的次数.

我有:

  1. 让A列由几个名称组成.(Bob)
  2. 让B列包含与此人姓名相关的ID.(#123)
  3. 让C列由相同的ID组成,但它可能包含ID的重复(可能有三个#123)

ID与每个人的姓名并排.

如何使用a的结果VLOOKUP作为COUNTIF函数的标准(第二个参数)?

如果我VLOOKUP单独使用它会返回我正在尝试计算的正确值.=VLOOKUP(Bob, column A:column B, 2, FALSE)将返回#123

如果我COUNTIF单独使用它也会返回正确的计数值.=COUNTIF(column C, #123) 将返回3

我试过了,=COUNTIF(column C, VLOOKUP(Bob, column A:column B, 2, FALSE))但它回来了0.

我已经尝试将标准引用COUNTIF到具有VLOOKUP公式的单独单元格,但它仍然返回0.

因此,当我将两者结合在一起时似乎停止工作.问题可能是什么,可能是另一种选择?

excel worksheet-function excel-formula countif vlookup

3
推荐指数
1
解决办法
8万
查看次数

Excel VLOOKUP与仅包含数字的值不匹配

这个问题参考了以下答案: 如何对一组数据进行排序以匹配Excel中的另一组数据?

=VLOOKUP(A2, Sheet2!A:B, 2, 0)
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此公式来完全匹配两组数据,如示例所示.该公式适用于匹配单元格中包含字母的值.但是,公式不匹配单元格中仅包含数字的值.这是什么原因?有任何想法吗?

excel excel-formula vlookup

3
推荐指数
1
解决办法
5928
查看次数

连接索引匹配的多个结果

我正在尝试将索引匹配的多个结果连接到一个单元格中.这是我正在使用的示例数据集:

在此输入图像描述

我想要的结果:

在此输入图像描述

正如您所看到的,我正在努力寻找数据为4/12/2017的所有客户.然后我想将它们组合成另一个单元格中的一个字符串.如果日期相同,我已经弄清楚如何总结数量,但却无法弄清楚如何连接客户.

excel string-concatenation excel-formula vlookup textjoin

3
推荐指数
1
解决办法
5936
查看次数

Excel三(多个)VLOOKUP,在两个工作表上具有串联的VLOOKUP值

我想创建一个VLOOKUP超过2个工作表,并查看三个查找值,其中三个值中间是一个-

基本数据太大,无法在此处放置(限制为3万个字符),因此文件如下:

https://wetransfer.com/downloads/b475e4206e9b1c01519b4e6405fbf2f420180208112525/49c87b

在“转换”选项卡中,我尝试使用以下公式:

=INDEX(Data!D10:BB300,MATCH(A4&"-"&B3,INDEX(Data!D7:AO7,0)),MATCH(Transform!B2,Data!A11:B300,0))
Run Code Online (Sandbox Code Playgroud)

但是#N/A即使我已将其指向正确的单元格,也可以得到。

预期的输出也位于文件中。

快速说明:

Data标签我有一个有特定日期,如行Jan-16Feb-16Mar-16

同样在Data标签中,我有一行包含ActualBudget

同样在Data选项卡中我有值Total Alpha

Transform选项卡中,我将其布局如下:

_______________________
|Actual | Total Alpha | 
-----------------------
|       |16     |17   |
-----------------------
|Jan    |       |     |
----------------------- 
|Feb    |       |     |
-----------------------
|Mar    |       |     |
-----------------------
|Apr    |       |     |
-----------------------
|May    |       |     |
-----------------------
|Jun    |       |     |
-----------------------
|Jul …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-formula vlookup

3
推荐指数
1
解决办法
185
查看次数

是否可以将InStr()与Application.Vlookup()结合使用?

我目前有一个With语句,它将一个单元格的值与一系列单元格进行比较,InStr()然后返回true,然后标记cell.Value为" Yes"如果不是那么"No".

这是场景.说我正在检查它的值,A2这是111.我正在与111一系列其他单元格进行比较,并且应该匹配的字段是111, 222, 333包含111在其中的字段.我下面的第一组代码适用于此但速度很慢.我希望有一个更快的方式,我认为我可以用公式做到这一点,但使用True而不是False在vlookup中使用不像我想的那样.

这是代码:

With inv_twcg_ws
    For Each cell In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
        For Each cellx In report_rng
            If InStr(cellx.Value, cell.Value) Then
                cell.Offset(0, 6).Value = "Yes"
                Exit For
            End If
                cell.Offset(0, 6).Value = "No"
        Next cellx
    Next cell
End With
Run Code Online (Sandbox Code Playgroud)

问题是它有点慢.我的应用程序需要大约5分钟才能运行.我希望能结合InStr()Application.Vlookup()以某种方式,试图加快配方.这可能吗?

这是我目前的Vlookup,但使用True不接缝来满足我的需求......

With inv_twcg_ws
    For Each cell In .Range("G2:G" & …
Run Code Online (Sandbox Code Playgroud)

excel vba formula vlookup

3
推荐指数
1
解决办法
241
查看次数