獻上循環引用一例(說明)_第1頁
獻上循環引用一例(說明)_第2頁
獻上循環引用一例(說明)_第3頁
獻上循環引用一例(說明)_第4頁
獻上循環引用一例(說明)_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

,以下是實現的大體思路和步驟:,,,,,,,,,,,,,,,,,,,,,,

,,前提工作:,,,,,,,,,,,,,,,,,,,,,

,,1),,在[工具(Tools)/選項(Options)/重新計算(Calculation)]中,確定[自動運算(Automatic)]被選中。,,,,,,,,,,,,,,,,,,,

,,2),,在[工具(Tools)/選項(Options)/重新計算(Calculation)]中,確定[反復操作(Iteration)]被選上。,,,,,,,,,,,,,,,,,,,

,,3),,在[最多迭代次數(MaximumIterations)]中輸入1。,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,說明:其中第二項是Excel中啟用循環引用的必要條件。第三項表示迭代循環一次。,,,,,,,,,,,,,,,,,,,

,,實現關鍵:,,,,,,,,,,,,,,,,,,,,,

,,,,先用一個實例了解一下核心技術:,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始單元格:,,,,,,,,,111,,,,,,,,(在這里輸入數據),,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除記憶標識單元格:,,,,,,,,,0,,,,,,,,"這一項技術很重要!它有點像編程環境(IDE)中的""Run""和""Stop""。",,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,觸發標志單元格:,,,,,,,,,1,,,,,,,,這一技術對于得到與計劃目標一致的內容來說很重要。,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有記憶功能的單元格:,,,,,,,,,0,,,,,,,,,,

,,,,臨時單元格:,,,,,,,,,111,,,,,,,,,,

,,,,如果上面的內容還沒有想明白其關系,可以再看看下面的方法:,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始單元格:,,,,,,,,,222,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除記憶標識單元格:,,,,,,,,,0,,,,,,=1or0,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,觸發標志單元格:,,,,,,,,,2,,,,,,"=IF(N29=1,0,IF(N31<2,N31+1,N31))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有記憶功能的單元格:,,,,,,,,,111,,,,,,"=IF(N29=1,0,IF(AND(N31=2,N33=0),N27,N33))",,,,

,,,,這兩項技術的關鍵差別在于:第二種方法的“清除記憶標識單元格”沒有設置數據有效性(Validation)!,,,,,,,,,,,,,,,,,,,

,,,,不知道這算不算MicrosoftExcel中的一個Bug!,,,,,,,,,,,,,,,,,,,

,,,,"當通過用""數據有效性(Validation)""的“列表(List)”方法更改數據時,Excel會自動重算2次!",,,,,,,,,,,,,,,,,,,

,,,,"即使在“[工具(Tools)/選項(Options)/重新計算(Calculation)]”的""[最多迭代次數(MaximumIterations)]""中輸入1,Excel也會重新運算2次!",,,,,,,,,,,,,,,,,,,

,,,,"換句話說,如果“[最多迭代次數(MaximumIterations)]""設置為n,那么Excel就會重新運算2*n次!",,,,,,,,,,,,,,,,,,,

,,,,這是在Excel2000下調試的結果,不知道ExcelXP中是否有同樣的問題。,,,,,,,,,,,,,,,,,,,

,,,,正是介于這一點,所以建議采用第二種方法。否則,你很可能會得到一些莫名的結果。(它曾經害得我好慘!),,,,,,,,,,,,,,,,,,,

,,,,"稍微將這項技術變形,就是""Interface""工作表的核心內容了。",,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始單元格:,,,,,,,,,item2,,,,,,輸入數據,,,,(空值忽略)

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除記憶標識單元格:,,,,,,,,,0,,,,,,=1or0,,,,1=清除歷史記錄

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,觸發標志單元格:,,,,,,,,,5,,,,,,"=IF(N51=1,0,IF(AND(N49<>0,N53<10),N53+1,N53))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有記憶功能的單元格:,,,,,,,,,item1,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N55=0,$N$49<>0),$N$49,N55))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N56=0,$N$49<>0),$N$49,N56))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N57=0,$N$49<>0),$N$49,N57))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N58=0,$N$49<>0),$N$49,N58))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N59=0,$N$49<>0),$N$49,N59))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N60=0,$N$49<>0),$N$49,N60))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N61=0,$N$49<>0),$N$49,N61))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N62=0,$N$49<>0),$N$49,N62))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N63=0,$N$49<>0),$N$49,N63))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N64=0,$N$49<>0),$N$49,N64))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,但是有個問題,當工作表再次重算時,“觸發標志單元格”就會自動+1,從而導致即使“原始單元格”內容沒有改變,,,,,,,,,,,,,,,,,,,,

,,,,“記憶單元格”也會自動增加項目。,,,,,,,,,,,,,,,,,,,

,,,,"就像上面的多個""item2""就是重算后自動生成的。(不信按F9或更改任意單元格內容試試)",,,,,,,,,,,,,,,,,,,

,,,,這樣就需要對“觸發標志單元格”進行調整,改變其條件。,,,,,,,,,,,,,,,,,,,

,,,,我想到的方法就是用“原始單元格”與最后輸入的內容作對比,如果一致,則不將本身+1。,,,,,,,,,,,,,,,,,,,

,,,,而這種技術就使得用戶不能夠連續輸入兩次同樣的數據。如果非要連續輸入兩次同樣的內容,先將”原始單元格“內容清空再添加。,,,,,,,,,,,,,,,,,,,

,,,,使用這種技術需要再添加兩個中介單元格,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始單元格:,,,,,,,,,item2,,,,,,輸入數據,,,,(空值忽略)

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除記憶標識單元格:,,,,,,,,,0,,,,,,=1or0,,,,1=清除歷史記錄

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,觸發標志單元格:,,,,,,,,,3,,,,,,"=IF(N79=1,0,IF(AND(N77<>0,N81<10,N77<>E96),N81+1,N81))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有記憶功能的單元格:,,,,,,,,,item1,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N83=0,$N$77<>0),$N$77,N83))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N84=0,$N$77<>0),$N$77,N84))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N85=0,$N$77<>0),$N$77,N85))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N86=0,$N$77<>0),$N$77,N86))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N87=0,$N$77<>0),$N$77,N87))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N88=0,$N$77<>0),$N$77,N88))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N89=0,$N$77<>0),$N$77,N89))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N90=0,$N$77<>0),$N$77,N90))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N91=0,$N$77<>0),$N$77,N91))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論