- ベストアンサー
一番右のスペース以降の文字列を抽出したい
winXP Excel2003 外国人の氏名(カタカナ)と敬称が大量に入力されたファイルがあります。 氏名と敬称が同じセルに入っているので、敬称のみを 隣のセルに移したいのですがうまくいきいません。 名前は各国さまざまで、スペースでいくつかに区切られています。 名前の最後にスペース+敬称がついており、敬称の種類はたくさんあります。 (様、氏、閣下、女史)など。 そこで、 「一番右のスペース以降の文字列を抽出」 すればいいかな?と思うのですが、IfやRight、LENなどを 使っても、何が悪いのかエラーが出てしまいます。 区切り位置ウィザードでは、スペース全てで区切られてしまって 氏名がバラバラになってしまいます。 何かいい関数はありませんか? 勉強不足ですみません。宜しくお願いします。 ------------------------------------------- 元データ例) ハリー ポッター 様 セブルス スネイプ 閣下 ボガート 氏 ニコラス ド ミムジー ポーピントン 卿
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- マクロの追加をお願いしたいですm(_ _)m
以前こちらで教えていただきましたマクロを使用していまして、要改善点が2つほど見つかりましたので、どなたかご教授いただけないでしょうか? 現在使用しているマクロと改善希望点を以下に記載しますので、宜しくお願いします。 1.カナが含まれるセルに対して反応させたいです。 2.コマンドボタンを使用して、特定のセルに対して、反応させることは出来ますでしょうか? 以下、現使用マクロです。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False With Target セルの内容 = Replace(.Value, " ", "", 1, -1, vbTextCompare) 'すべて全角文字で 数字を含まない場合 名前 とみなす If Not セルの内容 Like "*#*" And 0 < Len(セルの内容) And _ セルの内容 = StrConv(セルの内容, vbUpperCase Or vbNarrow) And _ セルの内容 = StrConv(セルの内容, vbLowerCase Or vbWide) Then '実際に私が行いたいこと・・「 "さま"を付けて」 敬称 = "さま" .Value = .Value & 敬称 If 30 < .Font.Size Then 'セルのフォントサイズより20下のサイズ .Characters(Start:=Len(.Value) - Len(敬称) + 1, _ Length:=Len(敬称)).Font.Size = .Font.Size - 20 Else 'セルのフォントサイズの70% .Characters(Start:=Len(.Value) - Len(敬称) + 1, _ Length:=Len(敬称)).Font.Size = Int(.Font.Size * 0.7) + 1 End If End If End With Application.EnableEvents = True End Sub 以上、宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- vlookup関数と文字列の足し算
こんにちわ。 別シート(Sheet2)に住所録を作成し、作成シート(Sheet1)にVlookupで住所等をひっぱってこようと思っています。 (住所録は「データ」として名前登録しています) Sheet2 郵便番号 住所 氏名1 氏名2 999-9999 東京都~ 山田太郎 山田花子 その際、別々のセルにある氏名(2名分)を表示させる計算式として =VLOOKUP(B3,データ,3,FALSE)&"様"&" "&VLOOKUP(B3,データ,4,FALSE)&"様" として下記のような結果を出しています。 山田太郎様 山田花子様 このとき、氏名2に名前が入っていないと、 山田太郎様 様 となってしまうのですが、この「氏名2に文字列が入っていないときは”様”を表示しない」ということはできるのでしょうか? どなたかご教示ください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのソートで文字列がうまく並ばない
スポーツの記録集計をしています。 A列に氏名,B列以降に記録,試合名,日時,順位などの個人のデータが入ったワークシートがあります。 試合ごとに記録を入力しているので,元々は試合名,日時順になっており,約90人分のデータが1年間で1700行余りになりました。一人が複数の試合や種目に参加しているので,これを個人別にまとめようとA列の氏名でソートしました。 すると,同じ名前なのに別名と判断されてうまく並ばない箇所がいくつかあります。 氏名は漢字なのでおそらくコード順に並ぶのだと思いますが,ほぼ読みの50音順に並んでいる感じです。ところが,たとえば「山田」さんだったら音読みの「さん」と訓読みの「やま」の2カ所に分かれて出てきたりします。一方のセルを他方のセルにコピーしてやり直せばもちろんうまくいきますが,データ数が多く,手作業はしていられません。またソートした後「山田」さんのデータが一つだけ別のところに飛んでいたりすると気がつかないことも考えられます。 スペースが入っていたりもなく,IF関数で同一のセル内容かどうか判断させると「同じ」という結果になります。どう見ても同じセルがソートで違うものと扱われるということはあるのでしょうか。また,こういうときはどう対処すれば良いのでしょうか。 エクセルに詳しい方,このような経験がおありの方,アドバイスをお待ちしています。
- ベストアンサー
- オフィス系ソフト
- 2つのセルを一つにまとめ、不要な列を削除するマクロ
今度町内会の事務局になり、住民名簿を引き継ぎました。 エクセル2013で見ていると 住民の氏名が、A1名字A2名前A3名字A4名前A5名字.....B1名字B2名前.....といったように、 姓と名前が二つのセルに別れて入力されています。 色々必要なシートを作っていると、どうにも氏名が二つに分かれていると扱いづらい ので2つのセルを一つにまとめて整理しようと思っています。 始めは手作業でAの姓にスペースを入れてBの名前をくっ付け、Bセルを削除していましたが 効率が悪すぎます。マクロでやるにしても、スキルが足らずうまく出来ません。 複数のセルを選択し、上の作業を一気に終わらせる方法はなにかないでしょうか? よろしくお願いします。
- 締切済み
- Excel(エクセル)
- スペースを含んだ文字列から文字列の抽出
エクセルバージョン2007 スペースを含む文字列で、A列に文字列がある時、以下の式を組んで文字列を抽出しています。 先頭にIDの数字が有る場合は、それぞれの目的に合った文字列を抽出しています。 B1=LEFT(A1,SEARCH(" ",A1,1)-1) C1=LEFT(MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),SEARCH(" ",MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),1)-1) 3 3df-32654-10 CCCCHH 10 1ab-12345-00 AAABBBB この文字列の場合、B列に3と10が表示、C列に 3df-32654-10 1ab-12345-00が表示されます。 先頭に、IDの無い文字列は以下の様な構成です。 6rt-95132-00 PPPKKK この文字列の場合、B列に6rt-95132-00、C列にPPPKKKが表示されてしまい、この場合、IDの数字が無い場合はB列には表示させない又は、C列に6rt-95132-00させたいと思っています。 ご教授頂ければ幸いです。 以上、宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 困っています!教えてください!!!名字と名前の間に「全角スペース」を入れる方法
現在作成している名簿の氏名表示が 「日本太郎」「東京ばなな」「北海道旭」のように 一つのセル内で名字と名前の間にスペースがなく とても分かり難い表示になっています。 そこで、 「日本 太郎」「東京 ばなな」「北海道 旭」のように 名字と名前の間にスペースを入れたいのです。 何か良い方法がないかな、、、と考えていても 置換では出来ないし(?)、良い方法が浮かびません・・・。 どなたか計算式(関数)を教えてください、お願いします。 (エクセル2000です) また、もし計算式(関数)ではなく、もっと簡単な方法があったら 是非教えていただきたいです。 膨大な量の修正なので、一つ一つスペースを入れていては とても時間が掛かるので、困っています。。。 どなたか詳しい方、知恵を貸してください。 ちなみにエクセルの基本的な操作ならだいたいは理解しています。 どうぞ宜しくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセル 文字の振り分け
すみません、教えて頂けますでしょうか。 VBAまたは関数で、1つのセル内にある文字を抽出して、 4つのセルにそれぞれ振り分けたいのですが、 RIGHT、MID、LEFT、FINDを組合せてもうまくできなくて困っています。 例えば1つのセルに、 A1 名前 :松下 小太郎(マツシタ コタロウ) A2 名前 :山田 佐吉(ヤマダ サキチ) のように入っていた場合に、別シート・同一シートのどちらでも良いので、 姓 名 フリ姓 フリ名 B1 松下 C1 小太郎 D1 マツシタ E1 コタロウ B2 山田 C2 佐吉 D2 ヤマダ E2 サキチ としたいのですが、松下小太郎が松下まで取り出せても、 名前の長さが変わると、 B2山田 佐 C2 吉 ヤ のようになったりしてしまいます。 VBAでは、 '購入者『姓』 '入力シート“購入者名”の値を変数に格納 myStr = Worksheets("入力シート").Range("B9").Value '変数から":"を検索して、右側を抜出して格納し直す myStr = Right(myStr, Len(myStr) - InStr(1, myStr, ":")) :のところまで左を削る myStr = LEFT(myStr, Len(myStr) - InStr(1, myStr, " ")) 左からスペースまで削る myStr = LEFT(myStr, Len(myStr) - InStr(1, myStr, " ")-1) ・・・・ のようにmyStrに入れた変数を再度削るという風に考えて やってみたのですが、できませんでした。 (上記コードはざっくりとこんな感じにしましたという イメージで書きましたので合っていません。) みなさま、お忙しい最中と思いますが、 何卒お力添えを頂けませんでしょうか? よろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- EXCELの住所録で年賀状
来年から年賀状の住所氏名だけを、年賀状ソフトで印刷しようと考えているのですが、ソフトによってはEXCELで作成した住所録データを、年賀状ソフトの方に汎用させることができる、という記事を目にしました。 そうだとすると、EXCEL上でどんな項目で住所氏名を整理すればよいか、たとえば名前は氏と名を別のセルに分けて記入した方がいいのか、都道府県と市町村と番地は別のセルの方がよいか、など、経験者の方にアドバイスをしていただきたいです。 また、住所氏名に強い年賀状ソフトがあったら、教えてください。
- ベストアンサー
- オフィス系ソフト
- EXCELで文字列内のスペースの抽出
EXCEL2000を使用しています。 A列に文字列が300行ほど入力されています。 ある条件で、各文字列の先頭にスペース(空白)が0個~3個ついています。 いま、文字列の先頭にあるスペースの数をB列に表示させたいのですが、 どのような関数を使えば良いでしょうか。 ご存じの方、ご教授下さい。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数について詳しい方、助けてください!
すみません、エクセルの関数について詳しい方、教えて頂けませんか? Q1 A1セルに、 [商品名]:キャンディ イチゴ味[CAN-01] 100 円 x 10 個 [商品名]:もぐもぐグミ グレープフルーツ[MOGUGUMI-02] 80 円 x 5個 など、長さが違う文をペーストします。 B1~E1セルに計算式を入れ、A1セルを分けて入れたいです。 B1に、 キャンディ イチゴ味 C1に、 CAN-01 D1に、 100 E1に、 10 と入れる計算式が知りたいです。 Q2 A1セルに、 お名前 : 山田 太郎 (ヤマダ タロウ) 様 お名前 : 長谷川 太一郎 (ハセガワ タイチロウ) 様 など、長さが違う文をペーストします。 B1~C1セルに計算式を入れ、A1セルを分けて入れたいです。 B1に、 山田 太郎 C1に、 ヤマダ タロウ と入れる計算式が知りたいです。 MID?LEN?自分でもやってみたのですが、出来ません。。。 すごく困っています。よろしくお願い致します!
- ベストアンサー
- その他MS Office製品
- 多嚢胞性卵巣で卵が育ちにくく、薬を内服しています。前回クロミッドを内服し、内膜が厚くならず薄かったため、今回はレトロゾールを内服しました。
- 8/11-8/16に生理があり、8/15から8/19までレトロゾールを内服しました。8/22に卵胞が25mmになり、オビドレル皮下注0.5mlを行いました。その後、8/24に排卵があり、8/26にhgc注射を行いました。
- 9/4にドゥーテストが薄く陽性になり、9/6には線が濃くなりました。hgc注射の影響が10日間くらい残ると言われていますが、濃くなったということは妊娠の可能性があると言えます。
お礼
一番うまく行きました! ありがとうございます!! 三文字の敬称もあるのですが、全体では少ないほうなので 個別で直すことにします。 思っていたより難問で 自力では太刀打ちできませんでした… 本当に助かりました。