- ベストアンサー
EXCELの同一セルの中にある姓名のぶんかつ方法
EXCELの同一セルの中にある姓名のぶんかつ方法は ありますでしょうか。 姓と名の間には半角or全角のスペースがあります。 →同一セルの中にある、姓名を姓 名と別々のセルに分けたいため。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
分割案は案1の方が個人的に良いと思う。 仮にA列に氏名が入力されているとします。 案1:区切り文字が1文字(半角又は全角)以上ある場合 A列を選択→データ→区切り位置→次へ→区切り文字欄でスペースを選択→完了 因みにB列以降にデータ入力がある場合、A列の右列に1列挿入して下さい。 案2:区切り文字が1文字(半角又は全角)の場合 B列以降にデータ入力がある場合、A列の右列に2列挿入して下さい。 (1)B1に=MID($A1,1,FIND(" ",ASC($A2))-1) (2)C1に=MID($A1,FIND(" ",ASC($A1))+1,LEN($A1)) (3)B1:C1を選択して下方向にコピー (4)B:C列を選択、コピー→形式を選択して貼り付け→値を選択→OK (5)A列を削除
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
こんなところへ質問する前に、Googleででも「エクセル 姓と名に分ける」で照会して、記事を読んでみたか。沢山記事がある。FAQである。 (1)データー区切り位置を使う (2)関数でスペースの前後を切り出す (3)ユーザー関数を作る(VBA) など。 初心者的エクセル関数教信者が(1)を使わないが(1)がお奨め。
- esupuresso
- ベストアンサー率44% (257/579)
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、姓名の元データがA1セルに存在していて、B1セルに姓を、C1セルに名を、それぞれ表示させるものとします。 その場合、B1セルに入力する関数は次の様なものとなります。 =IF(AND(ISNUMBER(FIND(" ",MID(ASC($A1),2,LEN($A1)-2))),LEN($A1)=LEN(SUBSTITUTE(ASC($A1)," ",))+1),LEFT($A1,FIND(" ",ASC($A1))-1),"") 又、C1セルに入力する関数は次の様なものとなります。 =IF($B1="","",REPLACE($A1,1,FIND(" ",ASC($A1)),))
- keithin
- ベストアンサー率66% (5278/7941)
A1セルに「田中 一郎」などを記入し B1セルに =LEFT(TRIM(A1),FIND(" ",JIS(TRIM(A1))&" ")-1) ここで式中の" "の中は全角のスペース C1セルに =MID(TRIM(A1),LEN(B1)+2,9) とします。 #余談 >姓と名の間には半角or全角のスペースがあります この条件が必ずしも満たされていない場合(たとえばスペースが無い,あるいはスペースが2つ以上挟まっているなど)のため,わざと余計な関数を追加しています。
Excel2003までと2007移行では操作法が大きく異なりますので、Excelのバージョンは記しましょう。 分割方は関数を用いる方法と区切り位置を用いる方法があります。 絶対的に区切り位置を利用する方が簡単に済みますが、なぜかQ&Aサイトでは好まれません。 ●氏名を姓名別々のセルに分割する方法-区切り位置(Excel2002以降) - パソコンカレッジ スタッフのひとりごと http://blog.goo.ne.jp/pc_college/e/827bc97fc978f3148883464102a71352 ●同じ機能の2007以降 http://liveway.net/technic/20110308_090123.html ●関数を用いる方法の例 Excel(エクセル)関数の技:文字列を分割/結合する http://www.eurus.dti.ne.jp/yoneyama/Excel/waza/mojiretu02.html http://www.jakushou.com/ture/net/kiai/ex-bunkatu2.html