2017-12-14 35 views
1

私のスプレッドシートシーケンスを終了するために、私は通常、私の生徒にExcelで小さなカーレースシミュレーションを書き込ませる。私の新しい学校では、私は自分の気質にExcelを持っていないので、私たちはCalcですべてを行います(これは一般的に問題ありません)。しかし、Excelでうまくいき、Calcで働くことができないものがあります。Libreoffice calc:循環参照アキュムレータエラー:523または誤算

私は、すべての以前のダイスロールと現在のダイスロールの現在の合計を得るために、ダイスロール(シミュレートされた= int(rand()* 6)+1)の結果を加算するアキュムレータフィールドが必要です。

これは、反復計算を有効にすると可能です。次のように enter image description here

設定は以下のとおりです:しかし、私の現在の設定で、私はほとんどの時間は、次のエラーを取得する enter image description here

私は「最小cange:」を設定した場合、私は仕事に反復計算を得ることができます

に6.しかし、F9を押すと計算が正しく行われません。常に少なくともダイス値を2倍にしますが、ショーダイス値との関連性を持たないと思われる値になることがあります。

これは、単純に次の設定を使用して働いていたExcelで

enter image description here

例: ステップ:enter image description here ステップ+ 1:enter image description here

これは、OpenOfficeの/ LibreOfficeのCalcの中で動作するように取得する方法はあります?そうでない場合:Calcのアキュムレータフィールドを作成するにはどうすればよいですか?

ありがとうございます。

+1

私はバグレポートの1つと思っています:( – pnuts

+1

Hm ...どうしたらうまくいっているのか見てみましょう:https:// bugs .documentfoundation.org/show_bug.cgi?id = 114482 – SirSiggi

答えて

2

あなたのバグレポートにm.a.riosvさんのコメントがありますが、その人物が別の設定をしているか、A1の値に異なる発電機を使用していると思われます。 1と包括3の整数であることA1を簡素化

は(発生していないキー入力)1反復と最小1に設定すると、以下の(反復可能)パターンを示しています。私が今より確信

0 0 
1 2 
2 Err:523 
3 Err:523 
1 14 
2 Err:523 
3 Err:523 
1 26 
2 Err:523 
3 Err:523 
1 38 

ですが、倍増については正しいです。変更がある場合にも「最小の変化」(すなわち値の意義については、唯一以上 1(すなわち3から1に低下した場合)0またはから返され

ところで:。

Version: 5.4.3.2 (x64)
Build ID: 92a7159f7e4af62137622921e809f8546db437e5 CPU threads: 2; OS: Windows 6.29; UI render: default; Locale: en-GB (en_GB); Calc: group

(以前のLOバージョンとOOバージョン)

+0

あなたが守るvationは、次のことをしようとする私を導く: 反復:1 最小の変化:6 A2のための式:= A2 +(A1/2) ところで、使用可能な回避策。もう一度倍増を証明します。 – SirSiggi

+0

@Sirはい。(1)1回の繰り返しで最小限の変更で違いはありません。 (2)見た目は正確に計算されているかもしれませんが、ループの代わりに、次の反復が大きな違いを生むかどうかを確認すると、結果は2倍になりますが、半分になります(次のステップ)。 – pnuts