この記事では、テキスト文字列からn番目の単語を抽出する方法を学習します。 VBAコードを使用してUDFを作成し、文字列内のn番目の単語を検索します。

以下の手順に従う必要があります:

[開発者]タブをクリックします。[コード]グループから、[VisualBasic]を選択します

img1

  • [挿入]、[モジュール]の順にクリックします

img2

  • これにより新しいモジュールが作成されます。

モジュールに次のコードを入力します

関数ExtractNthWord(x As String、y As Integer)

Dim word()As String

Dim wordCount As Long

ワード= VBA.Split(x、 “”)

wordCount = UBound(word)

If wordCount <1 Or(y –1)> wordCount Or y <0 Then

ExtractNthWord = “”

その他

ExtractNthWord = word(y-1)

終了If

終了関数

img3

新しいUDF式はExtractNthWordという名前で作成されます。2つのパラメーターがあります。 1つ目はデータを抽出する必要のあるルックアップセルで、2つ目はn番目の番号です。

以下はデータのスナップショットです:

img4

  • 列Aから2 ^ nd ^の単語を取得するには、式は

になります。 === = ExtractNthWord(A2,2)

img5

  • 同様に、3 ^ rd ^単語を抽出するには、式は

になります。 === = ExtractNthWord(A2,3)

img6

  • ヘルパーセルを使用して2番目の引数の値を格納できます。これにより、結果をより早く確認できるようになります。

  • ここで、ヘルパーセルはD1であり、出力として表示するn番目の単語数を入力できます。

img7

これで、セルD1の数値を変更するだけで、結果はそれに応じて自動的に変更されます。