最近有網友一直問到關於 Excel 中的「循環參照」問題,有時候這是基於在運算式中兩個儲存格彼此有參照的行為,導致無法正確的運算。然而,有些時候,反而要運用循環參照,啟用反覆運算來獲取某些運算結果。

如果你在 Excel 的[檔案/選項]中的「公式」頁面中,沒有「啟用反覆運算」:

一旦你的公式中出現了循環參照時,例如:在儲存格A2中輸入公式:=A2+1,很明顯的自己等於自己加1,你就會收到警告訊息:

如果你勾選了「啟用反覆運算」,並且設定運算的最高次數(次數愈多,運算時間愈長):

以本例:運算最高100次為例,則反覆運算結果則為:100。

如果你使用以下的例子(運算最高100次):

儲存格A2:=A4+1,結果為298

儲存格A3:=A2+1,結果為299

儲存格A4:=A3+1,結果為300

參考下圖右的說明:

你可以每按一下 F9 鍵(執行重運算),以下為按三下 F9 鍵,產生的結果:

  

試著來多做幾個練習:

練習一:產生六個 1 ~ 49 且不重覆的亂數

儲存格A2:=IF(COUNTIF($A2:$F2,A2)>1,INT(RAND()*49)+1,A2)

INT(RAND()*49)+1:產生 1 ~ 49 的亂數整數值。

COUNTIF($A2:$F2,A2)>1:檢驗儲存格A2:F2中儲存格A2數值的個數,如果大於 1,表示有重覆。(如果有重覆,則再產生一次亂數。)

複製儲存格A2,貼至儲存格A2:F2。

 

練習二:產生六個數字總和要維持為 30

image

=IF(SUM($A$2:$F$2)<>30,INT(RAND()*10),A2)

 

練習三:如果代入不同 n 值求以下多重開根號的結果

參考以前的文章說明:http://isvincent.pixnet.net/blog/post/30200325

 

練習四:模擬踩地雷亂數產生地雷

參考以前的文章說明:http://isvincent.pixnet.net/blog/post/31083038

 

練習五:在 NXN 數字方陣填入不重覆數字

2f45c4dabf031b13bd3810b479669c3f

參考以前的文章說明:http://isvincent.pixnet.net/blog/post/31105770

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(1) 人氣()