エクセルで再計算のエラーが出る
エクセルで、INDEX関数と循環参照を使って表を作っています。
<INDEX>
Sheet1には、A列に名前(2000ケースくらい)、B列以降に毎日のある数字(100日分)が入力されています。
ただし、A列に名前はあるが、B列以降に数字が入力されていない場合も混じってあります。
Sheet2にはINDEX関数を使って、あるセルC1に「1」と入力すればSheet1のA1の毎日の数字がSheet2のA1からA100に参照されるように作ってあります。
C1に「2」と入力すればSheet1のA2の毎日の数字が参照されます。
<循環参照>
上記のSheet2にでは、明らかに少なすぎるデータを欠損データとするように循環参照をしています。
具体的には、とある1日のデータが、100日分の平均値の10分の1未満の場合には欠損とするようにしてあります。
Sheet2のセルA1からA100に100日分の数値がINDEXで参照されており、
セルB1に「=if(A1="","",if(A1=0,"",if(A1<A102,"",A1)))」
セルB2~B100までB1と同様の計算式
セルB102に「=B102/10」
セルB101に「=average(B1:B100)」
と、循環参照させてあります。
エクセルのオプションの「数式」の「ブックの計算」は自動、「反復計算を行う」にチェックし反復回数は100(100日分あるため)、変化の最大値は1(小数点以下の数値は必要ないので)にしてあります。
<計算エラー>
上記のINDEXと循環参照を利用して通常は問題はありませんが、
Sheet1に数値が入力されていないケースが出た後にエラーが出て来ます。
Sheet1のA列で、例えばA4のケースに100日分のデータが入力されていなかったとします。
Sheet2のC1に1~3の数値を入力した時は問題ありませんが、4を入力したらB列は全て「#NUM」と表示されます。
これは、循環参照をするにもできないからなので、理解できます。
その後は、C1に何を入力しても(さっきは問題なかった1~3を入力しても)、「#NUM!」が表示されたままになり、循環参照の再計算がうまくいきません。
主動でF9を押して再計算も「#NUM!」のままになります。
どのようにすれば、これを回避できるでしょうか?
最終的には、グラフ等を作成して、マクロを組んで一括で数百ケース程を印刷しようと思っています。
アドバイスよろしくお願いいたします。
※
Office Home and Business 2010
Windows7 professional 32bit
を使用しています。
お礼
有難う御座います。大変勉強になりました。自分の事務処理レベルではあまり使いそうも無いですが、とても面白い機能ですね。