[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ハイフン[-]と長音[ー]の区別』(ネオ)
A1セルに住所データがあります。その中には番地を示す部分にハイフンと長音が混在しています。
例えば、東京都○○区1−2-3オーシャンホテル
このようなデータで、番地を示す部分に間違って長音が入力されているものだけ、注意を促すためにA2セルに記号(例えば×など)を付加するにはどのようにすればよろしいでしょうか?
単純なFind関数だと番地を示す部分には正しくハイフンで入力してあっても、その次のオーシャンホテルの長音で該当してしまいます。
抽出条件としては、「長音があり、且つその両端が数字のもの」でいいと思いますが、いい手段が見つかりません。
元データは、顧客からのデータベースから抽出したものを預かっているもので、顧客に対して元のデータベースを修正してもらいたいのです。
よろしくお願いします。OSは98SE、Excel2000です。
マクロで置換するのはだめですか? (INA)
可能な限り関数で考えたいのですが・・・。
なぜならば、マクロはよくわからないものですから・・・。
しかし、どうしてもマクロでないと不可能ならば、この際頑張ってみます。
尚、手元のエクセルデータを置換するのではなく、顧客に対して「本来この部分はハイフンなのですが、長音で入力してありますよ。元のデータベースのデータを修正してください」と言う必要があるのです。
そのためには、エクセル上で、当該セルの隣に何らかの記号(×など)を明示したいのです。
明示ができれば、そのレコードにはそれぞれレコード番号がついていますので、そのレコード番号を基に元々のデータベースのレコードに対して修正がかけられると思います。
よろしくお願いします。
>抽出条件としては、「長音があり、且つその両端が数字のもの」で ということで考えてみますと、A1にデータがある場合B1に、
=IF(ISERROR(MID(A1,FIND("ー",A1)-1,1)*MID(A1,FIND("ー",A1)+1,1)),"","番地に長音あり")
などでいかがでしょうか。(まあ、そのまんまですが) なお、「番地に長音あり」の部分は、 それぞれのデータのレコード番号があるのならそれを表示するのもいいかもしれませんね。 (sato)
satoさん、アドバイスありがとうございました。
希望の処理ができました!!!
それに、レコード番号を表示した方が、より親切でしたね。
ありがとうございました。
解決してよかったですが、後で気がついたのですが、 上記の式は、最初に出てきた「ー」について判定しているので、 例えば、「タイヨー1丁目1ー3」といった具合に、 二番目に出てきた「ー」については 正しく判定できません。
住所の場合はこのような例はあまりないかもしれませんが、 後日のため、追記しておきます。 (sato)
satoさん、ご丁寧にありがとうございます。
いろいろなパターンで検証していましたが、さすがにそのようなパターンは考慮外でした。
しかし、手元のデータ中では現実的ではないようですのでご安心ください。
また、半角での長音も考えられるようでしたので、アドバイスの応用で対応できそうです。
ホントに助かりました。何しろ10,000レコードの中からの抽出で、ハイフンと長音は、見た目ではほとんどわかりませんからね。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.