- ベストアンサー
「Ms-Excel」の関数についての質問
下記の操作をしたいのですがうまい関数を思いつきません。 隣り合う文字が、 アルファベット+「ー」であれば「-」 に変換して、 アフファベット以外については無変換 こんな操作がしたいのですがやり方がわかりません。 どなたか、ご教示いただけないでしょうか。 宜しくお願い致します。 | A --------------- 1| konbanha- 2| konbanhaー 3| KoNbAnWAー 4| KoNbAnWA- 5| こんばんはー 6| コンバンハー ↓↓↓↓↓↓ | A --------------- 1| konbanha- 2| konbanha- 3| KoNbAnWA- 4| KoNbAnWA- 5| こんばんはー 6| コンバンハー
- みんなの回答 (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- こーんばんはー コーンバンハー このようなデータでもうまく置き換えできます。
その他の回答 (2)
- e30653
- ベストアンサー率28% (32/114)
こんにちは。 「ー」と「-」の変換はSUBSTITUTE関数で良いと思いますので、IF文で条件をつければお望みの結果が得られると思います。 =IF(CODE(A1)<256,SUBSTITUTE(A1,"ー","-"),A1) で、いかがでしょうか。
お礼
ありがとうございました!!
- mshr1962
- ベストアンサー率39% (7417/18945)
置換をマクロに登録する方法かユーザー定義関数ならできると思いますが... 入力時ならIMEのプロパティのオートコレクトに 『英数字の後の「ー」を「-」に変換』する設定がありますが
補足
回答いただきありがとうございます。 IMEにこういった設定があるのですね。知りませんでした。次からは気をつけます。ありがとうございます。 ただ、もう既に、出来上がったデータが山ほどありますので、難しいです。 関数の置換については良いものが思いつきませんでした。 一応考えたもの↓ =substitute(A1,"ー","-") では、横に、アフファベット以外があっても置換してしまします・・・
お礼
ありがとうございます!! 完璧でした!!