Excel で、姓、名としてフォーマットされている名前を、名の頭文字とアンダースコアの姓としてフォーマットする方法はありますか?

Excel で、姓、名としてフォーマットされている名前を、名の頭文字とアンダースコアの姓としてフォーマットする方法はありますか?

私の Excel スプレッドシートは別のタブから名前を取得し、Smith, John としてフォーマットされています。その名前を使用する Vlookup 数式があるため、手動で処理せずに再フォーマットすることはできません。別のタブには、名前が j_smith としてフォーマットされているデータがあり、このタブの同じ領域に入力するための Vlookup 数式が必要です。名前が 500 近くあるため、Smith, John を j_smith に変換して、全員に手動で略語を入力しなくても済むようにする数式があるかどうか知りたいです。

答え1

次の式を試してください:

=LOWER(MID(A1,FIND(",",A1)+2,1)&"_"&LEFT(A1,FIND(",",A1)-1))

ここに画像の説明を入力してください

答え2

答えはいくつかあります。簡単なものもあれば、そうでないものもあります。おそらく、LEFT、MID、FIND 関数を組み合わせて使用​​します。& を使用していつでも文字列を作成できます。

  • MID(文字列、開始点、文字数)
    • したがって、セル A1 の 4 番目の文字が必要な場合は、=MID(A1, 4, 1) を使用します。

問題は、どの文字から始めればよいかわからないことです。そこで、これを FIND と組み合わせます。

  • FIND(検索する文字列、検索対象)
    • スペースの後の文字が必要なことはわかっているので、=FIND(A1, " ")+1 は、1 番目の名前の最初の文字に置きます。1 番目の名前の頭文字を取得するには、上記の MID 関数の 4 の代わりに FIND を使用します。

姓の場合は、LEFT 関数を使用できます。

  • LEFT(テキスト文字列、文字数)
    • 繰り返しになりますが、姓の長さはわかりませんが、FIND 関数を使用するとスペースがどこにあるかがわかります。

そして、& を使用すると、いつでも物事をまとめることができます。

  • ="こんにちは" & " " & "世界"

最終結果は次のようになります。

  • =MID(A1, FIND(A1, " ")+1, 1) & "_" & LEFT(A1, FIND(A1, " "))

関連情報