• ベストアンサー

「Ms-Excel」の関数についての質問

下記の操作をしたいのですがうまい関数を思いつきません。 隣り合う文字が、 アルファベット+「ー」であれば「-」 に変換して、 アフファベット以外については無変換 こんな操作がしたいのですがやり方がわかりません。 どなたか、ご教示いただけないでしょうか。 宜しくお願い致します。  |   A --------------- 1| konbanha- 2| konbanhaー 3| KoNbAnWAー 4| KoNbAnWA- 5| こんばんはー 6| コンバンハー ↓↓↓↓↓↓  |   A --------------- 1| konbanha- 2| konbanha- 3| KoNbAnWA- 4| KoNbAnWA- 5| こんばんはー 6| コンバンハー

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

=IF(ISERR(SEARCH("ー",A1)),A1,IF(CODE(MID(A1,SEARCH("ー",A1)-1,1))<256,SUBSTITUTE(A1,"ー","-"),A1)) とすると konーbanha- konーbanhaー KoN-bAnWAー KoNーbAnWA- こーんばんはー コーンバンハー このようなデータでもうまく置き換えできます。

tihiro_t
質問者

お礼

ありがとうございます!! 完璧でした!!

その他の回答 (2)

  • e30653
  • ベストアンサー率28% (32/114)
回答No.2

こんにちは。 「ー」と「-」の変換はSUBSTITUTE関数で良いと思いますので、IF文で条件をつければお望みの結果が得られると思います。 =IF(CODE(A1)<256,SUBSTITUTE(A1,"ー","-"),A1) で、いかがでしょうか。

tihiro_t
質問者

お礼

ありがとうございました!!

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

置換をマクロに登録する方法かユーザー定義関数ならできると思いますが... 入力時ならIMEのプロパティのオートコレクトに 『英数字の後の「ー」を「-」に変換』する設定がありますが

tihiro_t
質問者

補足

回答いただきありがとうございます。 IMEにこういった設定があるのですね。知りませんでした。次からは気をつけます。ありがとうございます。 ただ、もう既に、出来上がったデータが山ほどありますので、難しいです。 関数の置換については良いものが思いつきませんでした。 一応考えたもの↓ =substitute(A1,"ー","-") では、横に、アフファベット以外があっても置換してしまします・・・