winXP Excel2003
外国人の氏名(カタカナ)と敬称が大量に入力されたファイルがあります。
氏名と敬称が同じセルに入っているので、敬称のみを
隣のセルに移したいのですがうまくいきいません。
名前は各国さまざまで、スペースでいくつかに区切られています。
名前の最後にスペース+敬称がついており、敬称の種類はたくさんあります。
(様、氏、閣下、女史)など。
そこで、
「一番右のスペース以降の文字列を抽出」
すればいいかな?と思うのですが、IfやRight、LENなどを
使っても、何が悪いのかエラーが出てしまいます。
区切り位置ウィザードでは、スペース全てで区切られてしまって
氏名がバラバラになってしまいます。
何かいい関数はありませんか?
勉強不足ですみません。宜しくお願いします。
-------------------------------------------
元データ例)
ハリー ポッター 様
セブルス スネイプ 閣下
ボガート 氏
ニコラス ド ミムジー ポーピントン 卿
No.3ベストアンサー
- 回答日時:
様、氏、閣下、女史などの敬称で最長のものが2文字なら、これでいけると思います。
=MID(RIGHT(A1,3),FIND(" ",ASC(RIGHT(A1,3)))+1,2)
もし3文字の敬称もあるなら
=MID(RIGHT(A1,4),FIND(" ",ASC(RIGHT(A1,4)))+1,3)
ただし、これは敬称が1文字でスペースの前の文字列も1文字の人、たとえば、「アイ ウ 様」 みたいのがいたらダメです。(そんな人いないかな)
一番うまく行きました!
ありがとうございます!!
三文字の敬称もあるのですが、全体では少ないほうなので
個別で直すことにします。
思っていたより難問で 自力では太刀打ちできませんでした…
本当に助かりました。
No.5
- 回答日時:
不備を修正し、かつ3文字にも対応させました。
=IF(4-LEN(SUBSTITUTE(JIS(RIGHT(A1,4))," ",""))=1,MID(RIGHT(A1,4),FIND(" ",
JIS(RIGHT(A1,4)))+1,3),MID(RIGHT(A1,3),FIND(" ",JIS(RIGHT(A1,3)))+1,2))
No.4
- 回答日時:
「配列数式」での計算になります。
敬称は「妃殿下」であろうが「大統領閣下」であろうが、何文字でも構いません。ただし、中国人の方のように「名前」の方に漢字が入っていたらサッパリダメです。
1)A1:A4 に「元データ例)」が入っているとして、B1 に
=LEFT(A1,SMALL(IF(CODE(MID(A1,ROW(INDIRECT("$A1:$A"& LEN(A1))),1))>12320,ROW(INDIRECT("$A1:$A"& LEN(A1))),LEN(A1)),1)-1)
と入力し、[Shift]・[Ctrl] キーと同時に [Enter] キーを押下して確定します。
このとき、数式バーには「{ }」で括られた式が入ります(配列数式)。
2)以上で、B列に敬称以外が入りましたので、今度は、C1 に
=SUBSTITUTE(A1,B1,"")
と入力し、普通に [Enter] で確定します。
3)B1:C1 を選択して、下方向に必要分コピーします。
4)最後にB・C列を選択し、形式を選択して「値」で貼り付けます。
ありがとうございます!
やってみました。
カタカナの人はうまくできました!
ただ、漢字名もたくさんあったこと、
あとなぜか、エラー(#VALUE!)が出てしまうところがありました
思ったよりも難しい課題で 一人では太刀打ちできませんでした。
ご助言感謝します。ありがとうございました!
No.2
- 回答日時:
少し長くなりますが、組込み関数でもできます。
以下、元の文字列がA1セルにあるとします。
●A案
最後のスペースを短剣符に置き換えて、短剣符を探す
・最後の全角スペースより後方の文字列(敬称)
=RIGHT(A1,LEN(A1)-FIND("†",SUBSTITUTE(A1," ","†",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
・最後の全角スペースより前方の文字列(氏名)
=LEFT(A1,FIND("†",SUBSTITUTE(A1," ","†",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)
●B案
右から1,2,3,4文字目を順次切り出して、スペースであるかどうかを調べる。
敬称部分が3文字以下という前提で。
・最後の全角スペースより後方の文字列(敬称)
=RIGHT(A1,MATCH(" ",LEFT(RIGHT(A1,{1,2,3,4}),1),0)-1)
・最後の全角スペースより前方の文字列(氏名)
=LEFT(A1,LEN(A1)-MATCH(" ",LEFT(RIGHT(A1,{1,2,3,4}),1),0)+1)
ご参考まで。
No.1
- 回答日時:
関数で右から文字を数えるのは見あたらないのでユーザー定義関数にしてみました。
参考までに
Option Explicit
Dim L, A
Function RightStr(MyStr)
L = Len(MyStr)
For A = L To 1 Step -1
If Mid(MyStr, A, 1) = " " Then
RightStr = Mid(MyStr, A + 1, L - A)
Exit For
End If
Next A
End Function
す、すみません
これをどこに入れたらいいのかわかりませんでした・・・
多分私のやり方が悪いと思うのですが
元データが崩れてしまいました
思ったよりも難しい課題で 一人では太刀打ちできませんでした。
ご助言感謝します。ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
自分のセンスや笑いの好みに影響を受けた作品を教えて
子どもの頃に読んだ漫画などが その後の笑いの好みや自分自身のユーモアのセンスに影響することがあると思いますが、 「この作品に影響受けてるな~!」というものがあれば教えてください。
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
エクセルにて、右から最初のスペース以降を消去
Excel(エクセル)
-
スペースとスペースの間の文字を抽出する関数
Excel(エクセル)
-
エクセルで最初のスペースまでの文字列を削除したい
Excel(エクセル)
-
-
4
エクセルでセル内の文字列の最後のスペース以下を削除するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextFieldParserの固定長桁数を...
-
ファイル名の一部削除について
-
EXCELのVBAでLenB関数について
-
Access VBAの参照設定(DAO)につ...
-
CString型 全角半角を意識せず...
-
指定バイト目を取り出すにはど...
-
エクセルで13,410円を数値の134...
-
XMLでデータとして画像を指定す...
-
INT64対応のprintf系関数はあり...
-
VBA 変数名に変数を使用したい。
-
Excel2010のinputboxで複数デー...
-
WORD型をCString型に変換する方法
-
accessでフィールド追加のあと...
-
配列のペースト出力結果の書式...
-
SQLを発行とは?クエリの作成と...
-
他のMDBのテーブルに追加したい
-
vba フィルター 複数条件 3つ以...
-
クリスタルレポートで文字列の...
-
Accessのフィールド名に半角括...
-
VBとアクセスでSQL文に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのVBAでLenB関数について
-
ファイル名の一部削除について
-
StrConvでUnicodeに変換出来な...
-
TextFieldParserの固定長桁数を...
-
CString型 全角半角を意識せず...
-
文字列から、null値を除去する方法
-
一番右のスペース以降の文字列...
-
機種依存文字と特殊文字について
-
VBからID3タグをいじる方法
-
エクセルで13,410円を数値の134...
-
アクセス ステータスバーの文...
-
ASC関数
-
WSTRINGとは?
-
VB6のテキストボックスに入力し...
-
「シフトJIS X 0213」形式の文...
-
VB6.0 文字列のファイル書...
-
マルチバイト混在の文字列整形
-
C言語とWin32APIで全角かなの...
-
ワードのVBAで
-
Access VBAの参照設定(DAO)につ...
おすすめ情報