Excel迭代運算的執行個體及概念

來源:互聯網
上載者:User

  Excel中的迭代運算,可以解決很多問題,同時,迭代運算也給很多學習新手帶來困擾。

  現在,本站給您詳細介紹什麼是Excel中的迭代運算,如何使用迭代運算。

  一、迭代運算的概念

  所謂的迭代運算,沒有什麼稀奇的,請大家不要相信所謂的磚家在某些“權威”書籍裡面所闡述的觀點。

  說得簡單點,迭代運算就是遞迴計算,或者也可以簡單的稱為迴圈運算。

  凡是學習過電腦程式設計的,沒有不知道遞迴運算的。

  如果您沒學習過遞迴,那麼,本站再給您介紹個簡單例子。

  例如解方程f(x)=0,牛頓切線法是這樣構造迭代格式的:X(n)=X(n-1)-f[X(n-1)]/f'[X(n-1)](n=1,2,3,……),在所考慮範圍內任意取一個值X(1),用上面迭代公式就可以求得X(2),X(3),……,從理論上講,當n→∞時,得到的就是方程的根,但實際上我們總不能將迭代次數進行到無窮大,需要在某一時刻停止迭代,通常有兩種方式來控制迭代次數:

  1、選擇迭代次數n,當迭代次數達到n時,停止迭代;

  2、選擇精度ε,當|X(n)-X(n-1)|<ε時,停止迭代。

  EXCEL裡預設的迭代次數是n=100,精度ε=0.001,在工具→選項裡可以自己設定,使求得的結果近似程度更好些。

  二、迭代運算的使用

  比如,您在A1儲存格輸入一個值10,然後,選擇B2儲存格,執行菜單操作:“工具”→“選項”,彈出如下圖對話方塊。

  勾√選“迭代計算”,然後輸入次數,比如本例的1,還可以設定最大誤差。

  好了,以後,確認並退出對話方塊。

  接著,再選擇B1儲存格,輸入公式:=A1+B1

  大家可能會發問,為什麼B1儲存格的公式為:=A1+B1,儲存格自身調用儲存格本身的值,這有悖於常理,一般來說,會彈出公式錯誤的提示。由於我們在上面已經設定好了迭代運算,所以不會彈出提示。

  您可能明白了吧,儲存格本身調用自身的資料進行運算後再把結果拿給儲存格本身。這就是迭代運算,也是迴圈運算。

  下面的內容,將會給出迭代運算的自訂函數代碼。

  三、迭代運算的常見問題

  問題:整個表格中任何一個方格資料的更新都會引起B1的迭代更新,即導致B1的資料發生改變。

  原因:Excel的函數和公式都是全域的,不論哪個方格資料的更新,當前表格中所有方格的資料都會重新計算並更新。

  解決方案:把B1的無條件更新改為受限制的.選擇B1,輸入" =if(cell("address")="$a$1",a1+b1,b1)"。選擇B1並向下拖動,可將迭代計算擴充到同列其它行,if函數的參數2和參數3能自動更新,參數1中的"$a$1"因為是字串,所以不會自動更新,因此需要手動更改,比如第2行為=if(cell("address")="$a$1",a2+b2,b2),將$a$1改為$a$2即可,依此類推。

  注意:

  1.根據函數的限制條件,在A1方格輸入資料後,按Enter鍵或TAB鍵都可以更新B1,但使用滑鼠點其它方格,則B1不能迭代更新。

  2.不要在某一個方格具有輸入焦點時點擊A1,因為這樣會使B1迭代更新。

  四、迭代運算的自訂函數

  以下的函數代碼就是迭代運算的函數代碼之一。

  Function MyDD(i As Single) As Single

  i = i / 5

  If i < 5 Then

  MyDD = i

  Else

  MyDD = MyDD(i)

  End If

  End Function

  懂得程式設計的人都明白,上述的迭代運算函數代碼,其實就是遞迴代碼,換句話說,也是迴圈代碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.