[[20050725132252]] 『ハイフン[-]と長音[ー]の区別』(ネオ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ハイフン[-]と長音[ー]の区別』(ネオ)

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.