- ベストアンサー
excelでの足し算
こんにちは。 excelで、複数シートで大量の足し算を行なっており、シートを開くのに すごく時間が掛かってしまいます。 足し算自体は、単純なものですが、sum関数を使った場合と、+(プラス) 記号を使った場合では、どちらの方が処理が速く終わるのでしょうか? また、 =A1+A2 と =sum(A1:A2) と =A1+A2+A3 と =sum(A1:A3) で処理速度の違いはあるでしょうか? ご存じの方がいらっしゃいましたらご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Excel2010です。 行の和 =SUM(A1:A100) B列も同じで計算式を2つ入れた。 と =A1+A2+A3+A4+A5+A6+A7+A8+A9+A10+A11+A12+A13+A14+A15+A16+A17+A18+A19+A20+A21+A22+A23+A24+A25+A26+A27+A28+A29+A30+A31+A32+A33+A34+A35+A36+A37+A38+A39+A40+A41+A42+A43+A44+A45+A46+A47+A48+A49+A50+A51+A52+A53+A54+A55+A56+A57+A58+A59+A60+A61+A62+A63+A64+A65+A66+A67+A68+A69+A70+A71+A72+A73+A74+A75+A76+A77+A78+A79+A80+A81+A82+A83+A84+A85+A86+A87+A88+A89+A90+A91+A92+A93+A94+A95+A96+A97+A98+A99+A100 B列も同じで計算式を2つ入れた。 で、100万回の再計算を5回させて、時間を計りました。私の環境で、各回とも22~23秒で、ちがいは1秒以内で差はほとんどありませんでした。5回の計算とは別にやったとき17~18秒という結果が出た時もありました。 SUM関数と+でつないだ式の間には差はありませんでした。 列の和 =SUM(A1:CV1) 行2も同じで、計算式を2つ入れた。 と =A1+B1+C1+D1+E1+F1+G1+H1+I1+J1+K1+L1+M1+N1+O1+P1+Q1+R1+S1+T1+U1+V1+W1+X1+Y1+Z1+AA1+AB1+AC1+AD1+AE1+AF1+AG1+AH1+AI1+AJ1+AK1+AL1+AM1+AN1+AO1+AP1+AQ1+AR1+AS1+AT1+AU1+AV1+AW1+AX1+AY1+AZ1+BA1+BB1+BC1+BD1+BE1+BF1+BG1+BH1+BI1+BJ1+BK1+BL1+BM1+BN1+BO1+BP1+BQ1+BR1+BS1+BT1+BU1+BV1+BW1+BX1+BY1+BZ1+CA1+CB1+CC1+CD1+CE1+CF1+CG1+CH1+CI1+CJ1+CK1+CL1+CM1+CN1+CO1+CP1+CQ1+CR1+CS1+CT1+CU1+CV1 行2も同じで、計算式を2つ入れた。 で、100万回の再計算を5回させて、時間を計りました。私の環境で、各回とも17~18秒で、ちがいはは1秒以内で差はほとんどありませんでした。 SUM関数と+でつないだ式の間には差はありませんでした。 行の方がなぜ遅かったのかはわかりません。 SUM関数と+でつないだ式の間に差は見られませんでした。 また、Excel2003でも同様な結果でした。ただし、+でつなぐのは、30個までです。 時間計測VBA例 Sub test() For m = 1 To 5 t0 = Time For i = 1 To 1000 For j = 1 To 1000 Calculate Next Next t1 = Time Cells(m + 4, 5) = t1 - t0 Next End Sub
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
SUM関数を使った方が早いですね。詳しくは次のURLを参考にしてはいかがでしょう。 http://msdn.microsoft.com/ja-jp/library/ff700515.aspx
お礼
なるほど。参考になりました。ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
では試しに実際に,A1セルに 式1: =B1+C1+D1+ … CW1 という具合に100個のセルを足し算してみた場合と, たとえば 式2: =SUM(B1:CW1) という具合に100個のセルをまとめてSUMで合計する計算とで,掛かる時間を実測してみます。 すると式2の方が,式1の60%の時間で計算が終わるという結果になりました。 ただし。 だからと言って,たとえば 式3: =SUM(B1,C1,D1) だとか,ましてや 式4: =SUM(B1+C1+D1) のようにしたのでは全く高速化にならないので,注意してください。 式4は式1よりも(当然ですが)遅くなります。 式3は,単純には比較は難しいですが,式1とほぼ同じだけ時間が掛かります。
お礼
わざわざ確認頂きましてありがとうございました。 同じsum関数を使うにも、関数に渡すパラメタによって演算速度に差が 生まれるのですね。 大変参考になりました。ありがとうございました。
お礼
わざわざ確認して頂きましてありがとうございました。 大変参考になりました。