• ベストアンサー

エクセル関数 文字の置き換えを教えてください

2件教えてください。 (1)数字-AA を 数字R-AA に置き換えたいのですが。   数字には、0~9のどれがくるか決まっていません。どの数字がきても 数字R-AA にしたい。  (2)数字L数字 を 数字L_数字に置き換えたいのですが。   数字には、0~9のどれがくるか決まっていません。 文字が決まっている場合は、関数 Substitute を使って置き換えられたのですが、上記の数字のように、範囲のある文字の置き換えが思いつきません。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO2です。 >分かりにくい質問でした。  ⇒入力データ条件が説明不足です。   一例です。(因みに文字列は全て半角としています。) (1)のケース  =IF(COUNTIF(A1,"*-AA*"),IF(ISNUMBER(MID(A1,FIND("-AA",A1)-1,1)*1),SUBSTITUTE(A1,"-AA","R-AA"),A1)) (2)のケース  =IF(COUNTIF(A1,"*L*"),IF(ISNUMBER(SUBSTITUTE(MID(A1,FIND("L",A1)-1,3),"L","")*1),SUBSTITUTE(A1,"L","L_"),A1),A1)

H45eA
質問者

お礼

ありがとうございました。完璧でした。 関数の種類を知らないことが改めて分かりました。 関数の知識を増やしていきます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

一般化した表現にしたいのだろうが、質問ではその必要はない。 回答の類推で、自分のケースの解決策が判ればよいはず。 まず読者に質問内容を理解してもらうのが先決。 その場合具体例(複数個、5例ぐらい)を添えるのが一番。 数字などとせず、123-AAと書いて、桁数が問題になりそうな場合では、123は2桁もあるとか書くのがよかろう。 123-AAを123R-AAに変えるなら-AAをR-AAに変えれば(置換すれば)仕舞いではないのか。 そういう意味ではないのか?しっかり質問には書いて。 >文字が決まっている場合は ということは、AAがセルごとに別の文字列なのか。それなら、そのように注記すること。 その場合((1)の場合で)でも-をR-に置換するのはどうか

H45eA
質問者

お礼

返事が遅くなりすみません。 回答ありがとうございます。 分かりにくい質問でした。 例をあげます。 (1)数字-AA を 数字R-AA に置き換えたいのですが。 数字には、0~9のどれがくるか決まっていません。 どの数字がきても 数字R-AA にしたい。   0-AA → 0R-AA 1-AA → 1R-AA 2-AA → 2R-AA 3-AA → 3R-AA   |    | 次のようには「-AA」の前がアルファベットや「/」など 数字以外の場合は 変換しない。  STEP-AA → STEP-AA BAG-AA → BAG-AA   |    | ※良い方法ではないと思いますが、条件の1つ、1つをIF文を使って置き換えることなら 出来るようになったのでやってみます。 他の方法が浮かびませんので。 (2)数字L数字 を 数字L_数字に置き換えたいのですが。   数字には、0~9のどれがくるか決まっていません。   Lの前後が共に数字の場合のみ変換する。 例)  0L0 → 0L_0 0L1 → 0L_1 0L2 → 0L_2   |   |   |   |  2L0 → 2L_0 2L1 → 2L_1 2L2 → 2L_2   |   |   |   |  3L0 → 3L_0 3L1 → 3L_1 3L2 → 3L_2   |   |   |   |   |   |   |   |  9L7 → 9L_7 9L8 → 9L_8 9L9 → 9L_7 次のようには「L」の前後がアルファベットや「/」など 数字以外の場合は 変換しない。 EXCEL3 → EXCEL3 1LOVE → 1LOVE 1LONLY → 1LONLY  ALL9  → ALL9   |    |   |    |

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>文字が決まっている場合は、関数 Substituteを使って置き換えられた  ⇒他に条件がなければ、「-」や「L」で確定出来ると思いますが如何でしょうか。   一度、SUBSTITUTE関数でお試し下さい。   

H45eA
質問者

お礼

返事が遅くなりすみません。 回答ありがとうございます。 分かりにくい質問でした。 例をNo.3のimogasiさんへの「この回答へのお礼」に記入しました。 (2)の方法が分かりません。 よろしければ教えてください。

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

Substituteをご存知なら、 (1)数字-AA を 数字R-AA は、-AAをR-AAに、もしくは、-をR-に (2)数字L数字 を 数字L_数字 は、LをL_に置き換えるようにすればいいと思いますが。 置き換えるに当たり上記以外の場合はそのままにしたいとか、 条件があるのでその対策が思いつかないということですか? (でしたら条件を補足願います。)

H45eA
質問者

お礼

返事が遅くなりすみません。 回答ありがとうございます。 分かりにくい質問でした。 例をNo.3のimogasiさんへの「この回答へのお礼」に記入しました。 (2)の方法が分かりません。 よろしければ教えてください。

関連するQ&A