• ベストアンサー

セル引用計算とセル内計算 どちらが負荷大?

現在エクセル表を使って簡易時間管理表を作っているのですが、 入力後の再計算にすこし固くなります。 エクセル内では多数の式がありますが、 どちらかというと、セル数字を入れて関数で引っ張る方が多いです。 定時等別段、数式でいれていいものまでセルから引っ張ってます。 またIFが重なるとややこしくなるので、いくつかのセルに中間の答えを求め最終セルで欲しい答えを求めたりしております。 これはもう少しまとめて一つのセル内でIFを駆使した方が軽くなるのでしょうか? 処理を軽くするにはどちらを多用したほうがいいのでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>個別集計シートはほとんどVLOOKUPは無く  : >といった感じの同じシート内で極力引っ張るようにしてます。 再掲: 定性的には、IFの重ねあわせで作成したほうが、すべてのIFを列を分けて計算するよりは「若干ですが」高速になると考えられます。 定量的にはほとんど影響ありません。 補足で掲示された実際の数式を眺めた様子では、このようにお話しした通りの状況であると評価できます。でも最初のご説明を読んで、あなた的には何か納得できない、それともこの式が重い原因になっていると思う、何かまだ説明されていない事実を掴んでいるということでしょうか? >最終集計のページに…とか…など >VLOOKUPだらけです。 再掲: 仮にVLOOKUP関数をFALSEの設定で使っていたりしたら、最悪です。 とご説明した、まさにその通りの状況であるように見えますが、あなたはどう思いましたか? では、実際に「最終集計」のシートを暫定的に一回「別ブックに移動」して現在運用中のブックから「外して」しまい、移動した最終シートブックを「閉じた」状態でデータの入力等をおこなってレスポンスを確認してみてはいかがでしょう。 #補足 「まだ説明されていないほかの要因」として、他にもたとえば、あまり設計が上手くない条件付書式を多用してたりとかでも、「重くなる」原因は考えられます。

hirotee
質問者

お礼

ご回答ありがとうございます。 ご指摘頂いた通り、「最終集計」を別bookに移動して再計算したところ、瞬間で計算が終わりました。 個別集計シートが増えても簡単に集計できるようVLOOKUPを使っていたのですが、 式自信に問題が無いか及びVLOOKUPを使わない式を考えてみます。 ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>セル数字を入れて関数で引っ張る方が多いです。 具体的に何関数を使っているのかが問題です。仮にVLOOKUP関数をFALSEの設定で使っていたりしたら、最悪です。 >IFが重なるとややこしくなるので、いくつかのセルに中間の答えを求め最終セルで欲しい答えを求めたりしております。 定性的には、IFの重ねあわせで作成したほうが、「すべてのIFを列を分けて計算する」よりは高速になると考えられます。 定量的にはほとんど影響ありません。

hirotee
質問者

お礼

早速のご回答ありがとうございます。 データシートは直接入力とSUMのみ 個別集計シートはほとんどVLOOKUPは無く =IF(S3="遅",IF(AND(C3>$B$22,C3<$B$23),((CEILING(C3,"0:30")-"8:30")*24),IF(C3>=$B$23,(((IF(CEILING(C3,"0:30")-"0:15">=C3,CEILING(C3,"0:30")-"0:15",CEILING(C3,"0:30")+"0:15")-"8:15")*24)-1),((IF(CEILING(C3,"0:30")-"0:15">=C3,CEILING(C3,"0:30")-"0:15",CEILING(C3,"0:30")+"0:15")-"8:15")*24))),0) といった感じの同じシート内で極力引っ張るようにしてます。 シートを超える場合は=カレンダー!C7のようにピンポイントで引っ張ってます。 ただ、最終集計のページに =IF($B5="","",INDIRECT($A5&"!R47C"&COLUMN(X6),FALSE)) とか =IF($A39="","",IF(COUNTIF(INDIRECT(E$3&"!S:S"),$A39),VLOOKUP($A39,INDIRECT(E$3&"!S:AD"),12,0),0)) など VLOOKUPだらけです。 VLOOKUPが重くなる一番の原因でしょうか? ※なにの関数を使っているかうまく説明できず、生データを貼らせて頂きました。  中身のセル番号、や数値は無視して頂ければ幸いです。

関連するQ&A