• ベストアンサー

エクセルで別セルに文字が入ってたら置換・・・

エクセルで別のセルに文字が入ってたら置換、空白だったらすでに表示されている文字のままにしたいです。どうすればいいでしょうか? 以下のやり方だとA5が空白の場合、falseと表示されてしまいます。 =IF(A5<>"",A5)

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

  • ベストアンサー
回答No.2

C2セルに =IF(A2<>"",A2,B2) 下へオートフィル C列をコピーして B列に値の貼り付け 添付図参照

yuyuyuyuu
質問者

お礼

図まで添付して頂きありがとうございます。 教えて頂いたやり方を参考に出来ました!! ありがとうございます。 =IF(A1="",IF(B1="","",B1),"■"&A1) を別のセルに貼り付けて出来ました。 AのセルもBのセルも空白の場合、0が表示されないよう空白になるようにしました。

その他の回答 (2)

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.3

A5<>""がFalseだった場合の記述が抜けてるからですね。 IF関数は =IF(条件式,TRUE時場合の値, FALSE時の値) と書くのが正しいです。 この「FALSE時の値」が抜けてるから、そのまま「false」と表示されてしまっているだけですね。 ご参考まで。

yuyuyuyuu
質問者

お礼

了解いたしました。ありがとうございました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

A5<>"" の場合の処理は A5 の値を表示するようになっていますが、A5<>"" じゃない場合の処理が書かれていないから、falseが表示されます。 =IF(A5<>"",A5,[A5<>""じゃない場合の処理]) 「空白だったら既に表示されている文字のまま」って、その計算式(関数)が入っているセルに表示されている文字のままってことですか? それを関数でやるのは無理です。 Changeイベントを利用したマクロでならできると思いますけど。

yuyuyuyuu
質問者

お礼

同じセルでは無理なのですね。了解いたしました。 ありがとうございます。

関連するQ&A

  • セルに入力した文字を別のシートで置換する方法

    複数置換を行いたいと思い、以下のマクロを作成しました。 If Range("B18") <> "" Then Cells.Replace what:=Range("B18"), replacement:=Range("D18") end if B18のセルが空欄ではない場合、 そのセルに入った文字を検索し、別の文字に変換するというものです。 1つや2つほどであれば、ショートカットキーを使って 置換をしていけば良いと思うのですが、 10項目以上、置換しなくてはならず同時処理を行いたいと思っています。 ただし、その10項目については対象ファイルごとにバラバラで、 統一性がないため、VBAの中に組み込むよりかは、 置換したい文字を各セルに入れていき、置換できればと思い、 マクロの作成を行いました。 ただ、上のマクロでは同じファイルではないと処理ができません。 ActiveSheetを使って処理を行うとは思うのですが、どのように記述してよいか分かりません。 お力添えを頂ければと思います。 上記内容で分かり辛いかもしれませんので、以下に箇条書きします。 1)複数置換を行いたい。 2)Aセルに置換対象の文字を入れ、Bセルに置換したい文字を入れる。 3)実行すると全シート上でA1セルに入力された文字を検索し、B1セルに入力してある文字に置き換わる。 4)これらの処理は同一ファイルで行うのではなく、それぞれ別ファイルで管理をする。 ※対象ファイルと実行データが別々のもの 以上です。 説明が分かりにくく、申し訳ありません。 もしVBAで以上のような処理が可能な場合、ご教授頂けますと幸いです。 (使用しているバージョンは、2003です。)

  • 空白セルを文字に置換するには

    空白セルに文字(例えば半角大文字A)を置換するにはどうしたらよいでしょうか。教えてください。

  • エクセル2003で特殊文字の置換方法

    エクセル2003、XPを使用しています。 エクセルのマクロで置換をしているのですが、 置換対象がCHAR(160)です。 セル上に上のを打ち込むと、実際は違いますが半角スペースに見えます。 特殊文字であっているのでしょうか。 それで、この文字を消したいと思い、以下の通りマクロで記述しているのですが、成功しません おわかりになる方いらしたらよろしくお願いします。 Cells.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, SearchOrder:= _ xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

  • エクセル 文字が表示されたセルを抽出したい

    エクセルの関数を教えて下さい。    A     B     C     D   1 りんご              りんご 2       プリン        プリン 3             紅茶   紅茶 4 バナナ              バナナ 5      6             緑茶   緑茶 上記のような表があります。(A~は列、1~は行番号です) A1~C6までは、IF関数で、条件にあった場合に“りんご”などを表示、そうでない場合には空白と なるような式が入っています。 そして、D列のように、それぞれの行に表示されている文字を抽出、何も表示されていない場合は空白としたいのです。 D列にはどういった式を入れればよいかを教えて下さい。 ※各行に表示されるのは1つのセルのみで、例えばA1のセルとC1のセルに文字が表示される ことはありません。A1に文字が表示されている場合は、必ずB1・C1のセルは空白です。 宜しくお願い致します。

  • エクセルでの文字列と空白セルの取り扱い

    =IF(A1>=100,"○","×") エクセルなんですけど、上の式でA1を空白にすると、×がでますが、 空白セルはゼロと判定されるからですか? また、A1に適当な文字列をいれると、○が表示されますが、これはなんででしょうか?教えてください

  • セルに自動で文字を表示するには

    関数が全くにがてなエクセル初心者を助けてください。 指定セルが空白の時は空白、そうでなければ文字を表示するif関数の入力を教えていただけませんか? 例えばA1のセルが空白ならA2も空白、A1に文字を入力するとA2に自動で文字を表示したいのです。 履歴を検索しましたが見つけられなくて新規に質問させて頂きました。 皆様よろしくお願いします。

  • エクセルとセルの比較について

    エクセルとセルの比較について エクセル2007で二枚のシートを以下のように作成しました。 シート1   A 1   ←全くの未入力の空白セルです 2 3 シート2   A 1   ←未入力で空白セルですが、数式(if関数とISERROR関数)が入っています。 2 3 ここでしたい処理は、二枚のシートをIF関数で調べて正誤チェックをして、相違するセルに×を表示したいです。 ただ、A1セルに  if(シート1A1=シート2A1,"","×")  の数式をいれると、両者は違うセルとして認識してしまいます。 同じ空白セルなのにどうしてでしょうか。 また、この二つのセルはともに空白なので、同じものとして処理する方法はあるのでしょうか。 お願いします。

  • エクセルで指定した文字に自動で置換することは可能ですか??

    A1セルに「バナナ」と表示されると下のマクロの記録で作った”置換するマクロ”の「りんご」の部分を「バナナ」に変更し、さらにこの置換マクロを自動実行することはできますか?? Sub Macro1()' Cells.Select Selection.Replace What:="名前(1)", Replacement:="りんご", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Range("A1").Select End Sub このマクロの記録でなくてもいいんですが、あるセルに置換したい文字が表示された時点でシート内の置換が実行されるようにしたいんですけど・・・・・。 よろしくお願いします。

  • 別セルの文字列を表示させる解き、空白だとゼロが表示されてしまう

    こんにちは。いつもお世話になっています。 エクセルで、 セルA1が空白だった場合は、A2を空白(ゼロではなく)にして、 A1に文字が入力されてる場合、A2にその文字を表示させるには、A2にどのような式を入れればいいのでしょうか?よろしくおねがいします。 (エクセル2003)

  • エクセルの置換で・・

    文字列に書式設定したセルに、01-123といったゼロ始まりの数値が入っています。ハイフンを取りたいため、置換で空白にすると上記の場合、 1123といったように頭のゼロまで消えてしまいます。ゼロを残したままに置換えってできないものなんでしょうか?

専門家に質問してみよう