发布网友 发布时间:2022-04-21 07:04
共2个回答
热心网友 时间:2022-06-18 14:46
用VBA自定义函数吧,使用方便
按ALT+F11 打开代码窗口,
在左边的格(工程资源管理器)内,右键,
插入,模块,
将下面的代码复制到右边窗口内(模块1的代码窗口),
-----------
Public Function iJH(iRng1 As Range, iRng2 As Range) As String
Application.Volatile
If iRng1.Cells.Count < 1 Or iRng2.Cells.Count < 1 Then iJH = "#参数有误": Exit Function
Dim i As Long, iStr1 As String, tmp As String, c As Range
For Each c In iRng1
iStr1 = iStr1 & "<" & c.Value & ">"
Next
For Each c In iRng2
If c.Value <> "" Then
If InStr(iStr1, "<" & c.Value & ">") Then tmp = tmp & c.Value & ","
End If
Next
iJH = Left(tmp, Len(tmp) - 1)
End Function
----------------
然后关闭代码窗口,返回sheet表
现在就可以将这个iJH()函数当做普通函数使用了,他带有两个参数,即数据集所在的两个区域
如果第一集合在 A1:B2 内:
1 3
2 4
第二集合在 E3:F4 内:
1 4
6 7
在其他任意单元格内输入公式
=iJH(A1:B2,E3:F4)
显示结果:
1,4
热心网友 时间:2022-06-18 14:47
enter完成)
=INDIRECT(TEXT(SMALL(IF(COUNTIF($F$1:$J$3,$A$1:$E$3)=0,ROW($A$1:$E$3)*1000+COLUMN($A$1:$E$3)),ROW()),"r0c000"),)
向下填充
PS:未做错误处理