标签: vlookup

VLookup多列

我正在使用VLookup函数,它查找列中存在的多个值.这非常有效,但只需要花费很多时间,因为我在Excel工作表中有100,000行.

有没有办法加快这个代码?

代码基本上在列中查找特定值并获取偏移量.简单的VLookup与此之间的区别在于,如果有多个行具有相同的查找值,则它将获取所有元素.

   Function VLookupAll(ByVal lookup_value As String, _
                ByVal lookup_column As Range, _
                ByVal return_value_column As Long, _
                Optional seperator As String = ", ") As String

 Dim i As Long
 Dim result As String

For i = 1 To lookup_column.Rows.Count
If Len(lookup_column(i, 1).Text) <> 0 Then
    If lookup_column(i, 1).Text = lookup_value Then
        result = result & (lookup_column(i).Offset(0, return_value_column).Text & seperator)
    End If
End If
Next

If Len(result) <> 0 Then
result = Left(result, Len(result) - Len(seperator))
End If …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba vlookup

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

匹配和替换R中数据框中的操作

假设我的数据集如下:

John   NA    kaira   
carry  John  NA
maya   Sam   maya
leo    paty  leo
tinker NA    tinker
fabo   leo   maya
Run Code Online (Sandbox Code Playgroud)

我有另一个数据集:

John   1
carry  2
maya   3
leo    4
tinker 5
fabo   6
sam    7
paty   8 
kaira  9
Run Code Online (Sandbox Code Playgroud)

我想将上表(df2)的值与第一个表(df1)匹配,所以我的最终表(df)如下所示:

1   NA   9   
2   1    NA
3   7    3
4   8    4
5   NA   5
6   4    3
Run Code Online (Sandbox Code Playgroud)

replace r pattern-matching match vlookup

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

具有多个条件的 VLOOKUP 在一个单元格中返回值

我发现这个 VBA 能够使用一个条件将所有匹配的值返回到一个单元格中进行匹配:

Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long)
'Update 20150310
Dim rng As Range
Dim xResult As String
xResult = ""
For Each rng In pWorkRng
    If rng = pValue Then
        xResult = xResult & " " & rng.Offset(0, pIndex - 1)
    End If
Next
MYVLOOKUP = xResult
End Function
Run Code Online (Sandbox Code Playgroud)

但是我需要这个 VLOOKUP 来返回与多个匹配条件相比的值。

任何想法如何升级?

谢谢。更新如下:

数据表: 在此处输入图片说明

我需要公式来返回 A1-1A 和 A.0002 匹配的单元格中的值。结果应该是8 3

excel vba vlookup

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

将列转换为excel中的分隔列表

我有一个excel文件.此文件包含每个行的不同列表.并且每个列表(整行)在每列中具有不同的值.我想转换下面给出的excel例如.在这里,我想将每一行转换为带有标题的列. 在此输入图像描述

excel vba excel-vba excel-formula vlookup

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

Vlookup Vlookup的结果

在过去的一年里,我已经熟练掌握了Excel,我已准备好进行下一步并开始使用VBA.

我尝试实现以下目标:我想创建一个可以Vlookups从不同数据源运行多个工具的工具,并将所有数据合并为一个综合概述.

  • 步骤一:运行vlookupworksheet1使用来自数据worksheet2
  • 第二步:在工作表1中生成的结果是使用不同工作表的数据vlookup在一秒钟内vlookup使用的新参考数据worksheet3

现在我尝试使用以下代码:

Dim i As Long, r As Long
r = 4
For i = 1 To 10000

On Error Resume Next

Cells(r, 9).Value = WorksheetFunction.VLookup(Cells(r, 7).Value, Sheets("SPdata").Range("A3:V30321"), 9, 0)
Cells(r, 11).Value = WorksheetFunction.VLookup(Cells(r, 7).Value, Sheets("SPdata").Range("A3:V30321"), 11, 0)
Cells(r, 10).Value = WorksheetFunction.VLookup(Cells(r, 9).Value, Sheets("CREBS").Range("C2:D300"), 2, 0)

  r = r + 1
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我尝试使用Cells(r, 9)第三个vlookup中的结果来匹配工作表CREBS中的数据.我遇到的问题是第3个vlookup不会产生任何结果.

此外,On Error Resume Next作品很棒,但我想填补空白"不可用"

正如我所说,我对此很陌生.我的方法可能不是最有效的,但如果有人可以帮我解决问题/或者可以提出更有效的代码,我将非常感激.

excel vba excel-vba vlookup

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

使用 Vlookup 多次出现并找到非空值

在此处输入图片说明

我有一个看起来像这样的表,我想使用 VLOOKUP 之类的东西来查找非空的第二列值。

一个例子是:

VLOOKUP("Kiwi", Range A:B, 2, 0) 应该返回绿色

VLOOKUP("Apple", Range A:B, 2, 0) 应该返回红色

VLOOKUP("Pineapple", Range A:B, 2, 0) 应该返回 Yellow

请注意,第一次出现的 Pineapple 是空的,但它仍然应该返回 Yellow。而且我不必使用 VLOOKUP,我也对其他方法持开放态度。

我会感谢帮助。

谢谢你。

excel vba excel-formula vlookup

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

如何从VLookup中获取最后一个值?

我知道这个问题已经被问过很多次了,但我还没有找到适合我情况的答案。我尝试过使用 INDEX 和 TRUE 值,但它似乎对我不起作用。我还尝试更改列(日期,然后是项目和成本),但无济于事。

我正在使用 GOOGLE 表格。

该工作簿有两张纸,这张纸称为“参考”。它所称的那个叫“销售”。数据未按项目排序,但按日期排序,但可能存在重复实例。我正在使用这个公式:

=VLOOKUP(A2,Sales!A:C,3,false)
Run Code Online (Sandbox Code Playgroud)

它有效,但它调用了第一个值。我需要最新的值。它需要遍历整个 COLUMN 来搜索该值,然后返回第三列上对应的(最新)值。两张表都有 ITEM 栏;参考的目的是检查销售表中是否存在与现有项目匹配的项目,如果存在,则参考最新值“COST”。由于 ITEM 和 COST 的许多实例都具有不同的值,因此我需要调用最新的数字。

此外,我还有另一个公式,它从另一个工作簿中的另一个工作表调用数据,它几乎执行相同的操作:

=VLOOKUP(A2,importrange("https://docs.google.com/spreadsheets/d/URL/","Sales!A:C"),3,false)
Run Code Online (Sandbox Code Playgroud)

同样,它的作用是获取我需要的值,而不是最新值。该表的格式如下:

(SALES)
ITEM     DATE     COST
A2       B2       C2
A3       B3       C3
Run Code Online (Sandbox Code Playgroud)

参考表是这样的:

(REFERENCE)
ITEM     LOOKUP
A2       B2
A3       B3
Run Code Online (Sandbox Code Playgroud)

您能提供的任何帮助将不胜感激。

sorting lookup google-sheets vlookup google-sheets-formula

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

根据条件在数据框中查找值

我有一个主数据框和三个较小的数据框。最终,我想在主数据框中创建一个新列,指示每行是否满足两个条件。

  1. 主数据帧 A 列中的值出现在任何较小数据帧的 BB 列中。
  2. 对于 A 列和 BB 列的值匹配的行,主数据帧的 B 列与任何较小数据帧的列之间的差异小于 5。

为了简单起见,我只包含了较小的数据帧之一。

data = [['Tom', 10], ['Nick', 15], ['Juli', 14], ['Tom', 7], ['Juli', 9]]

main_df = pd.DataFrame(data, columns=['A', 'B'])

    A     B
0  Tom    10
1  Nick   15
2  Juli   14
3  Tom     7
4  Juli   9

data1 = [[5, 'Juli'], [17, 'Tom'], [6, 'Juli'], [8,'Tom']]

df1 = pd.DataFrame(data1, columns=['AA', 'BB'])

   AA   BB
0  5   Juli
1  17  Tom
2  6   Juli
3  8   Tom
Run Code Online (Sandbox Code Playgroud)

我希望我的最终数据框看起来像这样:

    A     B …
Run Code Online (Sandbox Code Playgroud)

python if-statement vlookup dataframe pandas

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

如何在excel中从不同列的列表中找到正确的ID号以与正确的单元格进行比较

我有不同的,例如,语言相同的id,并希望Vlookup或索引,匹配或其他方式来找到正确的翻译行,并显示该行的相应的ID号.我可以使用1个列表,但以3种语言为例.

如何找到正确的翻译号码并获得正确的号码?

例

excel match excel-formula vlookup

0
推荐指数
1
解决办法
101
查看次数

Excel VLOOKUP显示错误的结果

我尝试使用VLOOKUP函数预处理一些excel文档.

免责声明:这不是我需要处理的真实数据,而是一些具有相同问题的演示数据! 在此输入图像描述

左列的vlookup函数是

=VLOOKUP(B7;$D$6:$E$10;2;1)
Run Code Online (Sandbox Code Playgroud)

对于正确的一个是

=VLOOKUP(K11;$M$8:$N$13;2;1)
Run Code Online (Sandbox Code Playgroud)

(当然,第一个数字正在改变,B7,B8,...... K11,K12 ......)

怎么了:

在左侧,出现没有键,但是是.

在lidija的右侧,值应为j而不是y.

即使我在网上搜索了很多,我也找不到有什么问题.

有人认为(从图片和描述中很明显)我已经检查过:

(并且它被称为最常见的问题)

  1. 我锁定了单元格(参见上面的代码)

  2. 密钥存在 - 您可以在表中看到密钥,我可以通过复制和粘贴来完成

  3. 这不是空间问题(我检查没有一个单元格末尾有空格)

excel vlookup na

0
推荐指数
1
解决办法
1199
查看次数