すべてのカテゴリ » インターネット・パソコン » ソフトウェア » 使い方・不具合

質問

終了

表計算ソフト「三四郎」を使用しています。氏名の間にスペースが入っているデータがあり、氏名を分離したそれぞれのデータが必要になりました。関数などを使用して分割することはできるでしょうか。例えば、「田中 一郎」を「田中」と「一郎」にするように。

  • 質問者:くらら
  • 質問日時:2010-04-22 10:38:35
  • 0

並び替え:

手元に、三四郎がないので一般的な回答になります。
関数1、関数2は「文字列関数」になると思います。
1)関数1を用いて、空白文字(' ')の位置を検出し、その値をP(隣のセルに置く)とする。
 なお、対象文字列「田中 一郎」の長さの値をL(隣の隣のセルに置く)とする。
2)関数2を用いて対象文字列の左端から P-1 文字切り出す。
3)関数2を用いて対象文字列の P+1 から右端までを切り出す。(文字数 L-P )

2)、3)の中にそれぞれ1)の処理を抱え込むこともできますが、すると
 ・空白がない場合
 ・空白文字が全角でなく、半角だった場合
 ・空白文字の後に何もない場合
 の処理がやっかいになります。

エクセルであれば、1)~3)の式を書くことができます。ちょっとお待ち下さい。

===補足===
三四郎が使えるようになりましたので補足します。
A1に「田中 一郎」 ←空白は全角文字と前提
B1に=Find(" ",A1) ←文字列A1の中に空白文字(" ")の位置を検出
C1に=Len(A1) ←A1の長さ
D1=Left(A1,B1-1) ←「田中」と表示される。関数 left を使わずに =mid(A1,1,B1-1) でも良い。
E1=Mid(A1,B1+1,C1-B1) ←「一郎」と表示される。

 C1の式をE1に組み込むことが可能ですが、データがイレギュラーな場合に式を追加することを考えて、独立して設けてあります。
 エクセルでもほぼ同様の式になるでしょう。

  • 回答者:M_S31 (質問から2時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

早速回答していただきありがとうございました。教えていただいたとおりに実行したらできました。本当に助かりました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る