- ベストアンサー
Excel半角カタカナで苗字のみを抽出する方法
- Microsoft Excel2007で住所録を編集中です。B列に半角カタカナで氏名(苗字 名前)が何千行と記入されています。空白のA列に、苗字のみをコピーして貼りつけたい方法を教えてください。
- 住所が半角・全角バラバラに記入されているため、優先順位をつけて昇順に並べ替えようと思っています。優先キー1:苗字、優先キー2:郵便番号、優先キー3:住所にして、同じ住所を見つけやすくしたいです。
- Excelの操作は初心者レベルで、マクロは記述していただいたものを使うことができます。宜しくお願いします!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
最初に、住所を半角変換されてはいかがでしょうか。そうすれば、住所での並べ替えで家族ごとに分けることができます。そこで次のようなマクロを考えてみました。このマクロは変換したい範囲を選択した上で実行してください。 Sub StrConvNarrow() Dim aCell As Range Application.ScreenUpdating = False For Each aCell In Selection aCell.Value = StrConv(aCell.Value, vbNarrow) Next Application.ScreenUpdating = True End Sub
その他の回答 (3)
- stuff_ppo
- ベストアンサー率62% (27/43)
名字と名前の間に必ず半角スペースが入っているのですね? B1に「ヤマダ タロウ」 A1に「=LEFT(B1,FIND(" ",B1))」 と入力すれば、B1から名字だけ持ってくる事ができます。 完成したA1をコピー → A2から必要なところまではりつければ、 ほかの行でも同じ事ができます。
お礼
ご回答いただきありがとうございます! なるほど、そんなやり方も… 今回はデータが何千件もあり、オートフィルが大変だったので他の物を使わせていただいたのですが、大変勉強になりました! 応用がききそうなので、試してみます。 本当にありがとうございました!
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、A列の適当なセルに次の数式を入力して下さい。 =IF(ISERROR(FIND(" ",INDEX($B:$B,ROW()))),"",LEFT(INDEX($B:$B,ROW()),FIND(" ",INDEX($B:$B,ROW()))-1)) ※念のため、数式中の" "の部分は、コピー&ペーストではなく、キーボード入力によって入力して下さい。 次に、そのセルをコピーして、B列において氏名が入力されている全てのセルの左隣のセルに、貼り付けて下さい。 以上でA列に苗字のみが表示されますから、後はA列を基準にソートして下さい。
お礼
ご指導いただきありがとうございました! 自分では数式を書くことができないので、大変勉強になり、助かりました。 本当にありがとうございました。
- SaKaKashi
- ベストアンサー率24% (755/3136)
B列の前に2つの列を挿入します。 もとのB列(氏名のある列)を選択してCNTL+C A列を選択して貼り付け A列を選択してメニューのデータから区切り位置を選択 カンマやタブなどの区切り文字によって...を選択して次へ 区切り文字スペースにチェック、それ以外はチェックを外す 次へを押して、完了 不要なら新しいB列を削除
お礼
ご回答ありがとうございます! 初心者の私でもわかる操作で、大変たすかりました。 これで住所録がきれいに整理できそうです。 本当に、ありがとうございました。
お礼
前回に引き続きまたご指導いただき、本当にありがとうございます! まさか全て半角に置き換えることができるとは…そんな便利なことができるだなんて知りませんでした。 これでだいぶ作業が楽になりました。 本当に毎回、ありがとうございます。 感謝してもしきれないほど感謝しております!