• 締切済み

エクセルの関数について。

エクセルの関数について。 エクセルの関数について困っています。エクセルの関数を使って、クイズ大会をしようと考えているのですが、 x7セルに”=IF(M7=1,X7+N4,IF(M7=2,X7+P3,X7))” と入力しても「循環参照」 になり、計算できないのです。 自分としては、 M7が1なら、今あるX7の値にN4の値を加え、 M7が2なら、今あるX7の値にP3の値を加え、 M7が1,2以外なら今あるX7の値をそのまま表示したいのです。 どうすればよいか助言をよろしくお願いします。 ※関数はどんな関数でも構いません。 ※当方、Excel2010を使用しています。 ※スクリーンショットも貼りつけておきます。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 他の方が仰っているように別セルに表示させそれを参照するのが一番簡単だと思いますが・・・ どうしても!というコトであればVBAの一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストして、M7セルの数値を変更してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Intersect(Target, Range("M7")) Is Nothing Then Exit Sub Application.EnableEvents = False Select Case Range("M7") Case 1 Range("X7") = Range("X7") + Range("N4") Case 2 Range("X7") = Range("X7") + Range("P3") End Select Application.EnableEvents = True End Sub 'この行まで ※ N4・P3セルの数値がプラスの場合、M7セルを1・2とするたびにX7セルの数値はどんどん増えていきます。 こんな感じをご希望だったのでしょうかね?m(_ _)m

  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.3

この場合はマクロを使わないとだめですね。 ただ、やりたいことを書いた方がもっと楽なやり方が出ると思います。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2

x7セルに”=IF(M7=1,X7+N4,IF(M7=2,X7+P3,X7))” この関数を設定した時点で、X7セルには何の値もありません。(不定です。) 不定値に N4の値を加えても、 不定です。 不定値に P3の値を加えても、 不定です。

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

循環参照の意味を理解していますか。 X7セルは参照するだけで、表示するセルは別にしましょう。 または本来X7セルに入れている値を他のセルに入れておき 演算結果をX7セルに表示させるようにする。  =IF(M7=1,Y7+N4,IF(M7=2,Y7+P3,Y7)) などとし、X7セルに入れている値をY7セルに入れておくなどしましょう。 あるいはマクロを書くか…ですね。