みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelの文字列操作関数で苗字と名を分けて表示

Excelの勉強をしているものです。文字列操作関数で多数の名前のデータから苗字と名を分けて表示する場合どのようにすればいいのかわかりません。
使う関数は RIGHT関数とFIND関数 取り出す文字数は、「全体の文字の長さ」-「空白1文字の位置」となっていて文字列全体の長さは、LEN関数を使用するとのことです。
大変困っています。どなたか詳しい方おしえてください。勉強中なものでわかりやすくおしえていただければと思います。

投稿日時 - 2011-04-04 19:06:22

QNo.6644363

困ってます

質問者が選んだベストアンサー

こんばんは!
質問内に、
>「全体の文字の長さ」-「空白1文字の位置」・・・
と書いてありますので、姓・名の間には必ず空白があるということですよね?

一応そういうことだとしての一例です。姓・名の間には必ず全角のスペースがあるとしています。
(色々方法はあります。)

↓の画像でB2セルに
=IF(A2="","",LEFT(A2,FIND(" ",A2)-1))

C2セルに
=IF(A2="","",MID(A2,FIND(" ",A2)+1,LEN(A2)-LEN(B2)))

としてB2・C2セルを範囲指定しC2セルのフィルハンドルでオートフィルで下へコピーすると
画像のような感じになります。

質問にある、RIGHT関数を使っても当然可能です。

参考になれば良いのですが・・・m(__)m

投稿日時 - 2011-04-04 20:45:35

お礼

ご回答ありがとうございます。
全角の空白部分がありましたので
姓=LEFT(A1,FIND(" ",A1)-1)
名=RIGHT(A1,LEN(A1)-FIND(" ",A1))
でできました。
他にも方法があるのですね。
大変参考になりました。今後もおしえていただければと思います。ありがとうございました。

投稿日時 - 2011-04-04 21:01:27

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

姓と名の間に半角/全角の空白や-等の区切固定文字が存在する様に作成されていれば、

区切文字の位置を検出し(FINDで)、左からその位置の1文字前までを抽出すれば 姓 が得られます

同様に 全文字数から区切文字検出位置を差し引いたのが名前の文字数です・・・右からその文字数を抽出すれば 名 が得られます

文字が全て全角であれば単純ですが、半角が混在していると工夫が必要です

投稿日時 - 2011-04-04 19:27:53

お礼

ご回答ありがとうございます。
全角の空白部分がありました。
大変参考になりました。
ありがとうございました。

投稿日時 - 2011-04-04 20:57:22

ANo.1

ハッキリ言います。

  無理

Excel に氏名を苗字と名前に分ける機能はありません。
苗字の長さも名前の長さも決まっていませんので、

 菅直人
 海江田万里
 松本龍
 枝野幸男

これではどうにもできません。
一つずつ手で苗字の長さを別のセルなどに入力するくらいでしたら、始めから分けて入力した方が確実です。
…せめて、苗字と名前の間に区切りがあれば何とかなるんですけどね。
その条件が質問文にはありませんので、無理、なんです。

 菅 直人
 海江田 万里
 松本 龍
 枝野 幸男

これなら、スペースの位置を検索して、そこから左右に分けてしまえばOK。


悪いことは言いません。
名前を例にして勉強するのは止めましょう。
郵便番号や電話番号など、区切り文字のある文字列を対象にするようにしましょう。

投稿日時 - 2011-04-04 19:26:45

お礼

ご回答ありがとうございます。
全角の空白部分がありましたのでなんとかわけることができました。まだ勉強中なもので今後もおしえていただければと思います。ありがとうございました。

投稿日時 - 2011-04-04 21:07:31

あなたにオススメの質問