• 締切済み

エクセルの置換機能と同じようなことを関数でやるには。

エクセルの置換機能と同じようなことを関数でやるには。 エクセルに置換機能があります。 これにより、セル内にある文字を不要な部分を削り、簡略した文字に変えることが出来ます。 この機能と同じように関数で、特定の文字を削ったり、置き換えたりするにはどのようにするのでしょうか? とりあえず以上質問します。説明不足な点があれば補足します。 よろしくお願いします。

noname#121173
noname#121173

みんなの回答

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

エクセルには質問と関係有りそうな関数で SUBSTITUTE REPLACE(REPLACEB) があります。これをGoogleででも調べ勉強し、これで賄えるかどうか考えテストすること。 1セル単位の文字列に対し使うものです。 ただし一律に全セルでA->Bのタイプで無いとダメだし(セルごとに変わるようではダメ) この変換対応が、Aー>B 、C->D・・・と多数あると式をネストするのも限りは在る。3,4つが心理的限界か。 多数のセルがあるだろうから、式の複写がうまく行くように考えないとダメだが。 ーー なぜ関数でやるのか。置換後のデータを入れる、別の同じだけのセル範囲がいるし置換の範囲は数式だらけになる。 ーー 操作の置換ではダメなのか。 場合によってはVBAでやると能率が良い場合がありうるが。

noname#121173
質問者

お礼

ありがとうございます。検証してみます。 今後もこのカテゴリーで回答を書かれる方だと思いますので、 ご参考になればと関数を使う理由を述べます。 関数と備え付けの機能で、普通の事務に困ることは無いと思います。 それ以上の効率、より便利にというとVBAとなるんでしょうが。 例えば、関数でのみ処理すると、後任者に託す時に手順を残せると思います。 「関数とこの機能を使って、こう処理して、その後に最終的にこのような形にする。」 ↑このような手順だと、最終的な形だけ後任者が見てもどうしてこういう形になったか解らない場合があると思います。 関数だけ使えば、せめて関数の意味を調べてもらえれば、手順が残せると思ったのです。 だから、機能だけなら機能だけ、関数を使うなら関数だけ。 そういう作り方にして残してみようということなのです。 置換機能は便利ですね。一括して文字を削ったり替えたり出来ますから。 

  • ototonoto
  • ベストアンサー率61% (30/49)
回答No.1

「エクセルの置換」で思いついた関数。 SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)

noname#121173
質問者

お礼

ありがとうございます。 夜分恐れ入ります。 ちょっと、検証してみます。

関連するQ&A

  • エクセル2003での置換について教えてください。

    エクセル2003での置換について教えてください。 こんにちは いつもお世話になっています エクセル2003での置換について教えてください。 特定の文字列以降の文字列を(特定文字列自身も含めて)削除したいのです。  特定の文字列は二つあります。【@】と【変化】です(【】も含みます)。  この二つの文字列はバラバラに出てきます。一方だけがでてくるセル、両方出てくるセル、両方出てこないセル、があるという意味です。  「*」を各特定文字の後ろに付けて、置換機能で削除していますが、二つの文字列に対して別々にやっています。 これを一度で置換して削除する方法を教えてください。  よろしくお願いします。

  • エクセルの置換機能について

    (1)エクセル2000でA1~A100まで1000~1099が入力されています。 (2)A101~A200にも同様に1000~1099が入力されています。 〔編集〕→〔置換〕の機能を用いて、(2)の1000~1099を1100~1199に直したいところですが、検索する文字列に「10」、置換後の文字列に「11」とし、「すべて置換」をクリックし置換後の結果を見ると当然(2)の「1010」→「1111」となっています。 このようにならないように「1010」→「1110」なるような置換のテクニックはありますか? 使うテクニックは関数を使わず置換で行いたいのですが、ご存知の方がいらっしゃいましたらお願いします。

  • エクセル関数で文字を置換する方法

    エクセル2000のワークシート関数で、範囲を指定して特定の文字を別の文字に一発で置換できるでしょうか。例えば次の範囲で「○」のセルだけ「1」に変換したいのです。よろしくお願いします。    1列  2列  3列    1行  ○  ○   × 2行  ×  ○   ○ 3行  ×  ○   ×                 ↓    1列  2列  3列    1行  1  1    2行     1   1 3行     1

  • 置換について

    エクセルで、重要な語句に対して部分的に色付けされた文章が記載されたセルがあるとします。 そのセル内の文字列を、ctrl+FやReplace関数を使って置換をかけた場合、色付けした文字列がすべて黒に変わってしまいます。 置換対象文字列以外は、置換前の状態のまましたいのですが、どなたかその方法についてご存知の方いらっしゃらないでしょうか? ぜひ、ご教授願います。

  • テキストファイルの中身を自動で置換したい

    VBA初心者なので説明不足な部分があると思いますがよろしくお願い致します 現在テキストファイルを開いてCtrl+Hで検索する文字列を検索 置換後の文字列を入力し置換しているのですが ファイル数が多く1つ1つ開いて置換するのがとても面倒です Excelで開けば良いのでは?と前にご意見をいただいたのですが Excelで開いてそこからの操作がよくわからず…。 できればボタン一つで自動的に置き換えられるようにしたいのですが どのようにコードを書けば良いのかまったくわかりません。 ・指定フォルダー内にある(1つまたは複数の)テキストファイル内の文字列をすべてセルに書き出す ・セルから特定の文字(例→【 ,F1 】)を検索し、特定の文字(例→【 ,A2 】)に置換する ・上書きして保存 という感じにしたいのですができますでしょうか? 無理そうでしたら大丈夫です 閲覧いただきありがとうございました

  • エクセル 置換後の文字列について

    エクセル2003です 置換後の文字列について質問させてください 特定のセルに文字を入力し 例 C100に(9月)等 検索と置換にて 置換後の文字列を C100のテキストに 置換したいのですが 入力時にC100を選択する方法がわかりません  よろしくお願い致します

  • excelで置換が上手くいきません

    excel for office365を使用しています。 各セルに文章が書かれていて、句読点が全角で「,」「.」になっているのを「、」「。」に置換しようとしたところ、「1. 」「2. 」のような「数字+半角カンマ+半角スペース」で書かれている部分が「1。」「2。」といった感じに置換されてしまいます。 関数を使用せずに置換だけでこれを回避する方法をご教示ください。 自分で試した方法としては、一旦「.」を全て「。」に置換した後、ワイルドカードを使って「[0-9]。」を「[0-9]. 」に置換しようとしましたが該当無しとなり、「?。」を「?. 」で変換したら数字部分が全て「?. 」になってしまいました。 ワイルドカード部分を据え置きでそれ以外だけ置換するというのは仕様上できないのでしょうか?

  • エクセル2013で「その関数は正しくありません」

    エクセル2013で「"」を置換しようとすると『その関数は正しくありません』というウィンドウが出てきます。 エラー箇所みてみると「@」で始まってるセルの末に「"」が付いてるんですが、 なんなんでしょうか。。。 「@」で始まるセルは関数認識されていて置換できないんでしょうか。 どなたかわかる方いらっしゃいましたらよろしくお願いいたします。

  • エクセル置換機能について

    いつもお世話になっております。 さっそく質問ですが、EXCEL 2003にて例えば「.9/7」と入力されているセルを「9/7」と一括で置換するにはどうしたら良いでしょうか? 因みに、「.9/7」とは9月7日と言う意味の日付が入力されている訳ですがその日付が入力されたセルは例えば「.9/3」、「.9/11」などたくさんあります。それら日付の前に入力されている.(ピリオド)を一括で取り除きたいのです。 説明の仕方が下手で申し訳ありませんが、何卒よろしくお願い致します。

  • excelで置換をしたいんですが

    excelで置換をしたいんですが、SUBSTITUTE関数を使うとワイルドカードが使えずうまくいきません たとえば、 和歌山県産オレンジ 3個 サンキスト オレンジ 入荷済み 2008年オレンジ 愛知産いちご 53個 ほのか いちご 入荷済み 2011年生産 いちご を、置換で全ての文字をオレンジが入力されたセルはオレンジのみ、 いちごが入力されたセルはいちごだけにすることはできますか? ctrl+Hで、検索する文字列に*オレンジ*と入力して実行してもうまくいかないです。。。 

専門家に質問してみよう