问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

wps自带m lookup函数公式吗?

发布网友 发布时间:2022-04-22 15:59

我来回答

3个回答

热心网友 时间:2023-11-11 17:19

MLookup是自定义函数
你可以根据你的需要定制一个查找函数
比如:=Mlookup(查找内容,查找区域,返回值所在的列数,第N个)
这个函数是用于查找某列第N次出现的数值
也有增强版,增加了逆序查找和模糊查找功能
=MLOOKUP(rg,rgs,L,M,P)
rg:是查找值,可以是单元格或数据区域,如B2或B2:C2。
rgs:是数据区域,尽量缩小范围,写成B2:D9这种形式,不要用B:D,否则可能造成卡顿。
L:是第几列,正数表示从左往右查询,负数表示从右往左查询。
M:是第几个重复值,0是最后一个重复值,-1表示合并重复值,用英文逗号分隔。
P:为0或省略是精确查找,为1是模糊查找,也就是查找值类似"*"&A1&"*",仅支持单个单元格。
如出现错误值,返回空白。
这是增强版代码:
Function MLOOKUP(rg, rgs As Range, L As Integer, M As Integer, Optional P As Integer = 0)
Dim arr1, arr2, arr3, columnn 'columnn是列数
Dim R, n, K, X, cc, sr As String
arr1 = rg.Value
If L > 0 Then arr2 = rgs
If L < 0 Then
arr3 = rgs
arr2 = rgs.Offset(0, L).Resize(UBound(arr3), UBound(arr3, 2) - L) 'UBound(arr3, 2)是arr3的列数,rgs需要扩展范围,将左侧L列加入其中,如原来是B2:B3,L是-1,那么扩展后就是A2:B3
End If
If VBA.IsArray(arr1) Then
For Each R In arr1
If R <> "" Then
cc = cc & R '查找值为多个单元格合并
columnn = columnn + 1
End If
Next R
Else
cc = arr1
End If
If M > 0 And L > 0 Then '非查找最后一个
For X = 1 To UBound(arr2) 'x是数组的行数
sr = ""
If columnn > 1 Then
For q = 1 To columnn 'q是数组中列的范围
sr = sr & arr2(X, q)
Next q
Else
sr = arr2(X, 1)
End If
If P = 0 And sr = cc Then
K = K + 1
If K = M Then
MLOOKUP = arr2(X, L)
Exit Function
End If
End If
If P = 1 And sr Like "*" & cc & "*" Then
K = K + 1
If K = M Then
MLOOKUP = arr2(X, L)
Exit Function
End If
End If
Next X
ElseIf M > 0 And L < 0 Then '非查找最后一个
For X = 1 To UBound(arr2) 'x是数组的行数
sr = ""
If columnn > 1 Then
For q = 1 To columnn 'q是数组中列的范围,查找值是合并的,sr就是指查找值
sr = sr & arr2(X, q - L) 'rgs已经拓展,查找列所在的位置发生变化,需要加上L列,因L是负数,使用-L转换为正数
Next q
Else
sr = arr2(X, 1 - L) '查找值所处的位置,从拓展范围后的rgs数组的最左侧算起,
End If
If P = 0 And sr = cc Then '查找值是单个
K = K + 1
If K = M Then
MLOOKUP = arr2(X, 1)
Exit Function
End If
End If
If P = 1 And sr Like "*" & cc & "*" Then '查找值是单个
K = K + 1
If K = M Then
MLOOKUP = arr2(X, 1)
Exit Function
End If
End If
Next X
ElseIf M = -1 And L > 0 Then '查找所有值
For X = 1 To UBound(arr2)
sr = ""
If columnn > 1 Then
For q = 1 To columnn
sr = sr & arr2(X, q)
Next q
Else
sr = arr2(X, 1)
End If
If P = 0 And sr = cc Then
MLOOKUP = MLOOKUP & "," & arr2(X, L)
End If
If P = 1 And sr Like "*" & cc & "*" Then
MLOOKUP = MLOOKUP & "," & arr2(X, L)
End If
Next X
MLOOKUP = Right(MLOOKUP, Len(MLOOKUP) - 1)
Exit Function
ElseIf M = -1 And L < 0 Then '查找所有值
For X = 1 To UBound(arr2)
sr = ""
If columnn > 1 Then
For q = 1 To columnn
sr = sr & arr2(X, q - L)
Next q
Else
sr = arr2(X, 1 - L)
End If
If P = 0 And sr = cc Then
MLOOKUP = MLOOKUP & "," & arr2(X, 1)
End If
If P = 1 And sr Like "*" & cc & "*" Then
MLOOKUP = MLOOKUP & "," & arr2(X, 1)
End If
Next X
MLOOKUP = Right(MLOOKUP, Len(MLOOKUP) - 1)
Exit Function
Else '查找最后一个
If L > 0 And M = 0 Then
For X = UBound(arr2) To 1 Step -1
sr = ""
If columnn > 1 Then
For q = 1 To columnn
sr = sr & arr2(X, q)
Next q
Else
sr = arr2(X, 1)
End If
If P = 0 And sr = cc Then
MLOOKUP = arr2(X, L)
Exit Function
End If
If P = 1 And sr Like "*" & cc & "*" Then
MLOOKUP = arr2(X, L)
Exit Function
End If
Next X
End If
If L < 0 And M = 0 Then
For X = UBound(arr2) To 1 Step -1
sr = ""
If columnn > 1 Then
For q = 1 To columnn
sr = sr & arr2(X, q - L)
Next q
Else
sr = arr2(X, 1 - L)
End If
If P = 0 And sr = cc Then
MLOOKUP = arr2(X, 1)
Exit Function
End If
If P = 1 And sr Like "*" & cc & "*" Then
MLOOKUP = arr2(X, 1)
Exit Function
End If
Next X
End If
End If
MLOOKUP = ""
End Function

热心网友 时间:2023-11-11 17:19

MLOOKCUP没听说过,也不懂这是个啥。
LOOKUP函数我倒是知道,EXCEL上用的,但WPS的函数跟EXCEL函数有的并不套用,需要你单独设计或在网上找模板,通常来说只要是付费用户,大把模板够你用的。

热心网友 时间:2023-11-11 17:20

有 lookup、vlookup 函数……但没听过MLOOKCUP
你不如说说你需要什么需求,最好能提供样例文件
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中国银行自助存款怎么存呀? 中国银行存款怎么存? 有没有简单易学而又美味的甜食呢? 转账云证书pin码是什么 孩子不想跟父母过了怎么办 驾驶证丢失后补办需等待多长时间 上海304不锈钢板材 国标 如何在ps中模仿日系风格,制作出温暖午后的小清新杂志封面? PS和InDesign设计时尚杂志封面 晚上睡觉觉得腿难受是怎么回事 wps表格用什么函数可以实现查询某日到某日的数据? 怎样才能让wps office能查函数一类的特殊数学符号? 如果一个人对你情到深处,在微信上会怎么给你备注? 给最爱的人送什么礼物最好? 给男朋友超甜的备注是什么 给另一半的微信备注 光遇试炼只能去一次吗 光遇试炼为什么坐下没用 光遇土之试炼干嘛的 光遇火试炼怪物叫什么 光遇每个季节都有试炼吗? 光遇土地的试炼怎么过 《光遇》火之试炼路线图是什么? 光遇您的朋友正在挑战一项试炼是啥意思? 《光遇》试炼怎么快速通过? 跑试炼干什么 光遇土地的试炼怎么过? 《光遇》预言山谷第四个试炼是什么? 家常佛跳墙的家常佛跳墙简介 佛跳墙需要多少种材料? WPS 高级查找函数求助! 厕所小蚊子多怎么办 关于WPS查找函数实现方法,麻烦各位高手指点 厕所里的蚊子特别多有什么好办法能大量杀灭蚊子 厕所马桶老有蚊子怎么处理? wps2009搜索表格中的数据的函数怎么写? 厕所里蚊子太多了,怎样解决,有什么药杀蚊子吗? 农村土厕所如何除蚊子 怎么解决厕所里源源不断的蚊子? 酷睿i3 i5 i7哪个好 《西游记》读后感 为什么我在网上想复制一些文字 却 不可以? 拖不动! 在网页上复制文字,就会卡住 网页上无法复制的文字如何复制下来 有些网页的文字不能选中粘贴,请问怎么办? B站UP主Lexburner在微博中的言论是怎么样的? 为何从网站上复制一些文字然后粘贴到word上速度会很慢? 男生经常刷b站说明什么 我想在网站上复制点内容不能复制怎么办 如何评价b站up主徐大sao?