• 締切済み

Excel関数

A1に10以下を入力した場合10に、50以上を入力した場合50とA1に表示したい場合どうしたら良いですか? IF関数かとおもいましたが、同じセルには一つしか式を入れれませんし、循環関数だからエラーの表示が出ます。 よろしくお願いします。

みんなの回答

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

こんにちは! 本来であれば元々何を入力したか?というコトがまったくわからなくなってしまいますので、 他の方も仰っているように別セルに表示させる方が一般的だと思います。 仮にB1セルに表示させるとすると、B1セルに =IF(A1="","",IF(A1<=10,10,IF(A1>=50,50,A1))) といった数式になると思います。 どうしてもそのセルで!というのであれば無理矢理の方法として・・・ VBAでの一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA列に数値を入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Columns(1)) Is Nothing Or Selection.Count <> 1 Then Exit Sub Application.EnableEvents = False If Target <> "" Then If Target <= 10 Then Target = 10 ElseIf Target >= 50 Then Target = 50 End If End If Application.EnableEvents = True End Sub ※ A1セル限定ではなく、A列すべてにしています。m(_ _)m

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

A1セルを選び、セルの書式設定の表示形式のユーザー定義で [>50]"50";[>10]#;"10" と設定してOKします。 #補足 何でもかんでも出来るわけじゃありません。たまたまご相談の条件だったからできたことです。 A1セルに数字を記入したら、別のセルの例えばB1セルに欲しい結果を関数で表示するように、エクセルとはそうやって使うものだという事を理解してください。

回答No.1

そういう場合は、データを入れるセルと表示するセルを別にします。 セルA1に10とか50と表示したければ、セルB1に元データを入力させる、など対応します。 セルA1でIF()関数を使うもよし、その他の方法を使うもよし。

animakat
質問者

補足

A1に入力してB1に表示させるためにはどうやれば良いですか?

関連するQ&A