• ベストアンサー

EXCELのSUBSTITUTE関数

A列に、 15.000円 14.000円 13.000円 というデータがあるとします。 A列から、"."と"円"を空白に置き換えたいのです。 でも、SUBSTITUTE関数(笑)とかいうやつは、これができません(笑) 引数で、セルごとに指定しろとか言われます。 それじゃ、検索して置換になってねーだろ!! いちいちセルごとに関数書いてたら、省力化にならねー  手作業で入力していく方がまし 他のプログラム言語では、正規表現でpreg_replace使えば一発なのに。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

普通に置換しては? A列選択して[Ctrl]+Hで「検索と置換」画面が出てくるので、"."を空白へ置換、"円"を空白に置換、と2度の置換を行うだけですよ。 また、SUBSTITUTE関数を使用しても自セルの文字列が置換されるわけではありません。

ty2016
質問者

お礼

その通りやったらできました!ありがとうございます! EXCEL詳しくないので知りませんでした

その他の回答 (2)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.3

範囲を指定して置換でいいでしょ? ピリオドと円について2回やれば終わりますよ。 続けて置換すれば範囲を選択し直すどころか置換のウインドウを呼び出す手間すら一回で済みます。 …普通に置換するのに何か支障があるのでしょうか。 繰り返し行う必要があるなら記録マクロとしてマクロ登録すればいいでしょう。

ty2016
質問者

お礼

検索と置換でできました! EXCEL詳しくないので知りませんでした

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

>いちいちセルごとに関数書いてたら、省力化にならねー  単純に数式をコピーすればいいだけでは? 列全部が同じなら B1=SUBSTITUTE(SUBSUTITUTE(A1,"円",""),".","")*1 で下方にコピー 列全体をコピーして、値として貼り付けです。 >他のプログラム言語では、正規表現でpreg_replace使えば一発なのに。 マクロ(VBA)が使えますので、これを使えばいいだけです。

ty2016
質問者

お礼

すいません EXCEL詳しくないので知りませんでした

関連するQ&A

  • SUBSTITUTE関数とREPLACE関数に関して

    こんにちは。 文字列と数字の間にハイフンを入れ、不要なゼロを消すことが できる関数を探しています。 例えば・・・ A1のセルに 【ABCD012345】 というデータが入っているとして、 最終的には 【ABCD-12345】 と表示させるようにしたいと考えています。 ABCDと数値の間にハイフンを入れ、数値の頭がゼロの場合は ゼロを削除して表示させるようにしたいのです。 今私がやっている方法は B1のセルに =REPLACE(A1,5,0,"-") と入れ、 ABCD-012345 と表示させ C1のセルに =SUBSTITUTE(B1,"-0","-") と入れ、不要なゼロをハイフンに置き換えて、 ABCD-12345 と2段階を経て表示させています。 これをもっと簡単にできる方法はありますでしょうか。 よろしくお願いいたします。

  • エクセル関数「SUBSTITUTE」「&」について

    エクセルの関数の質問です。 まだまだこれから勉強しなければならない初心者なので、関数の使い方がいまいちよくわかっていません。 タイトルの「SUBSTITUTE」「&」を見つけましたが、これであっているかもよくわかりません。 「A1」に入っているランチメニューの文字列の頭に「激ウマ!」と入れて、更に「~ランチ」のランチの前に「得」をつけて、 A2に、「激ウマ!ステーキ得ランチ」「激ウマ!和風すき焼き得ランチ」・・・と表示させたいのです。 自分で考えたのは、="激ウマ!"& A1   =SUBSTITUTE(A1,"ランチ","得ランチ") なのですが、2つの組み合わせ方がわかりません。 関数を組み合わせて使うにはどうしたらよいのでしょうか? もっと他にいい方法があれば教えてください。 どうぞよろしくお願い致します。  A1        A2 1 ステーキランチ      2 和風すき焼きランチ 3 洋食ランチ

  • EXCEL SUBSTITUTE関数 置換

    WEB上から統計データをコピーするときに、%表記のセルが、「50%50%」のように二重に入力された状態で、貼り付けされてしまいます。 目標は、その表記を単純に「50%」のように表記されるようにすることです。 数値は、0%~100%の100通りあります。 コピペで解決することは、WEBページの構造上難しそうです。貼り付け方・セルの書式設定などすべて試しましたが、ダメでした。 そこで、エクセルのSUBSTITUTE関数を使って正常に戻したいと考えています。 ここで、置換対象が100通りあるのですが、数式はありますでしょうか? その他、解決法がわかる方がいらっしゃいましたら、ご教授お願いいたします。

  • エクセルVBAのReplaceメソッドについて

    エクセル表内のある文字列をVBAのReplaceメソッドを使用して、別の文字列に一括変換したいと考えてます。引数で指定する『置換後の文字列』として該当セルの一つ上のセル(A2に対象文字列がある場合は、A1の値)を指定したいのですが、どのように指定したらよいのか分かりません。Replaceメソッドで置換後の文字列として一つ上のセルの値を指定する事は可能でしょうか。宜しくお願いします。

  • REPLACE関数 特定の文字を置換したい

    例えば、 A1 あいう-えお A2 あいうえ-お となっていて、 「-」を空白に置換したいのですが、 「-」の位置は、セルによって異なります。 なので、「-」はセルによって何文字目にあるのかわからない状態です。 検索と置換で一発で置換できますが、そうではなく関数で置換する方法を教えてください。 B1で=REPLACE(A1,4,1,"")にして、下へオートフィルすると あいうえお あいう-お と言う結果になってしまいます。

  • エクセルで+、-の符号付きの金額(円)の足し算

    先程ここで下記の関数を教えて頂いてA列とB列でデモしてみて、解決したと思ったのですが、実際の表には空白セルが有るのでうまく行かないことが分かりました。 実際の表は行方向に、C列からL列まで、+123円、(空白)、(空白)、-456円、(空白)、(空白)、+789円、・・・というように3つのセル毎に、最初に金額、後2つのセルは空白、というように並びます。 =SUMPRODUCT(SUBSTITUTE(A1:B1,"円","")*1) ⇒実際にはC列:L列で、間に上記のように空白セルが有ります。 早合点してしまって何度もお手数をかけますが宜しくお願いします。

  • エクセル関数で日付データを扱うには

    SUBSTITUTE関数を使って以下のような条件で得たい結果を求める場合 C2セルに「=SUBSTITUTE($B2,$B$1,$A2)」と入力すると「今日の日付は42875です」 という表示になってしまうのですが、日付形式で「今日の日付は2017/5/20です」 と表示させるにはどうしたらいいでしょうか? ■条件 得たい結果(C2セル) 今日の日付は2017/5/20です A2セル 2017/5/20 B1セル 置換 B2セル 今日の日付は置換です

  • エクセル 関数 2008_12_12

    エクセル関数に詳しい方、教えてください。 どのセルに、どうゆう関数を入れればいいか教えていただきたいです。 1、A1に直接入力されていたら、A2を関数式計算させる(入力済み)  A2に関数式を無視して直接入力したら、A1は空白になる。  A2が空白なら、A1も空白。 2、あるセルに数値が無ければ(空白)、その列を非表示にする関数式。 3、これは関数ではないですが、マクロを使用してないのにセキュリテ ィー警告(開いたときに出るやつ)が出てくるので出ないようにした い。*セキュリティーレベルを下げないやり方。 以上、分かる方教えてください。

  • エクセル関数で数字の置換えをしたいのですが。。

    エクセルの関数で数字の置換えをしたいのですがうまくいきません。 下記の条件で置き換え方が解る方、教えてください。 参照するセルがA1だとしたら、 A1が800の場合→B1は1000 A1が1000の場合→B1は1300 A1が2200の場合→B1は2800 という風に複数の条件で置きかえれるようにしたいと思っています。 (B1のセルに入れる関数が解りません) ちなみに「SUBSTITUTE」で入れてみたのですが、セルの書式設定で表示形式をユーザー設定にしていたものが外れてしまいます。 表示形式もユーザー設定にしたままの置換えが解る方教えてください。 宜しくお願いします。

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

専門家に質問してみよう