• ベストアンサー

EXCEL2007にて

教えて下さい。 D欄での計算結果をCに表示したいのです。 但し、C欄にはオペレータが直接入力(例C3)する場合もあります。    A  B  C   D 1 数料 単価  金額  -- 2 19 200 3800  3 -- --  5999 Cxに「=Dx」の式を入れると、直接入力すると式が消えるので ちょっと不具合があります。(xは行) VBAではなく関数で出来るものでしょうか?

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

質問の件はVBAでやるしかないのですが、老婆心ながら一言。 VBAでやると、 数量、単価を全部入力した後でなくても 数量、単価を入力した時点で金額の計算等できます。 (当然ながら、C,D列の計算式は不要になる) このようにVBAなら色んなことができますので 一度、トライしてみたらどうでしょう。 以上です。  

その他の回答 (4)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.5

同じセルに関数(式)と値を入れる事はできません。 ご要望の事は、VBAを使って自動記入するしかないでしょう。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.3

No2です。 ちなみにVBAであっても、2行目の数量と単価を入れて金額は入れない、3行目には金額だけ入れるという風にやって全部終わった後にマクロを実行して金額を計算させるという形になります。 つまり、2行目を入れたときすぐには金額は自動計算されません。 あくまでマクロの実行を指示しない限り処理をしないということになります。 もし、2行目を入力したときに自動で金額が出て、3行目に直接入力したらそれが表示されて、というように入力したタイミングで結果がすぐ出るようにはVBAではできません。あるタイミングで実行させるバッチ処理になります。 蛇足ですが。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.2

直接入力と式での入力のセルが一緒でつかいわけるなんていうことはできません。 やるならVBAでしか無理でしょう。 直接入力欄を別に取るか表示欄を別にするしかないです。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 オペレーターが直接入力するための欄を別の場所(例えばE列)に設けて、Exが未入力の場合にはDxの計算結果を表示させ、Exにデーターが入力されている場合には、Exの値を表示させる様にしては如何でしょうか。  それには、Cxに以下の様な数式を入力されると、良いと思います。 =IF(Ex="",Dx,Ex)

関連するQ&A