• ベストアンサー

Excelの文字の取り出し

Excelシートからの文字の取出し方法で悩んでいます。 1セルに氏名が入っていて、そちらから姓と名を別々に取り出したいと思っています。(姓と名の間には全角スペースが入っているデータです) MID関数やLIFT関数では、任意の文字数の指定が必要ですが、 氏名のため、姓名の長さが一定ではなく、指定することができません。 なにか良い方法はないでしょうか?(抽出方法はEXCELや関数に限りません) よろしくお願いします。

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

  • ベストアンサー
回答No.4

それではLeft関数で姓を、RIGHT関数で名を出して見ましょう。 A1に名前が入っているとします。 A1  鈴木 一郎 姓  =LEFT(A1,FIND(" ",A1)-1) 名  =RIGHT(A1,LEN(A1)-FIND(" ",A1)) Find関数は、文字列の中に対象となる文字が何文字目に入っているかを出せる関数です。 Len関数は、文字列の文字数を出せる関数です。

EIN1935
質問者

お礼

ご回答ありがとうございました。 関数の解説までつけていただきわかりやすかったです。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例ですが、次の方式で如何でしょうか。 姓は=LEFT(セル,FIND(" ",セル)-1)、名は=RIGHT(セル,LEN(セル)-FIND(" ",セル))

EIN1935
質問者

お礼

ご回答ありがとうございました。 同じ回答の方が複数いらっしゃったので、一般的な方法だったのですね。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

A1="姓 名"として B1=LEFT(A1,FIND(" ",A1&" ")-1) C1=TRIM(RIGHT(A1,LEN(A1)-LEN(B1)))

EIN1935
質問者

お礼

素早いご回答ありがとうございました。 簡潔でわかりやすかったです。

回答No.1

関数を使わなくても「データ」→「区切り位置」でスペースを選べば、できますよ。

EIN1935
質問者

お礼

回答ありがとうございます。 スペースは既に試しました。 姓、名の後ろにもスペースを含んだ内容(データ)があるため 対応は難しいと思いました。

関連するQ&A

  • Excelの関数について

    エクセルで表を作っているのですが、関数についてひとつ質問です。 VLOOKUPなどの検索関数で、検索値として参照する値にひとつのセルの中の一定の文字列を指定したい場合はどうすればよいのでしょうか? MID関数で抽出しようとしたのですが、どうも関数で抽出した値はエラーが出るようで・・・。どなたかわかる方いらっしゃったら回答お願いします。

  • スペースをあける関数

    エクセルで一つのセルに姓名が入ってますが、姓と名の間にスペースを入れる関数とそのやり方を教えてください 確かMID関数だつたとおもいますが・・・・・・・・・・

  • エクセル 文字列で右から一文字づつ文字を抽出したい

    エクセル2010を使用しています。 mid(抽出したいセル,左からの文字数,抽出したい文字数)と作業を行ってきましたがmid関数は常に左から抽出されるようです。 そこでright(抽出したいセル,抽出したい文字数)と試みましたが、一番右はOKですが2文字目、3文字目とどのように抽出してよいかわかりません。 どなたかご教授いただけませんでしょうか。

  • EXCELの同一セルの中にある姓名のぶんかつ方法

    EXCELの同一セルの中にある姓名のぶんかつ方法は ありますでしょうか。 姓と名の間には半角or全角のスペースがあります。 →同一セルの中にある、姓名を姓 名と別々のセルに分けたいため。

  • こんなことエクセル関数でできますか?

    お世話になります。 エクセルの1列に日本人の氏名が約2000名分並んでいます。1セル1名なので例えばA1セル~A2000セルに2000名分の氏名が入力されているといった感じです。 氏名は全角漢字で姓と名の間に全角のスペースが入っています。 ここで、この2000名の中で同姓同名(漢字が全て同じ)を即座に知る方法を探しています。 例えば、山田 太郎がA1、A409、A1765にあり、佐藤 花子がA222、A288にある事実を簡単に知る方法を探しています。 エクセルの関数を使って出来ないでしょうか? (関数が入力された1列2000行に2000名の名前を貼り付けると、B1、B409、B1765に山田 太郎が返ってくるとか・・・。) 宜しくお願いいたします。

  • 全角・半角混在の文字列から半角文字のみ取り出す

    エクセル勉強中です。問題集で理解できないところがあります。 数式がどういう意味をもつのか教えて頂けるとありがたいです。 よろしくお願いします。 画像添付の問題になります。 A列に製品名が入っています。(製品番号:半角文字)(製品名:全角文字) B列に半角文字の製品番号だけを取り出しなさいというものです。 半角文字の開始位置がバラバラになっているところが問題のポイントになっています。 回答ですが B2: =MID(A2,MATCH(1,INDEX(LENB(MID(A2,COLUMN(2:2),1))*1,0),),LEN(A2)*2-LENB(A2)) こちらで半角文字のみ取り出せるようです。回答には数式のみで何故この関数を使うのか? 使うことでどういった結果を導くなどの解説が一切ありません。(ちなみに出版会社の便利技的な問題集です) MID関数で製品名A2から開始位置を指定して、全角半角をLEN関数LENB関数で半角文字数を 算出して文字列を抽出するという事は理解できます。 ただ、この開始位置の指定の所が理解できません。 数式を分割してみましたが =MID(A2,COLUMN(2:2),1)の所はどの行も製品名の1文字目ですよね・・・ その値にLENB関数で文字数? 数式の検証で見てみると配列のような結果が次々と現れて・・・ MATCH関数もありますしINDEX関数が何か関係しているような気はしているのですが、 INDEX関数と言えば配列に行番号・列番号と例えば表の該当するセルの位置抽出の 知識しかありません。一つのセルでINDEX関数? すいません。独学で勉強していてこの程度の知識ですが、この数式の考え方教えてくださる方よろしくお願いします。

  • エクセルの文字列操作

    住所録の様式で A列にNo、B列に氏名、C列に住所のファイルがあり、 C列の住所で、1個のセルに何故かしら「住所と電話番号」が入っています。 住所と電話番号を夫々別の列に分割したくて、 電話番号は、RIGHT 関数で取り出しました。 住所は、文字数が一定でないので、LEFTまたはMID関数では出来ません。 ここで質問です 住所データの末尾に混在する電話番号は10文字の場合に限定し、 文字数の異なる、住所(○○市XX町△△番地○△荘2-103など)のみ 抽出する方法はありませんか。 なお、VBAなどは無知です、エクセル関数だけの操作があれば教えてください。

  • エクセルの文字列操作

    (1)A列にファイル名(文字数任意)と拡張子(文字数任意)が入力されています。 fileAaa.exl fileBbbbb.exlx fileCc.doc fileDddd.docx (2)↑のデータからMID関数を使ってB列にファイル名 C列に拡張子を表示させたい 質問1. A列の拡張子"."の位置が左から何文字目かを知るための関数名を教えてください。 質問2. MID関数やBVA以外でもっと簡単にできる方法があればおしえてください。

  • エクセルの質問:特定の文字列の有る無しで行を分ける

    エクセルの質問です。 1.姓名分割 姓名が一緒になっているリストがあります。 姓の後ろには:姓 名の後ろには:名と書かれています。 例 「六川:姓 六三郎:名 録太郎:名 六之助:名 六郎:名 六角:姓 六本木:姓 和井田:姓」 これをエクセルに張り付けて、 姓名を別々の行に分けることはできますでしょうか。 2.姓名で分割したものを、更に姓名で組み合わせたリストを作ることはできますか。 例 「六川 六三郎 六川 録太郎 穴川 六之助」 等

  • エクセルで、MID関数で抽出した文字を独立させたい

    エクセル初心者のため、お見苦しい文章で申し訳ありません。 WORDに入力されたアンケート結果をEXCELに移した際に、 例えば1つのセルにある「A:50% B:25% C:25%」という文字列を、 MID関数を使ってそれぞれ別のセルに抽出しました。 (それぞれ、"=MID(A2,3,3)"、"=MID(A2,10,3)"、 "=MID(A2,17,3)"という感じです) 設問がいくつもあるので、 その関数を十字でコピーしたほうが楽かと思いまして・・・ ところがそもそもグラフを作りたくてエクセルに移したのですが、 「50%」というのはただの関数の結果であって、 数字どおりのグラフが作れないと気づきました。 これを、「50%」という文字列だと 認識させてグラフを作る方法は何かあるでしょうか? それともやっぱりめんどくさがらずに、 1から打ち込んだほうが早いのでしょうか・・。 わかりづらい質問で申し訳ありません。 よろしくお願いいたします。

専門家に質問してみよう