gpt4 book ai didi

vba - 单元格匹配的单元格而不是值匹配的值

转载 作者:行者123 更新时间:2023-12-04 22:32:10 25 4
gpt4 key购买 nike

理想情况下,我会使用 excel 公式来完成,但如果不可能,我也会接受用户定义函数作为解决方案。

考虑这个屏幕截图:

enter image description here

虽然匹配公式 =IF(ISERROR(MATCH(A2,$B$2:$B$12,0)),"No Match", "Match")在 C 列中似乎工作正常,他们对我有一个警告:即使有两个 4,它们也会显示“匹配”在查找单元列中只有一个 4在查找范围列中。

在 excel 中,是否有一个函数或它们的组合可以为单元格匹配而不是值匹配的值?

例如,在上面的示例中,4第 5 行中不应显示“匹配”。相反,它应该显示“不匹配”。

现在,正如我在问题开头所说的那样,如果使用 excel 函数不可能,我将改为使用 UDFS .

我还没有以 vba 代码的形式写完的算法是一个有 3 个参数的算法:查找单元格、查找单元格和查找范围。函数输出是“匹配”或“不匹配”。

基本上,如果我以上面的例子为例,查找单元格可以是 A2,查找单元格是 $A$2:$A$5,查找范围是 $B$2:$B$12。

使用查找单元格和查找范围,我创建了两个数组,每个数组一个。

然后,循环比较它们的值。如果其中一个值相同,我将它们的值与它们在查找范围列中的相对行以及它们在查找单元列中的绝对行号一起添加到另一个数组中。这个数组是动态的并且有两个维度。

然后,我将(停留在这部分)有另一个循环将查找单元格中的值与数组中的值进行比较。如果它们相等,那么我希望查找范围循环在存储在数组 (+1) 中的该值的相对行之后开始其循环。

最后,在遍历所有内容并找到匹配的单元格(数组中的值)之后,如果数组中的绝对行号之一与查找单元格的绝对行号(函数的第一个参数)一致,则函数返回“匹配”。如果不是,则返回“不匹配”。

我的感谢和我未完成的代码如下:

Function Rlookup(ByVal LookupCell As Range, ByVal LookupCells, ByVal LookupRange)

Dim LookupRngArray As Variant
Dim LookupCellsArray As Variant
Dim i As Long
Dim z As Long
Dim x As Long
Dim w As Long
Dim y As Long
Dim Arr() As Variant

x = 0

LookupRngArray = LookupRange.Value2
LookupCellsArray = LookupCells.Value2

For i = 1 To UBound(LookupCellsArray)

For z = 1 To UBound(LookupRngArray)

If LookupCellsArray(i, 1) = LookupRngArray(z, 1) Then

For y = x To 0 Step -1

If LookupCells(i, 1) = Arr(1, y + 1) Then
z > Arr(1, y + 1)

Else

x = x + 1
ReDim Preserve Arr(1 To 3, 1 To x)
Arr(1, x) = LookupCellsArray(i, 1)
Arr(2, x) = Application.WorksheetFunction.Match(LookupCellsArray(i, 1), LookupRngArray, 0)
Arr(3, x) = LookupCells.Row + i - 1

End If

Next y

End If

Next z

Next i

For w = 1 To x

If LookupCell.Row = Arr(3, w) Then
Rlookup = "Match"

End If
Next

If Rlookup = "0" Then Rlookup = "No Match"
End Function

最佳答案

可以用 COUNTIF() 来完成:

=IF(A2<>"",IF(COUNTIF($A$2:A2,A2)<=COUNTIF(B:B,A2),"match","No Match"),"")

enter image description here

关于vba - 单元格匹配的单元格而不是值匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com