1樓:匿名使用者
首先你的公式表述就是錯誤的,0<=f2<340這樣是錯誤的,應該是and(f2>=0,f2<340)
其次,你的公式並不需要18層處理,你前面的只需要一個if完成4.5值的,你用了4個
而根據你的公式來看,完全可以用lookup函式處理。
=lookup(f2,)
在{}中寫{大於等於的那個值,對應的那個值;大於等於的值,對應的值}一個對應值用分號
你自己補充進去就行了。
2樓:匿名使用者
可以自己在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了
3樓:匿名使用者
不用這麼複雜,找兩列(d、e),把比較的對應關係放進去,假設要判斷的資料在a1,b1是判斷結果的話,那麼b1=lookup(a1,d1:e18)
excel的if函式巢狀超過七層怎麼辦,具體公式如下:(在問題補充中)謝謝!!
4樓:匿名使用者
你好:可以用if()的兩種情況,分段,就可以到14層。也可以用lookup(),可以傳個樣表,我可以用函式嚮導分析一下,**可以改。
發現有重複現象,如d10=男怎麼樣,是女就不用說了,是第二情況呀。
5樓:匿名使用者
超過太多的if條件就不能計算了,只能把條件拆分了來計算。比如先計算性別「男」再計算性別「女」。
6樓:匿名使用者
改用vlookup吧
execl中,if函式公式超過了7層巢狀,要如何解決? 10
7樓:蘇紫言
超過7層用&連線bai
,一般不建議這樣用du
分析了下你的條件zhi,前提是b1<10,如下dao1. b1<10,a1>=19,c1=5
2. b1<10,a1<19 ,c1=0
3. b1<10, a1的值每大1 c1+0.5所以版公式修改了權下
=if(and(b1<10,a1>=19),5,if(and(b1<10,a1<10),0,if(b1<10,(a1-10)*0.5+0.5,"")))
如果b1<10不符合,顯示空白
8樓:匿名使用者
大家回答的都對 我也有個辦法
=if(b1>=10,0,if((b1<10)*(a1>=19),5,if((b1<10)*(a1=18),4.5,if((b1<10)*(a1=17),4,if((b1<10)*(a1=16),3.5,if((b1<10)*(a1=15),3))))))+if((b1<10)*(a1=14),2.
5,if((b1<10)*(a1=13),2,if((b1<10)*(a1=12),1.5,if((b1<10)*(a1=11),1,if((b1<10)*(a1=10),0.5,0)))))
裡面if 一定不止7個嘿嘿~~樓主 分分給我吧~~~~其實專可以好幾個+連線的那樣
屬寫的方便點
如果資料規律 就不要用if 象蘇姿鹽找規律就很好
9樓:匿名使用者
if不好解決,用這
個公專式屬
=if(b1>=10,0,if(a1>=19,5,if(a1<10,0,sumproduct((a1=)*))))
10樓:匿名使用者
=if(b1<10,if(a1<10,0,if(a1>=19,5,(a1-9)*0.5)),"b1超出範圍")
11樓:匿名使用者
=(b1<10)*if(a1<10,0,(a1-9)*0.5)
excel函式if公式怎麼巢狀超過7層啊
12樓:匿名使用者
=if(and(n4="一個月",o4="高",p4="配合"),"a"
,if(and(n4="一個月",o4="中",p4="配合"),"a"
,if(and(n4="一個月",o4="高",p4="配合"),"a"
,if(and(n4="半年",o4="高",p4="配合"),"b"
,if(and(n4="三個月",o4="中",p4="配合"),"b"
,if(and(n4="一個月",o4="低",p4="配合"),"b"
,if(and(n4="三個月",o4="高",p4="不配合"),"b","")))))))&
if(and(n4="三個月",o4="低",p4="配合"),"b"
,if(and(n4="三個月",o4="低",p4="配合"),"b"
,if(and(n4="一個月",o4="中",p4="不配合"),"b"
,if(and(n4="一個月",o4="高",p4="不配合"),"b"
,if(and(n4="半年",o4="中",p4="配合"),"b"
,if(and(n4="一個月",o4="低",p4="不配合"),"c"
,if(and(n4="三個月",o4="中",p4="不配合"),"c","")))))))&
if(and(n4="三個月",o4="低",p4="不配合"),"c"
,if(and(n4="半年",o4="高",p4="不配合"),"c"
,if(and(n4="半年",o4="中",p4="不配合"),"c"
,if(and(n4="半年",o4="低",p4="配合"),"c"
,if(and(n4="半年",o4="低",p4="不配合"),"c","")))))
「&」後面不要「,」,第二段超過7層。
其實公式還可精簡,把n4的三種情況分開處理,就可以減少巢狀數。看到這麼長的if,有點煩!
重新組合精簡後,可以不超過7層巢狀.
=if(or(n4="",o4="",p4=""),"",if(n4="一個月",if(p4="配合",if(o4="低","b","a"),if(o4="低","c","b")),if(n4="三個月",if(p4="配合",if(o4="低","c","b"),if(o4="高","b","c")),if(p4="配合",if(o4="低","c","b"),"c"))))
13樓:歷菊析俏
方法一:用&連線
方法二:多條件對應用vlookup或hlookup代替方法三:多區域對應用lookup代替
視你的具體情況而定,如果有線性或者解析式關係,還可以更簡單
14樓:孫培勝僪儀
沒法超過7層的。試著使用sumproduct函式來解決這個問題吧!
15樓:思雪遙遙
可以用vlookup來解決。而且你這個if條件很多都可以用and(or())來合併。
在wps中,excel**公式if語句超過7層怎麼辦
16樓:陽光上的橋
你這樣的需求,無論系統是否限制7層都不應該使用if,寫的公式太複雜了,我用內vlookup函式寫你的公式容如下:
=vlookup(c3,,2) * c3
解釋一下,公式分為兩部分,第一部分vlookup(c3, , 2)獲得係數,然後*c3得到公式的結果。
vlookup三個引數,第一個是c3表示要查的變數,第三個是2你可以理解為固定的,第二個引數是陣列,這個很關鍵,我只寫了前面部分,需要你自己完善。
陣列的寫法:
注意:下限標準第一個從0開始,表示0以上的係數值為0.04,當然是在下一個下限標準以下,所以不用第一組從0開始,不用考慮2000的上限
每一組的下限和係數之間用逗號,每組之間用分號
17樓:百無生
像這種階段級的處理,更適合用回choose和match函式
巢狀:答
=c3*(choose(match(c3,,1),0.04,0.045,0.
05,0.053,0.058,0.
063,0.066,0.069,0.
07,0.071,0.072,0.
073,0.074,0.075))
18樓:匿名使用者
沒見過寫公式這麼牛x的,直到今天我膝蓋中了一箭
19樓:匿名使用者
換個來函源數看看
=lookup(c3,)
20樓:浩瀚宇宙是我家
可以用陣列,vlookup函式
請教excel中if函式超過七層時的解決辦法
21樓:無知
e2公式:
=choose(3*lookup(1,0/(b2=),)+lookup(1,0/(c2=,),公式dao1,公式2,公式3,公式4...公式12)
或者=choose(3*(match(b2,,)-1)+match(c2,,),公式1,公式2,公式3,公式4...公式12)
22樓:匿名使用者
=if(b2="dn300",if(c2="180°砂du石基礎zhi",公式
dao1,if(c2="120°砼基礎",公式2,公式3)),if(b2="dn500",if(c2="180°砂石基礎",公式4,if(c2="120°砼基礎",公式5,公式6)),if(b2="dn600",if(c2="180°砂石基礎",公式7,if(c2="120°砼基礎",公式8,公式9)),if(c2="180°砂石基礎",公式10,if(c2="120°砼基礎",公式11,公式12)))))
這樣巢狀就不超過7層了。最後一個if巢狀的也只有5層。
23樓:匿名使用者
把具體的公式1-12都列出來,大家才好更簡潔的給你設計公式,所有上面的回答都把公式1-12都列了個遍,但只要公式有共性,在寫公式時才會更簡潔。一般if超過5層就得想其他的函式來替代。
24樓:匿名使用者
象這樣的表,我建複議用vlookup來實現,首先應制建一個標準的表,在實際用到時就從該表中取數字:
如果確實要用if函式,在第六層前的最後結果如果是文字可取空(「」)如果是數值則可取「0」然後用「&」或「+」將前後兩個if函式連起來,如:=if(a1=1,2,0)+if(a1>1,3,0)+if(a1<1,4,0)與if(a1=1,2,if(a1>1,3,4))的結果是一樣的,不同的是前者可以巧妙的避開七層的限制而後者則超過七層就不可以用了。如果是結果需要是文字,則可以將公式中的「0」改為「」,「+」換成「&」將它連起來。
希望幫到你。
25樓:匿名使用者
改一下方式,這樣應該能行
=index($h$3:$j$6,match(b2,$g$3:$g$6,0),match(c2,$h$2:$j$2,0))
26樓:匿名使用者
試試用du這個公式看zhi看:dao=indirect("d"&((match(b2,,0)-1)*3+match(c2,,0)+1))
關於excel的if和not函式巢狀
公式為 if and a1 a1 6 now 或者 if or a1 a1 6 now 先說錯誤 excel中的 號代表所有資料,包括空值。正解 b2單元格填入 if and a2 a2 6 now 然後向下拖拽就可以了。if or a1 a1 6 now excel中if函式巢狀使用的方法 舉例 ...
Excel裡IF函式只能巢狀7層,好像有辦法擴充,怎麼擴
1 換office7,if函式支援64層。2 運用 符號,下面是例子 3 一樓說的方法都是好辦法,而用lookup,vlookup,choose其他函式來解決才是王道 if 巢狀7層可以通過定義名稱來擴充,但一般會有更好的方法來解決,lookup,vlookup,choose等等。請參考以下帖子 第...
中無法開啟巢狀的excel檔案,word中無法開啟巢狀的excel檔案
方法一 滑鼠右鍵單擊 選單欄 或 工具欄 任意處,在彈出的下拉選單中選擇 自定義 彈出的 自定義 然後 工具欄 在這裡面可以看到裡面有 工具欄 上所有的選單,鉤上然後確定即可 也可以選擇 重新設定 選擇 normal.dot 然後確定 方法二 刪除normal.dot模板,直接利用系統中的搜尋功能查...