Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
文字列の抽出について
投稿日時: 20/09/09 15:32:03
投稿者: Yoasn_3218

CSV出力された列データとして
 
氏名(漢字)␣ 氏名(ローマ字)
 
 
氏名(漢字)␣ 所属先(漢字) 
 
 
のような文字列のデータ(文字列)から氏名(漢字)部分だけを抽出するにはどうすればベストでしょうか?
FIND関数で␣を目印としても漢字名で姓、名の間に␣が入っていたりします。
 
ご教示お願いします。

回答
投稿日時: 20/09/09 17:22:01
投稿者: WinArrow
投稿者のウェブサイトに移動

>␣
これは、どのような文字列ですか?
 
 
この文字を区切り文字として
「区切り位置」機能で分割すればよいかと思います。

回答
投稿日時: 20/09/09 17:35:30
投稿者: んなっと

           A      B
1  小田 聡 Oda Satoshi   小田 聡
2      照英 Shoei     照英
3 角田 幸太郎 総務部長 角田 幸太郎
4 遠藤 俊介 専務取締役  遠藤 俊介
5   習近平 Xi Jinpin  習近平 Xi
 
B1
=TRIM(LEFT(SUBSTITUTE(A1," ",REPT(" ",100),INT((LEN(A1)-LEN(SUBSTITUTE(A1," ","")))/2)+1),100))
下方向・↓
 
とか
=TRIM(IFERROR(LEFT(A1,MATCH(TRUE,INDEX(ABS(CODE(MID(A1,ROW($1:$101),1))-80)<48,),0)-1),LEFT(SUBSTITUTE(A1," ",REPT(" ",100),INT((LEN(A1)-LEN(SUBSTITUTE(A1," ","")))/2)+1),100)))

回答
投稿日時: 20/09/09 18:46:24
投稿者: んなっと

           A      B
1  小田 聡 Oda Satoshi   小田 聡
2      照英 Shoei     照英
3 角田 幸太郎 総務部長 角田 幸太郎
4 遠藤 俊介 専務取締役  
5   習近平 Xi Jinpin  
 
あと、B1:B3に上のように模範解答を入れておいてフラッシュフィルを使う方法もあります。

投稿日時: 20/09/10 09:57:09
投稿者: Yoasn_3218

>>これは、どのような文字列ですか?
 
 
␣ は、スペースを表現するためによく使われる便宜上のもので文字ではありません。
 
 
回答内容が文字を認識ポイントとしての回答でしたら申し訳ありませんが使えません。
(まだ詳しく回答内容を検討しきれていないのですが)
 
 
頂いた回答内容を検討しますが、上記のようにスペースが抽出すべき文字列に含まれている。
さらに漢字表記の文字列にも姓と名の間にスペースが含まれているという条件で再度ご回答を
頂けないでしょうか?
 
よろしくお願いします。

回答
投稿日時: 20/09/10 11:13:22
投稿者: んなっと

引用:
回答内容が文字を認識ポイントとしての回答でしたら申し訳ありませんが使えません。

時間の無駄なので、先に試してから書き込んでください。

回答
投稿日時: 20/09/10 15:54:05
投稿者: QooApp

CSVであるのなら、WinArrowさんやんなっとさんが指摘している通り、
一度その箇所で区切ってしまってセルに展開すればいいんじゃないでしょうか。
 
CSVの「区切り位置機能」でセルに取り込むか、CSVをテキストエディタで開いて「␣」をカンマに置換してエクセルに取り込む。区切り位置ごとにセルに書き出されますから組み合わせたい条件ごとに編集するのではだめですか?数千件ありますって言うならば、取り込んだ後、パターンごとに関数用意して組み合わせていくほかないかと。
 
というか、そもそも

引用:
CSV出力された列データとして

ということは、CSVデータの大元を管理編集している何らかのソフトやデータがあるんですよね。そっちで出力する項目の区切り指定できないんでしょうか。
 
まずはCSVで出力するときの設定を変える事を目指したらどうですか。

投稿日時: 20/09/11 08:22:29
投稿者: Yoasn_3218

CSV出力の際の設定はシステムの都合で不可能な仕様です。
→ソフト作成者にカンマなどで分離できるように改良を申し入れています。
 
別形式の文字列データ(別々のファイル)を統一形式にした一列データにするのが最終目標です。
CSV出力したものを個別にEXCELの機能で別列にすることは確かにできます。
関数を取り入れ、マクロで一括処理できるまでにしたい、という依頼を受けてのことです。
 
回答頂いた関数応用の例の理解から別角度(ソフト改良を想定)の再検討までを行おうと思います。
 
いったんここでCloseさせて頂きます。
 
ありがとうごさいました。