ecel2019中if函式巢狀超過了怎麼辦

2021-12-19 04:54:18 字數 5483 閱讀 3451

1樓:匿名使用者

親,把上面這張表錄入到工作表中(如sheet2的a1:o17按順序錄入上表)。

e10公式:

=vlookup(b10,sheet2!$a:o,d10+1,0)如果不會弄,把資料表錄好了,發給我。

315716185

2樓:匿名使用者

將已知資料建表,然後通過index+match函式查詢引用資料。

在e10單元格輸入

=index($h$2:$u$17,match(b10,g$2:g$17,0),d10)

公式表示:在h2:j17單元格區域,由b10在g2:g17中的位置算作行號,以d10算作列號,交叉單元格即為引用資料。

詳見附圖

3樓:

if函式最多可以巢狀64層,可以考慮用其他函式功能替換,比如vlookup或者lookup函式能夠實現多條件的查詢和引用。

替換方法就是將if中的條件,變成vlookup中的第乙個引數,就是需要查詢的數值、引用或者文字字串,可以返回對應條件的匹配值。

舉個例子,64層有些長,舉個4層的例子,原理是一樣的。

根據對應班級,返回學生班主任的名字

使用if函式,巢狀4層,如果64層,公式長度可想而知。

使用vlookup函式,十分簡便,不論多少條件,都可以這麼寫。

附上vlookup函式用法

vlookup函式

在**或數值陣列的首列查詢指定的數值,並由此返回**或陣列當前行中指定列處的數值。當比較值位於資料表首列時,可以使用函式 vlookup 代替函式

hlookup。

在 vlookup 中的 v 代表垂直。

語法vlookup(lookup_value,table_array,col_index_num,range_lookup)

lookup_value  為需要在陣列第一列中查詢的數值。lookup_value

可以為數值、引用或文字字串。

table_array  為需要在其中查詢資料的資料表。可以使用對區域或區域名稱的引用,例如資料庫或資料清單。

如果 range_lookup 為 true,則 table_array

的第一列中的數值必須按公升序排列:…、-2、-1、0、1、2、…、-z、false、true;否則,函式 vlookup 不能返回正確的數值。如果

range_lookup 為 false,table_array 不必進行排序。

通過在「資料」選單中的「排序」中選擇「公升序」,可將數值按公升序排列。

table_array 的第一列中的數值可以為文字、數字或邏輯值。

文字不區分大小寫。

col_index_num   為 table_array 中待返回的匹配值的列序號。col_index_num 為 1 時,返回 table_array

第一列中的數值;col_index_num 為 2,返回 table_array 第二列中的數值,以此類推。如果 col_index_num 小於 1,函式

vlookup 返回錯誤值值 #value!;如果 col_index_num 大於 table_array 的列數,函式 vlookup 返回錯誤值

#ref!。

range_lookup   為一邏輯值,指明函式 vlookup 返回時是精確匹配還是近似匹配。如果為 true

或省略,則返回近似匹配值,也就是說,如果找不到精確匹配值,則返回小於 lookup_value 的最大數值;如果 range_value 為 false,函式

vlookup 將返回精確匹配值。如果找不到,則返回錯誤值 #n/a。

說明如果函式 vlookup 找不到 lookup_value,且 range_lookup 為 true,則使用小於等於 lookup_value

的最大值。

如果 lookup_value 小於 table_array 第一列中的最小數值,函式 vlookup 返回錯誤值 #n/a。

如果函式 vlookup 找不到 lookup_value 且 range_lookup 為 false,函式 vlookup 返回錯誤值 #n/a

4樓:長髮和尚

這樣的條件不要用if,另起一表,把你的條件寫好,用vlookup或用index match

excel中if函式超出8個限制值後怎麼破? 20

5樓:山桑弓

一定要用if的話,可以用連線符號把乙個if連起來

這樣,建議用vlookup之類的查詢與引用函式。

比如=vlookup(b4,,2,false)也可其中那個資料放在**的乙個地方作為輔助區域,這樣公式可以很短,比如放在f1:g20中,

=vlookup(b4,f1:g20,2,false)

6樓:

不用相容模式,儲存為xlsx,if可以超過7層;

不過公式可以簡化一下(並可以儲存為xls,以10個選項設計公式,可以根據實際增加):

下拉。

7樓:琴俊賀樓

同學,一般情況下if用到4、5個就沒意義了,可以換成vlookup函式

用vlookup很短的公式就可以解決,就算if不限制巢狀層數,你也不可能寫100次。

8樓:弗爾布雷斯

如果你編號和單重都以一一對應的可以先建立個對應關係表,然後改用vlookup

9樓:風之瘋子

你可以另外建個工作表(如表名為sheet2),把你所有的產品及單重都輸進去,例如a列為編號,b列為單重,假設有100個產品。

公式改為:=vlookup(b4,sheet2!a$1:b$100,2)

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

10樓:匿名使用者

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

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

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

=lookup(f2,)

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

你自己補充進去就行了。

11樓:匿名使用者

可以自己在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了

12樓:匿名使用者

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

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

13樓:李洪均

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

14樓:匿名使用者

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

excel中if函式中引用if超過7次怎麼辦?

15樓:風雨旋蟻芫

=if(>5,if(>10,,if(>9,,if(>8,,if(>7,,if(>6,,))))),if(>4,,if(>3,,if(>2,,if(>1,,)))))

先分段,就可以多幾層了,如很多就用其它,vlookup()

如:=if(a1>5,if(a1>10,"j",if(a1>9,"i",if(a1>8,"h",if(a1>7,"g",if(a1>6,"f","e"))))),if(a1>4,"d",if(a1>3,"c",if(a1>2,"b",if(a1>1,"a",0)))))

16樓:宰父斯琪宮勤

if函式連線沒有次數限制,if函式巢狀有次數限制。

if函式也可用陣列,如:

=if(a=,,)

***********************************===

繼續加「&if(,,)」沒有問題

***********************************====

如下的計算,excel中的if函式巢狀層數超過允許值以上怎麼處理?

17樓:眯住眼串針

公式也很長。。。

>

18樓:匿名使用者

用 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

ecel2019中vlookup函式的使用方法

下面是我上次回答的鏈結,多試試,可以追問 在excel中如何使用查詢函式 vlookup vlookup函式是excel中的乙個縱向查詢函式,簡單說就是按列查詢,最終返回該列所需查詢列序所對應的值。公式語法 vlookup 查詢值,查詢範圍,列號,匹配型別 具體使用方法如下 表一 查詢目標,即查閱值...

ecel2019中有個函式atan2如何使用

函式語法 atan2 x num,y num 引數說明 x num 表示點的x座標。y num 表示點的y座標。補充說明 如果兩個引數同時為0時,atan2函式將返回 div 0 錯誤值。atan2 x num,y num atan y num x num atan2中x num為0除外 如果要用角...

ecel中函式巢狀輸入公式錯誤原因

if f2 0.8,1 if and f2 0.8,f2 0.85 2 if and f2 0.85,f2 0.9 3 if and f2 0.9,f2 0.95 4 if and f2 0.95,f2 1 5 使用and函式表達取值範圍 if f2 0.8,1 if f2 0.8 f2 0.85 ...