dポイントプレゼントキャンペーン実施中!

ひとつのセル内に、全角文字と半角数字が混ざっているシート(簡単な住所録)があります。
最終的には文字のみ残したいのですがどういう方法がありますか?

たくさんあるデータの中で文字数がばらばらで、頭から何文字目を削除、等の手は使えません。

たぶん検索や置き換えで、半角数字を拾い出せると楽だと思うのですが、どうしたらいいかわからないので・・・宜しくお願いします。

A 回答 (4件)

最初にでてくる半角数値に着目していいなら、A1に元の住所があるとして、B1に



=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890))-1)

とします。
●○区××町2-3-4 → ●○区××町 となります。


全角数値も対応するなら、

=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1)

とすれば

●○区××町2-3-4 → ●○区××町になるでしょう。
    • good
    • 0
この回答へのお礼

すんなり解決です。

大変助かります。ありがとうございました。(((((*^o^*)♪

お礼日時:2002/12/01 16:30

余分な2列を確保して(B列C列と仮にします)、


(1)B1セルに=SUBSTITUTE(A1,"1","")と入れる。
A列データの最下行まで複写する。
B列の値複写をB列に行う。
(2)次にC1セルに=SUBSTITUTE(B1,"2","")と入れる。
A列データの最下行まで複写する。
C列の値複写をC列に行う。
(3)次はB1セルに=SUBSTITUTE(C1,"3","")と入れる。
A列データの最下行まで複写する。
B列の値複写をB列に行う。
(4)以下0、-まで11回交互のセルで行う。
------------
上記は面倒くさい。VBAでやれば一発。
Sub Macro1()
a = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "")
b = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-")
Worksheets("sheet1").Range("a1:a10").Select
For i = 0 To 10
Selection.Replace What:=a(i), Replacement:=b(i), LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
Next i
End Sub
(留意点)
(1)Range("a1:a10").のa1:a10は住所の入っている列の最下行まで指定するよう変えること。
(1)上記は1-->1,2-->2・・・のようにしているが、消してしまいたいなら、上記Replacement:=b(i)の部分をReplacement:="",とすれば良い。
(2)元へ戻すが効かないので、原シートをコピーしたシートなりを作ってテストすること。
    • good
    • 0
この回答へのお礼

とりあえず、前者の方の回答で解決できてしまいました。

いろいろありがとうございました。

お礼日時:2002/12/01 16:33

JIS(文字列) とやれば 全角に変換されます。


もう一列 隣に 挿入して =JIS(A1) とか 入れてあげればいいでしょう。

この回答への補足

半角と全角の変換ではなく、今半角で記入されている数字のみを削除したいのですが、それがひとつのセルに全角文字と混在しているので困っております。

●○区××町2-3-4 → ●○区××町
としたい。

説明不足だったようでスミマセン。

補足日時:2002/12/01 12:54
    • good
    • 0

何をしたいのかよく見当がつきませんが、



次の関数を使うと良いかと思います

関数>文字列操作
 ASC(アスキー)全角を半角に
 JIS(ジス)半角を全角に

では。

この回答への補足

半角と全角の変換ではなく、今半角で記入されている数字のみを削除したいのですが、それがひとつのセルに全角文字と混在しているので困っております。

●○区××町2-3-4 → ●○区××町
としたい。

説明不足だったようでスミマセン。

補足日時:2002/12/01 13:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!