• ベストアンサー

エクセル計算式

すみません。 計算式で手こずっております。 詳細を下記に明記しますので お手数ですが、助言願います。 概要:金額計算式  例 A1:50万(自由に金額を入力出来る)       *50万単位でないとエラーになるようにしたいです。         50万以下及び50万以下単位でのUPは一律エラー表示を希望 A1=50万の時は50万と表示 50万以下=エラー 70万=50万と表示 100万=100万 150万=150万 190万=150万と表示 といった形です。 どのように計算式を入れたら宜しいでしょうか。 何卒、宜しくお願い致します。

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

  • ベストアンサー
回答No.4

簡単に整理しましょう。 まず、500000未満をエラー表示にしたいのですよね。 ですので、まずIF関数を使います。 =IF(A1<=500000,"B","エラー") これで、500000未満をエラー表示にできます。 次に、500000以上の数字で500000周期で繰り上げ表示したいのですよね。 この場合、CEILING関数があります。 =CEILING(A1,500000) これで、例えば1250000の場合は1500000と表示されます。 あとは、二つの関数を合わせた、2重関数にするだけです。 =IF(A1>=500000,CEILING(A1,500000),"エラー") これで、500000未満をエラー表示に、500000以上の数字で500000周期で繰り上げ表示ができます。

その他の回答 (6)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.7

VBAで実装するなら・・・ (1)シートを右クリック→「コードの表示」を選択して「Microsft Visual Basic」を開く (2)以下のコードを「Microsft Visual Basic」の右上に貼付 (3)「Microsft Visual Basic」のウィンドウを×で終了 ■コード Private Sub Worksheet_Change(ByVal Target As Range) If Replace(Target.Address, "$", "") = "A1" Then With Target Application.EnableEvents = False If Not (IsNumeric(.Value)) Or .Value < 50 Then .Value = "エラー" Else .Value = WorksheetFunction.MRound(.Value, 50) & "万" End If Application.EnableEvents = True End With End If End Sub ■使用方法 A1に数字を入力すると入力された値をチェックしてmroundで50の倍数値に丸められます 50未満の数値または文字列を入力すると「エラー」と表示します ■変更箇所 ◇対象のセルがA1以外の場合  If Replace(Target.Address, "$", "") = "A1" Then  の「A1」を該当セルに変更してください ◇セルの値は数字のみで、「万」や「エラー」を書式設定で表示する場合  (1)  .Value = "エラー"  を  .Value = 0  としてください  (2)  .Value = WorksheetFunction.MRound(.Value, 50) & "万"  を  .Value = WorksheetFunction.MRound(.Value, 50)  としてください  (3)  A1のセルの書式設定で表示形式を「ユーザー定義」にし  種類を「0万;;エラー」としてください

  • minosennin
  • ベストアンサー率71% (1366/1910)
回答No.6

データの入力規則の設定により、「50」刻みの数字以外を受け付けない設定にすることができます。 前準備として、#3さんご回答のとおりセルの書式設定を「ユーザー定義」にし、「G/標準"万"」と入力しておきます。 データ→データの入力規則→設定タブ→入力値の種類(A:) 「ユーザー設定」→数式(F:) に次の式 =a1=rounddown(a1/50,0)*50 この方法では190そのものが受け付けられないので、190を150に変換することはできませんが、当初から50の倍数以外の入力を受け付けなくすることができます。 190をその入力したセル内で150に変換するのは、おそらく関数式では無理で、VBAによるより外ないでしょう。

回答No.5

NO.04のものです。 とんだ勘違いしていました。 繰り上げ(切り上げ)ではなく、 繰り下げ(切り捨て)ですよね。 ですと、CEILING関数ではなく、FLOOR関数となります。 よって、 =IF(A1>=500000,FLOOR(A1,500000),"エラー") となります。

回答No.3

セルの書式設定を「ユーザー定義」にし、 「G/標準"万"」と入力します。 =IF(A1<50,"エラー",QUOTIENT(A1,50)*50) 50万以下だとエラーと表示し、 あとは50万の倍数で表示するようになっています。 こういうことでしょうかね?

noname#203218
noname#203218
回答No.2

=IF(A1<500000,"エラー",FLOOR(A1,500000)) 50以下はエラー表示、50万以上は50万単位で切り捨てします。

回答No.1

IF(A1=”70万”,"50万",IF(A1="190万","150万",IF(A1<="50万",”エラー”,A1)))) こんな感じでしょうか? そもそも、A1の表記がこれで正しいかわかりませんが… 70万=700000 なら、上記部分を A1=700000 としてください。 たぶん、これであっている…のかと? (上記例のみ対応できます)

関連するQ&A

  • エクセルと時間の計算

    エクセルと時間の計算 エクセル2003で以下のような表を作りました。 C列の金額には、「20分毎に200円加算される」金額を入力したいです。 できれば、A列の値と200円で計算したいのですが、どんな数式をいれれば いいでしょうか。20分単位で切り上げたいので、CEILING関数を使うのでしょうか。 教えてください。

  • エクセルの計算式について

    よろしくお願いします。エクセルの計算方法についてご指導の程よろしくお願い致します。 A1からA5に数値を入力して、A6にその合計金額を出すために =SUM(A1:A5)左記のように記述しました。これについては正常にA6の部分に合計金額が表示されましたが、A1に入力した売上金額を、B1に税抜き金額にして表示したく、以下のような表記をしました。 =A1/1.05 A1には¥70,000円と記述をしましたが これですと、B1には税抜きで¥66.500円と表示されると思ったのですが、¥66.667と表示されてしまいました。 何か、記述方法が間違えているのでしょうか? どなた様か、ご指導の程よろしくお願い致します。

  • エクセルでの時間の計算

    お世話になります。 エクセルで時間の計算をしています。 ある時間、例えば2:00を0:15で割ると、 シリアル値では8.0000...で割り切れます。 小数点以下が時間になるので、時間で表現すると0:00です。 ところが、19:00引く17:00をすると2:00になりますが、 これをイコールで別のセル(例えばA1)に表示させ、 さらに別のセルで、mod(A1,time(0,15,0))にすると割り切れず、0:15となって余りがでます。 仮にA1/time(0,15,0)とすると、シリアル値は8で割り切れます。 なぜでしょうか? やりたいのは、時間計算した結果が15分単位になっているかどうかを判別したのです。 時間計算していない2:00を0:15で割るとシリアル値では少数以下がゼロとなって 割り切れるからOKとなるのに、 時間計算された2:00をtime(0,15,0)で割ると0:15になってしまいます。 これがもし30分単位のtime(0,30,0)だと、時間計算されたセルの2:00でも 少数以下がちゃんとゼロになってくれます。(modを使った余りの計算) また、この他にもなにか15分単位になっているかを判別する方法は有るでしょうか? intをつかって時間-int時間で余りが出ないかで判別等もやってみましたが どうもうまくいきません。 どうかご教授下さい。m(_ _)m

  • Excelでの計算式

    計算式を入力していて、計算内容を消すとエラーが出てしまうので、それを防止する方法を教えてください。 たとえば、A1からA10までの合計をA11に=A1+A2+A5+A9という式を入れて、あとでA5のセルを削除するとA11にエラーが出てしまいます。 エラーを表示させなくして、自動的にA5を除いた、合計を表示させたいです。 御願いします

  • エクセルで計算結果を合わせる方法を教えて下さい

    給与明細を作成しています。 一例なんですが A1 (1)時間×単価1(小数点を切上げ) A2 (2)時間×単価2(小数点を切上げ) A3 (3)日数×単価3(整数のみ) A4 A1+A2+A3 以上の数値は実際には円単位で明記しますので下のように切り上げて整数にしました(( )内が本来の結果です) A1→62.25×930=57,893(57,892.5) A2→1.75×233=408(407.75) A3→5×320=1,600 A4→59,901 ところが実際には59,900円と表示されます。 A1~A3に表示された金額でA4の合計金額を合わせるにはどのようにしたらいいでしょうか。 よろしくお願いします。

  • エクセルのIF関数について

    銀行振込手数料を計算したいのですが A列に金額、B列に手数料が表示された表を作成しています。 Aの金額が30000円以上が525円、 30000円以下が315円、 0円の時は0円と表示させたいのです。 単純なのかも知れないのですが・・・・教えてください。

  • エクセルで計算式を作りたい

    エクセルで[C列]に<A列/B列>の計算の結果、割り切れる場合はその数字を、割り切れない場合はNGやエラーといった表示が出て識別できるよう式を入れたいのですが、どのように計算式を組めばいいでしょうか? [C列]の計算結果は整数だけでなく少数でも割り切れれば数字が入るようにしたいです。 R/C [A]    [B]   [C]  [1] 金額   個入  単価  [2] 15,000  145   NG  [3] 15,000  150   100  [4] 15,000  144   NG

  • 株取引の手数料をエクセルで計算したいのですが。

    株の取引き手数料の計算をエクセルで簡単に確認したいのですが、取引きしている証券会社の手数料がちょっと細かくて私の乏しい知識では計算式が難しくて表を作成できません。 下の一覧が手数料ですが、これだけの条件を例えばA1のセルに取引き金額を入力するとB1のセルに手数料を表示することは可能でしょうか? 毎日1、2回の取引きをしていますが、いちいち電卓叩いて損益を計算しています。 普段はせいぜい1行目から3行目くらいまでしか使わないんですが、5行目までくらいと小数点以下切り捨てまでの計算をA1、B1のセルだけに表示するにはどのようにしたらいいでしょうか。 よろしくお願いします。 OS : windows7 professional-64bit Excel2007     ~ 1,000,000円 1.242% 最低2700円 ×1.08 1,000,001 ~ 2,000,000円 0.9180% + 3,240円 ×1.08   2,000,001 ~ 3,000,000円 0.8910% + 3,780円 ×1.08 3,000,001 ~ 4,000,000円 0.8424% + 5,238円 ×1.08 4,000,001 ~ 5,000,000円 0.8316% + 5,670円 ×1.08 5,000,001 ~ 10,000,000円 0.7128% + 11,610円 ×1.08 10,000,001 ~ 30,000,000円 0.5724% + 25,650円 ×1.08 30,000,001 ~ 50,000,000円 0.2700% + 116,370円 ×1.08 50,000,001 ~ 0.0864% + 208,170円 ×1.08 小数点以下切り捨て  

  • エクセルの計算式について質問したいのでよろしくお願いします。

    エクセルの計算式について質問したいのでよろしくお願いします。 A1セルに15,250  B1セルに3,780 と入力しC1セルにA1とB1の合計金額を出すために C1セルに=A1+B1と入力しました。するとC1セルには、19,030と表示されました。 ここまでは特別記述方法に問題は無いと思いますが、C1セルに表示された19,030の5パーセントをD1セルに自動的に表示させることは出来ないものでしょうか?以下のように記述してみたのですがうまくいきません。 =C1*5 少し、質問の趣旨がずれてしまうかも知れませんが、当該金額の5パーセントを求めたい場合には =C1*0.5と入力するのでしょうか? 仮に、そうだとすると表示される数値は当該金額の5パーセントでは無く、0.5パーセントが表示されるのでは無いでしょか? 19,030の0.5パーセント=95.15 19,030の5パーセント=951.5 上記は19,030×0.5%や19,030×5%として電卓で計算をしてみました。 どなた様か、ご指導のほどよろしくお願いします。

  • エクセルで教えてください!

    エクセルの計算式で教えてください。 例えばA1~A100まで仕入れ金額が入っていたとします。 お客様に一律仕入れ÷0.85の入力をしたいのですがA1にはどんな関数を 入れればいいでしょうか? 大至急教えてください、 よろしくお願いいたします。

専門家に質問してみよう