• ベストアンサー

IF関数で教えてください。

 よろしくお願いします。  C4、E4、D4ともにランダムに変化する数字があります。  IF関数で =IF(C4=E4,D4,"")  の場合、C4=E4ならばD4が表示されました。その後C4=E4でなくなった場合、空白になるのですが、空白にならず、変化前のD4の数字のままであるやり方はないのでしょうか、よろしくお願いします。

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

  • ベストアンサー
  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.1

 状況がよく分からないのですが、C4=E4 でなくなった場合にも以前の D4 を表示したままにしたい、ということなら関数では無理でしょう。VBAになると思います。   VBAを使ったことがなければ、次のようにしてください。  そのシートのタブ(シートの下の"Sheet1"とかあるところ)を右クリックして、 「コードの表示」をクリックします。  MicrosoftVisual Basic というウインドが 開くので、右側の真っ白けのところに次のコードをコピー・貼り付けをします。 ★★エラー処理等は考えていませんので、バックアップを取ったファイルで試してください。★★ '----------------ここから Private Sub Worksheet_Change(ByVal Target As Range) If Range("C4").Value = Range("E4").Value Then Application.EnableEvents = False Range("F4").Value = Range("D4").Value '表示したいセルが F4 の場合 Application.EnableEvents = True End If End Sub '----------------ここまで

kei__2000
質問者

お礼

 回答ありがとうございます。やはり関数式では無理のようですね。代わりにマクロでの解説、ありがとうございます。大変助かりました。参考にさせて頂きたいと思います。

関連するQ&A

専門家に質問してみよう