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

2021-06-26 18:24:19 字數 2953 閱讀 5040

1樓:眯住眼串針

公式也很長。。。

>

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中如何能對if函式計算的結果進行求和

b5單元格插入函式sumif range 條件判斷的單元格區域為a2 a4 criteria 判定條件 為 8 sumrange 求和單元格區域 為 b2 b4 確定,結果為2.這是因為你的條件函式使用不當,得出的結果為文字,所以不能正確求和,請將條件公式改為 if a2 8,0,1 這樣就可以用公...

在ecel怎樣用ecel函式公式計算時間差

嘿嘿vb的函式不適用,還是這樣 1.設定日期格式選擇a,b兩列 格式 單元格 數字,分類中選 時間 型別中選 1 30pm 確定。2。輸入 b1 a1,回車,下拉。時間在excel中,是作為小數儲存的,可以直接計算。這個小數,是按照每天86400秒計算的。如果因為超過1天出錯,就加上日期。日期在ex...

ecel函式中sumif函式的使用方法

sumif函式語法是 sumif range,criteria,sum range sumif函式的引數如下 第一個引數 range為條件區域,用於條件判斷的單元格區域。第二個引數 criteria是求和條件,由數字 邏輯表示式等組成的判定條件。第三個引數 sum range 為實際求和區域,需要求...