人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelについて質問です。
半角英数と全角文字混在する文字列から全角文字のみを消去し半角英数のみを残す。こんな事をする方法があれば教えてください。

●質問者: tk378mx
●カテゴリ:コンピュータ
✍キーワード:Excel 文字列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hidesh
●30ポイント

http://www.google.co.jp/

Google

全角と半角を相互変換する関数ならありますが、消去はないです。

http://kokoro.kir.jp/excel/asc.html


そこで、全角文字を空白等に置換(A→(空白)、B→(空白)...Z→(空白))し、置換により消去((空白)→消去)するマクロを組まれてはいかがでしょうか

◎質問者からの返答

早速ありがとうございます。

ちょっと説明不足だったので補足しますと、使用するデータは「1ハワイ2グアム」や「a会社員b主婦」の様な形式の日本語を多く含むデータから頭に付く数字又は英数のみを取り出す、と言う事がしたいのです。また同一セルに複数のデータ「1ハワイ2グアム」と続けて入っている場合も有るので左端だけを取り出すと言う関数は使用できません。

最終的には元のデータベースを改良してもらえば何とか成るとは思うのですが、エクセルで簡単にできる方法があれば知りたいのでもう少し続行してみます。


2 ● island_hate
●40ポイント

http://www2.odn.ne.jp/excel/

Excel(エクセル)技道場

入るパターンの数にもよりますが――

例えばB列に入るのは、数字で1?9、C列に入るのは、アルファベットでa?d、といったような法則があり、なおかつ残したいものとそうでないものが「1ハワイ2グアム」というように交互に出現するのであれば、次の方法はどうでしょうか?


1.「1⇒1,」「2⇒2,」といったように、列全体に対して、カンマを後ろにおいた文字に置換する

2.置換した列の後ろに列を可能性のある最大数分明けて、カンマで区切る

3.残したい文字と消したい文字の列は交互に出現するので、1列飛ばしに列を削除する

4.新しい列に「=セル番地&セル番地&セル番地・・・」といった数式を入れ、切り離してしまった残したかった文字をつなげ、それを値に置き換える

5.処理に使用した不要な列を削除する


書き出すと作業が多そうですが、1?9の文字が含まれるもので処理する時間は、1分ぐらいです。行が増えても大きく所要時間は左右されません。マクロを用意すれば、置換のミスもなく済むと思います。


参考になれば幸いです。

◎質問者からの返答

ありがとうございます。

関数ばかり考えていたので気づきませんでしたが、この方法でほぼ解決できそうです。

大変参考になりました、ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ