如下的計算ecel中的if函式巢狀層數超過允許值以

時間 2021-06-26 18:24:21

1樓:眯住眼串針

公式也很長。。。

=(a16-lookup(a16,,))*indirect("c"&lookup(a16,,))+if(a16>100,sum(indirect("d4:d"&lookup(a16,,)-1)),0)

2樓:匿名使用者

用 vba 吧看著就頭大

sub ss()

dim i, j, l, mg

select case [a16]

case is <= 100: i = 3: j = 0

case is <= 500: i = 4: j = 100

case is <= 1000: i = 5: j = 500

case is <= 5000: i = 6: j = 1000

case is <= 10000: i = 7: j = 5000

case is <= 50000: i = 8: j = 10000

case is <= 100000: i = 9: j = 50000

case is <= 500000: i = 10: j = 100000

case is <= 1000000: i = 11: j = 500000

case is > 1000000: i = 12: j = 1000000

end select

if i = 3 then

[b16] = [a16] * [c4]

else

mg = range(cells(i, 4), cells(4, 4))

[b16] = ([a16] - j) * cells(i + 1, 3) + worksheetfunction.sum(mg)

end if

end sub

excel2003,if命令巢狀層數超出了允許值該怎麼辦

3樓:指兔為馬

我建議的方法。

建一個對應關係表,然後用vlookup在資料表查詢對應關係。

如果對應關係很多,且一直需要用這個轉換關係,就建議儲存好,每次更新對應關係後都儲存好備用。

4樓:釋普定法師

a2公式:

2003版:

=if(iserror(find(a1,"一二三四五六七**")),0,find(a1,"一二三四五六七**"))

2007版:

=iferror(find(a1,"一二三四五六七**"),)或陣列公式:

2003版:

=if(or(a1=text(row(1:9),"[dbnum1]")),match(a1,text(row(1:9),"[dbnum1]"),),0)

2007版:

=iferror(match(a1,text(row(1:9),"[dbnum1]"),),)

按ctrl+shift+回車鍵結束。

5樓:匿名使用者

2007是不受7層限制的,2003你可以這樣解決,把條件的對應的資料輸入到某個區域,比如把它輸入到mn列,在m列輸入一,二……,n列1、2……。然後你在a2輸入=if(a1="","",vlookup(a1,m:n,2,0))

6樓:匿名使用者

用vlookup函式就行了,公式中一對應1,二對就2,三對3,可以自行修改對應的關係,也可以按照大括號中的格式自己增加對應的專案。

對應一到九公式:

=vlookup(a1,,2,)

這個是對應一到二十的公式:

=vlookup(a1,,2,)

如果對應關係較多,建議手工先在一個單元格區域中輸入對就關係,然後用公式引用這個單元格區域,這樣公式比較簡潔:

如,先在g和h列輸入好以上的對應關係,然後公式改為這樣就行了:

=vlookup(a1,g:h,2,)

excel的if函式巢狀超過七層怎麼辦,一共有18個範圍,具體公式如下

7樓:匿名使用者

首先你的公式表述就是錯誤的,0<=f2<340這樣是錯誤的,應該是and(f2>=0,f2<340)

其次,你的公式並不需要18層處理,你前面的只需要一個if完成4.5值的,你用了4個

而根據你的公式來看,完全可以用lookup函式處理。

=lookup(f2,)

在{}中寫{大於等於的那個值,對應的那個值;大於等於的值,對應的值}一個對應值用分號

你自己補充進去就行了。

8樓:匿名使用者

可以自己在vba 環境 用 select case語句 寫個自定義的函式,所有處理都在函式裡做 ,**裡所要做的只有一件事 呼叫自定義的函式 並把數值傳進去 很簡單的哈

前提條件是 你知道怎樣開啟 excel 的vba 環境方法:工具-->巨集-->visual basic 編輯器在左邊的工程資源管理器右鍵 插入-->模組編寫自定義函式

function myfun(number) as doubleif 0 < number < 340 then myfun = 4.5

if 340 <= number < 410 then myfun = 4.5

......

end function

在非f2的**裡寫 =myfun(f2)就ok了

9樓:匿名使用者

不用這麼複雜,找兩列(d、e),把比較的對應關係放進去,假設要判斷的資料在a1,b1是判斷結果的話,那麼b1=lookup(a1,d1:e18)

excel使用if函式巢狀超過七層怎麼辦

10樓:李洪均

excel2007及以上版本支援更多層巢狀

11樓:匿名使用者

............................................

ecel中的count函式怎麼用

榴蓮泡芙小蛋糕 1 count函式是計數函式。count函式可以引用各種型別資料的引數1 到 30個。可以是單元格,數字 日期等,但必須是數字形式 2 輸入10個數字,再用公式 count a1 a10 計算幾個單元格有數,回車之後,得到結果 3 輸入8個日期,再輸入公式 count c1 c8 計...

ecel裡用if函式寫滿足多個條件的計算應該怎麼寫

海天盛 如果將函式與 符號和 符號結合起來寫通用公式,可以滿足多種條件下的計算要求。如下參考 1.首先,開啟excel 將需要判斷的資料輸入到工作表中,如下圖。2.然後在d1信源中輸入公式 if a1 2 b1 2 yes no 3.按下ctrl shift enter後,zdd1單元格根據if函式...

ecel的if函式中條件區域怎麼輸

萬年金剛鑽 怎麼輸?根據需求,也就是判斷的依據可以是下面的任何一種或組合 a1 1 b2 3 c4 錯 sum a1 b3 5 等等等等 舍火烈風 可以直接輸入a1 f19這樣的區域,也可以用滑鼠進行選擇 應用達人 一,if函式的公式是 if 邏輯表示式,如果結果為真時的表示式,如果結果為假時的表示...