对于已经完成了的报表,大部分使用了xlookup函数,为了方便交接,找到了一个让非365用户兼容xlookup函数的办法。


使用VBA函数

具体函数请参见https://mesa-lab.cn/excel/xlookup页面底部
没想到这么快就要投入使用了

本文只提供操作指示

函数的配置

xlookup替换1.gif

(本来想录一起,但是没想到录制突然断了,所以下面补上)

函数的使用

xlookup替换2.gif

最后附上代码(效率较慢,数据量大的时候不如改vlookup吐血)

Function x(a, b, c, Optional d = "无结果")
a = isObj(a)
d = isObj(d)
x = Application.Evaluate("iferror(vlookup(" & a & ",IF({1,0},'" & b.Worksheet.Name & "'!" & b.Address & ",'" & c.Worksheet.Name & "'!" & c.Address & "),2,0)," & d & ")")
End Function

Function isObj(a)
Dim e As String
    If TypeName(a) = "Range" Then
        e = "'" & a.Worksheet.Name & "'!" & a.Address
    Else
        e = """" & a & """"
    End If
isObj = e
End Function