• ベストアンサー

計算を速くするために単純化したいのですが、これ以上は難しいでしょうか?

Noubleの回答

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.8

P.S. おっと! ネストの深さですか 質問者の示されたIF文はネストが6 私のは3だと思います なので質問者さんの式だと 後2段ネストを深くすると エクセルに計算を拒否されてしまいますね これ困りものなのですよね 見た目式に異常はないのに結果がエラーになるのですから かく言う私もここでの質問に対し解答しようと作った式がこれに陥り 泣きを見た経験があります (ーー;)ヾ

関連するQ&A

  • 計算式を教えてください。

    簡単に集計できる計算式があれば教えてください。 計算したい内容は毎日2種類の数値を入力しているのですがその数値には基準値があってその基準値を上回る部分だけを表示されるようにしたいのです。具体的には A列にはその日の商品「A」の実際の数値を入力 B列にはその日の商品「B」の実際の数値を入力 C列には商品「A」の数量-10ただし「A」「B」合計が20以下の場合は0 D列には商品「B」の数量-10ただし「A」「B」合計が20以下の場合は0 例えば、とある日の数量が商品「A」が12で商品「B」が10ならC列に2、D列に0とか、商品「A」が9で商品「B」が13ならC列に0、D列に2と自動的に表示されるといいのですが…IF関数でいろいろ試してみましたがギブアップです。どなたかこんな私に良きアドバイスをお願いいたします。

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

          A     B      C      D       E 1     -      -     #DIV/0!     -     #DIV/0! 2     -      -     #DIV/0!     -     #DIV/0! 3     -      -     #DIV/0!     -     #DIV/0! A1とB1 は整数値 C1には、=ROUNDDOWN((A1-B1)/A1,4) D1には、A1-B1 E1には、=ROUNDDOWN(IF((A1-B1)/A1>25%,(A1-B1)/0.35,0)+IF((A1-B1)/A1=25%,(A1-B1)/0.35,0),-3) が、2行目・3行目にも設定されている時  例えば、G1 のセルに E列の合計 SUM(E1:E3)を求めたいのですが、A1~B1 に整数が入ってないと(例えば、 0 の時)… G1 が、#DIV/0! となります。A1 B1 にだけ整数が入っていて、A2 B2 が 0 場合の、E列の合計が G1 に入るようにする方法について知りたいのですが…教えていただきたく、よろしくお願いいたします。

  • エクセルに以下のような複雑な計算をさせたいです。

    エクセルに以下のような条件の計算をさせたいです。 「2a , 3b , 5c , 6d , 8e , 10f」 a+b+c+d+e+fが上のどれよりも小さくなる場合の、 a,b,c,d,e,fの数字の組みわせで最も小さいものを求めたいです。 2a ≧ a+b+c+d+e+f 3b ≧ a+b+c+d+e+f 5c ≧ a+b+c+d+e+f 6d ≧ a+b+c+d+e+f 8e ≧ a+b+c+d+e+f 10f ≧ a+b+c+d+e+f (ただし、a,b,c,d,e,fは正の数) ※分かりやすいように、これらの数字は適当に入れたので、答えが無いかと思います。 実際は別の数字に置き換えます。 ※また、コンピュータが無限に計算し続けることを防ぐために上限を決めてもいいです 関数かマクロで計算させる方法を教えて下さい。 わかりやすくなるようにシンプルに説明しましたが、 実際は最大13組まで計算することになり、 自力でも計算してみましたが、とてつもなく時間がかかりました。 出来ればコンピューターに計算させたいと思い質問しました。

  • 【関数】エクセルでの時間の計算

    いつもお世話になっております。 エクセルでの時間の計算に関する質問です。 下記のような30行ぐらいの表があり、A,B,C,D列は手打ち、E,F,G列は関数が入力されています。 この場合D2は空白ですが、両方に15ずつ入力されている場合もあります。  A  B  C D    E     F        G 8:00 8:30 30 _ =(B2-A2)*24 =(C2+D2)/60 =IF(E2=F2,"〇","×") 結果、判定をしたいG列が〇になったり×になったりしますが、それがなぜなのか教えてください。

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

    エクセル2007の計算についてですが、A列に100個データがあり、B列とC列にそれぞれ1個データがあるとします。そこで、D列のD1にA1*B1-C1の計算結果を表示させました。次に、D2以下も同様の計算をするために、D1のセルを選択して、矢印無しの十字キーを下に伸ばしてD2にA2*B1-C1、D3にA3*B1-C1・・・、D100にA100*B1-C1の結果を表示させようとすると、100個分の計算結果は表示できるのですが、D2はA2*B2-C2、D3はA3*B3-C3・・・というように、B列とC列も一つずつ下がって計算されてしまいます。この場合、B列とC列には1個しかデータがない(B1に一個、C1に一個)ため、D2以下の計算結果は0になります。B列とC列を下げずに、A列のデータだけ下げて連続計算するにはどうすればよろしいでしょうか。

  • エクセル(時間計算)教えてください

    エクセルの時間計算を教えてください 8:00以下の入力なら、8:00とでてほしくて、8:00以上の入力ならその時間がでるようにしたいのです。 (労働時間のセルB2~B5に実際の労働時間を入力すると、所定時間セルC2~C5にでるようにしたい) IFかと思うのですが、時間だとうまくいかなくて。。。 教えてください。宜しくお願いします。         A     B        C 1           労働時間  所定時間 2      Aさん  8:00     8:00 3      Bさん  6:00     8:00 4      Cさん     8:10     8:10 5      Dさん     12:30     12:30

  • 簡単そうで難しい計算

    簡単そうで難しい計算 A1に3 A2に4 A3に5 A4に7、B1に6 B2に7 B3に12 B4に13 B5に16、C1に1 C2に6 C3に7 C4に8 C5に9、D1に12 D2に13 D3に14 D4に20、E1に13 E2に15 E3に16の数値が入力されています。それぞれ列の少ない数値からA+B+C+D+Eの加算合計値を表示できないでしょうか?自分で調べてみたのですが順列で組み合わせの数値を出す計算式はあったのですが、その組み合わせの加算値を出す方法はわかりませんでした。 合計値と共に3+6+1+12+13 3+6+1+12+15 のように何を組み合わせたかも知りたいです。 グループ内の数値の組み合わせ点数を知りたいので、この様なものが必要になってしまい安易に考えていたのですが、私では手に負えません。 どうぞよろしくお願い申し上げます。

  • エクセル2007でのIF関数と時間の計算

    A1,B1,C1,D1に時間をh:mmで入力します。 E1セルに次の答えを返したいのですが、数式をどうすればいいでしょうか。 もし、A1とB1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を もし、C1とD1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を E1セルに表示する。 なお、A1からD1に何も入力しないときは、E1も空白にしたいです。 また、「A1 または B1」に時間データが入力された場合は、「C1またはD1」には時間データへの入力はありません。 同様に、「C1またはD1」に時間データが入力された場合は、「A1またはB1」には時間データへの入力はないという形式の表です。

  • エクセルでの連番の処理

    お世話になります。 1行目に入力されたデータをルールに沿って2行目以下にどんどん追加していきたいと思っています。 まずD1、E1のセルに数字を入れます。 例:D1に3、E1に25 を入れてマクロを実行するとD列の2行目以下に3,4,5,6…25と連番で入力出来るようにしたいのです。 この例ではD列は24行目まで入力されています。そこで2行目から24行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。なおA,B,C列は数字、文字列どちらもあります。空白の場合もあります。 この状態でA~E列の1行目のデータを変更し、仮にD1を2、E1を15としたとします。ここで再度マクロを実行すればD25に2、そして順に連番が入りD38に15が入るようにします。 同時に25行目から38行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。 これの繰り返しです。 つまり2行目以下のD列で空白の行以下にどんどん連番を入れていく具合です。 前提としてD1、E1は整数しか入りません。またE1の数字はD1より大きいです。ただD1,E1に同じ数字が入った場合、その数字の1行分だけが入力されるようにします。 以上の処理が自動化できるマクロはできますか? アドバイス願います。

  • C言語で計算が合いません(初心者)

    C言語で計算が合いません(初心者) 簡単な計算のプログミングをしているのですが 計算が合わなくて困っています。 整数型変数aと実数型変数bを定義 整数型変数cとdを定義して、c=0.5*a*b、d=a/2*b 実数型変数eとfを定義して、e=0.5*a*b、f=a/2*b という内容のプログラムを作ったのですが a=7,b=2.4を代入してみた結果 ---------------------------- Input a>>7 Input b>>2.4 8 7 8.400000 7.200000 ---------------------------- となりました どこが間違っているのでしょう? 答えは8.4でcが8なのは有効数字のためだと思いますが dとeで答えが全く違う理由が分かりません。 下に私が書いたものを貼っています。 ---------------------------- #include<stdio.h> int main(void){ int a,c,d; double b,e,f,ans; printf("Input a>>"); scanf("%d",&a); printf("Input b>>"); scanf("%lf",&b); c=0.5*a*b; printf("%d\n",c); d=a/2*b; printf("%d\n",d); e=0.5*a*b; printf("%lf\n",e); f=a/2*b; printf("%lf\n",f); return 0; } ---------------------------- よろしくお願いします。