- ベストアンサー
エクセルで複数語句の一括置換がしたい。
1つのシートの複数のセルの中に文章が記入してあり、その中の文字を 一括で置換したいのです。 AAAA → BBBB 1234 → 5678 ○×△□ → ●×▲■ このように変更したい文字が数百とあります。 また、置換前の語句(セルA1~)と置換後の語句(セルB1~)というように エクセルの別のファイルに並べております。 どのようにすれば出来るのかお教え頂けませんでしょうか? もしマクロなどで出来るとしたら、初心者ですので細かいやり方などお教え頂けたらありがたいと思っております。 よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
http://2020hindsight.cocolog-nifty.com/blog/2009/01/excel-b76d.html にあるようなもので、できますね。 1つの文章内に複数の置換対象に対応してます。
その他の回答 (4)
- Nouble
- ベストアンサー率18% (330/1783)
alesi_sato様の示されたページの内容よりも =LOOKUP(Sheet2!B1,{"1234","AAAA","○×△□"},{"5678","BBBB","●×▲■"}) とした方が置き換え対応表の場所を別途持たずに済むのでスマートですが (※ {"1234","AAAA","○×△□"}は降順にソートしておいて下さい) 今回の質問では 「幾つかのセルに長文が配されており その個々の長文中の一部に誤字・誤用があるので それを修正したい。」 だと思うので、これではそぐわないでしょう こんな文を用意してみました 「としだ方が磁気中にぢかに辞書を持たせられるため置き換え対応表の場所おベッド持たづに済むのでスマートですが」 正 誤 としだ とした 磁気 式 ぢ じ 場所お 場所を ベッド 別途 持たづ 持たず 此を変換してみたいと思います。 … …… ……… 質問の意図がわかりました、かなり高度ですね 私には手に負えませんでした。 FIND文では同一文章中に複数個対象があると駄目ですし SUBSTITUTE文では許多ある変換点の内の一個ずつしか変えてくれません。(とほほ) 仕方がないので作業用シートを用意頂き b1から横方向に変換対象(正誤表の誤の方) b2から同様に横方向に修正文字列(正誤表の正の方) を並べて頂き 置き換え対象を例えばA列の一列にA3から並べて頂いて b3に =INDEX(SUBSTITUTE(A3,OFFSET($b$1,0,0,1,COUNTA(1:1)),OFFSET($b$2,0,0,1,COUNTA(2:2))),COLUMN(A1)) とか 単純に =SUBSTITUTE(A3,b1,b2) とか入力して 「#REF!」がでるまで値を横方向にコピーすると 「#REF!」がでているすぐ横の列に変換完了の 「とした方が式中にじかに辞書を持たせられるため置き換え対応表の場所を別途持たずに済むのでスマートですが」 がでますので これら数式の入ったセルを下方向に必要分コピー頂くと 返還後のものが得られますが 此では使い物になりませんとね 陳謝 ヾ(ーー;)
お礼
ありがとうございます。 お手数おかけいたしました。
- Nouble
- ベストアンサー率18% (330/1783)
配列数式と文字置換関数を使えば出来そうですね 今は寝所でパソ前でないので具体的な式は後程
補足
ありがとうございます。 是非 よろしくお願いいたします。
- alesi_sato
- ベストアンサー率35% (23/65)
http://2020hindsight.cocolog-nifty.com/blog/2009/01/excel-878b.html にあるような方法ではどうでしょうか? サンプルファイルもDLできます。
補足
ありがとうございます。 セルの中にある文字列がランダムに複数ありますので、 この方法では難しそうです。
- n-jun
- ベストアンサー率33% (959/2873)
一括というより1個ずつ順番になるのでは?って思うんですけど。 >また、置換前の語句(セルA1~)と置換後の語句(セルB1~)というように >エクセルの別のファイルに並べております。 ブック・シート・セル構成を提示された方が回答がつくかもです。
補足
ありがとうございます。 改めてやりたい内容を書きます。 Book1のSheet1の各セルにHTMLの文字列が記入されています。 A1には <a href="http://AAA.com/">○×はこちら</a> C10には <a href="http://BBB.com/">123はこちら</a> H35には <a href="http://CCC.com/">TOPへ</a> という風に ランダムに記入されています。 このSheet1の中の AAA BBB CCC ○× 123 にあたる文字を AAA → DDD BBB → EEE CCC → FFF ○× → ▲■ 123 → 456 という風に別の語句に置換をしたいのです。 又、置換前の語句と置換後の語句はBook2のSheet1に 置換前の語句(セルA1~A50)と置換後の語句(セルB1~B50)という形で 記入してあります。 ※置換したい語句の数は前後します。 (前)(後) AAA DDD BBB EEE CCC FFF ○× ▲■ 123 456 ・ ・ ・ ・ ・ ・ 一つずつ置換をしていたらきりがなく、一気に出来る方法をさがしております。 よろしくお願いいたします。
お礼
ありがとうございます。 見直してじっくりやってみたらうまく行きました。 ありがとうございました。