EXCEL自定义JOINIF函数连接文本

对于连接两个工作表来筛选数据,最常用的用vlookup。但是vlookup没有办法将筛选出的所有结果放在一个单元格中。这就需要自定义joinif函数。

按ALT+F11,打开VBA编辑器,新建一个模块,把下面的自定义函数代码复制到模块中,关闭VBA编辑器

Function JOINIF(Rng1 As Range, Str, Rng2 As Range)
    Dim arr, brr
    Dim i As Long
    Dim j As Long
    Dim MyStr As String
    If Rng1.Rows.Count > 65536 Then
        arr = Rng1.Resize(65536, Rng1.Columns)
        brr = Rng2.Resize(65536, Rng1.Columns)
    Else
        arr = Rng1
        brr = Rng2
    End If
    For i = 1 To UBound(arr)
        For j = 1 To UBound(arr, 2)
            If arr(i, j) <> "" Then
                If arr(i, j) = Str Then
                    MyStr = MyStr & brr(i, j) & ","
                End If
            Else
                Exit For
            End If
        Next j
    Next i
    JOINIF = Left(MyStr, Len(MyStr) - 1)
End Function

然后,就可以作为函数正常使用了。

joinif(参数一,参数二,参数三)

第一参数:(必须)条件区域,根据条件计算的单元格区域。区域,绝对引用
第二参数:(必须)用于确定连接的条件。单元格,
第三参数:(必须)要连接的实际单元格区域。

示例

本文作者: Colin
本文链接: https://www.colinjiang.com/archives/excel-joinif-function.html
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 4.0 许可协议。转载请注明出处!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇