シート上でSplit関数っぽく振舞うユーザー定義関数を作ってみた

既に世の中にあるとは思うが、シート上でSplit関数っぽく振舞うユーザー定義関数を作ってみた。
f:id:Infoment:20190604184555p:plain

「split関数もどき」ということで、分割した〇番目の要素を返す関数となっている。

Function SubSplit(expression As String, _
         Optional delimiter As String = ",", _
         Optional index As Long = 1) As String

    Dim arr As Variant
        arr = Split(expression, delimiter)

        ' 配列が0始まりのため。
        index = index - 1

        If UBound(arr) < index Then
            SubSplit = "要素の上限を上回っています。"
        ElseIf index < 0 Then
            SubSplit = "要素の下限を下回っています。"
        Else
            SubSplit = arr(index)
        End If
End Function

使い方は、こんな感じで。指定文字列を「,」で区切った〇番目の文字を返している。1番目なら「あ」、2番目なら「い」のように。
f:id:Infoment:20190604184923p:plain

意外と、使えそうな気がしてます。

参考まで。