发布网友 发布时间:2022-04-23 11:17
共5个回答
热心网友 时间:2023-10-12 04:44
请确认百万条级的东西要在EXCLE中查么?会非常慢的,出一个简单的循环,表达一下达成的意思。
Function nlookup(rng1 As Range, rng2 As Range, col As Integer, n As String)追答把你的代码贴上来,装两次字典即可。
热心网友 时间:2023-10-12 04:45
vlookup(条件,条件区域,匹配区域)
你的正反向查找是个什么概念?
条件存在于条件区域内,匹配匹配区域,存在于匹配区域内,匹配条件区域?
这样写个自定义高数,双向遍历就行了追答
Function 双向lookup(A,B,C)
dim bc,aa
aa=A.value
for each bc in B
if bc.value=aa then
双向lookup=C.Parent.cells(bc.row,C.column).value
exit Function
end if
next
for each bc in C
if bc.value=aa then
双向lookup=B.Parent.cells(bc.row,B.column).value
exit Function
end if
next
end Function
'B和C都是同起点行号且只有单列的数组单元。上面自定义函数应该没毛病,可公式直接引用。自己测试
热心网友 时间:2023-10-12 04:45
那你应该使用鼠标按下,弹起事件啊
捕捉是从左到右,还是从右到左
热心网友 时间:2023-10-12 04:46
直接用VLOOKUP不行吗
for i = 1 to 5
Cells(i, 10) = Evaluate("=VLOOKUP(G" & i & ",IF({1,0},C:C,A:A),2,0)")
NEXT追问数据太大了,有接近一百万行,想写一个通用性强的代码,正向查找现在没问题,逆向不知道该怎么判断出来
追答
这就是逆向查找啊,for i =1 to 1000000,要不把你的代码看看,要快就用find函数查找C列区域,找到后获取行号,返回A列对应行号的单元格如返回cells(i,1)
在C列查找G列对应值,返回A列,写于H列
Sub 宏999()热心网友 时间:2023-10-12 04:47
写代码来实现