- ベストアンサー
エクセルのセルの入力規制?
セルに計算式を入力する場合例えば500*6を計算させようとする場合には、=500*6 と入力しなければならないが何かを設定する事で=を入力しなくても単に500*6とだけ入力すると、表示されるのが3000となる設定はどのようにしたら良いのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
数式に=を入れる為にはいちいちシフトキーを押してから=を押すので、その手間を省きたいということでしょうか? それでしたら以下を試してみてください。 +500*6 これならテンキーだけの操作で式を入力できますね。それでいて数式バーをみると、不思議なことにちゃんと =500*6 になってます。
その他の回答 (4)
まさかとは思いますが、 =A1*B1 などと、計算式にセル番地を入れて計算できることをご存じなかったというオチではないですよね。 計算根拠(500*6など)を残さなくて良いなら、 数量だけ必要分入力しておき、どこかのセルに500と入れ、これをコピーし、 数量を入力したセル群を選択し、「編集」-「形式を選択して貼り付け」から 「乗算」に「●」をつけて「OK」をクリックすれば計算結果が張り付きます。 でも、普通は#2さんの言われるようにするべきですが... 後々の事を考えれば、なおさらです。
- nishi6
- ベストアンサー率67% (869/1280)
Sheet1 の A1:B10 の範囲に入力すると質問のことができるようにしてみました。 入力するセルは1つとし、 =500*6 +500*6 500*6 のように入力してみてください。いずれも答え「3000」が出るはずです。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示し、 Microsoft Excel Objects の Sheet1をダブルクリックし、出てきたコードウインドウに下のモジュールをコピーして貼り付けます。 貼り付けが済んだら、シートに戻り、入力を開始します。 ↓ここから Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count <> 1 Then Exit Sub If Not (Intersect(Range("A1:B10"), Target) Is Nothing) Then If Not IsError(Application.Evaluate("=" & Target)) Then Target = Application.Evaluate("=" & Target) Else If IsError(Application.Evaluate(Target)) Then Target = "'" & Target.Text End If End If End If End Sub
- nanndemoii
- ベストアンサー率39% (106/267)
通常であれば、「単価」の値(500)と「数量」の値(6)を別の列にし、 「数量」を入力することで「合計」の値(3000)を求めるのですが、 そうしたくない理由は? _|_A_|_B_|_C__| 1|500|_6_|3000| 「A列」の値は入力済み。「B列」の値は都度、手入力、「C列」には=A1*B1
補足
最悪は、こうしようかとも思ったのですが、共有されているファイルで勝手にセルを指定できないことや、遠く離れたセルを使おうかとも思ったのですが、それも知られたら面倒。 何かの設定で出来ないことかと考えたのですが。
- newbranch
- ベストアンサー率30% (319/1053)
数式に=を入れる為の手数と、それを必要としない設定を考えると、=を入れるほうが簡単でしょう。(尤も、私には、=をいれずに設定する方法は知りません。(マクロ以外には多分出来ないだろうと思います)
補足
このような数式を挿入するセルが数十個あり、資料を持ちながらや指差しながら入力する事が必要なので、必然的に片手でテンキーを使っての入力方法になってしまう。 その度に、シフトキーを押しながらでの入力はとても煩雑。 なので、=を入力しなくても出来る方法を模索してました。 試しに、30個のセル全てに、=30+25+60を入力してみてください。 どれだけ面倒か! ちなみに、実際はこんなに簡単な数式ではありません。
お礼
できました。 ありがとうございました。 これだと片手でも難なくできます。