5000 y>=600
3000 600>y>=400
x= 1000 if 400>y>=200
300 200>y
同#17Lba_5F 4044中的方法
=LOOKUP(A1,{-999,200,400,600;300,1000,3000,5000})
=LOOKUP(A1,{-999,300;200,1000;400,3000;600,5000})
該文也說明陣列與參照範圍轉換的方法~ 將第二式轉換如下
B C
-999 300
200 1000
400 3000
600 5000
=LOOKUP(A1,$B$1:$C$4)
函數會在B欄找與A1相同的數
如果沒有,就找小於A1的數中最接近的那個
然後傳回同列的C
而B欄數字需要照順序排~
※ 引述《clear821 (其實電池不是男生)》之銘言:
: 標題: [問題] excel如果要設多個條件式?
: 時間: Mon Nov 3 23:16:39 2008
:
: (若是和其他不同軟體互動之問題 請記得一併填寫)
: 軟體:excel
:
: 版本:2003
:
: 像是
:
: f(x)=2x-7 if x<=-1
: 3-x if x>-1,x<=5
: 2x-11 if x>=5
這用choose match 也就是前文"靈活度高"的意思
=CHOOSE(MATCH(A1,{-999;-1;5}),2*A1-7,3-A1,2*A1-11)
因為陣列常數中不能計算算式
要用LOOKUP只好
=LOOKUP(A1,{-999,2;-1,-1;5,2})*A1+LOOKUP(A1,{-999,-7;-1,3;5,-11})
比較辛苦
甚至這時候回到最基本的IF
=IF(A1<-1,2*A1-7,IF(A1>=5,2*A1-11,3-A1))
看起來反而最短
不過若要為"多"條件著想
CHOOSE MATCH等方法還是可以看一下
:
:
: 這樣子的函數(或是說有更多條範圍式)(不是很清楚那個應該怎麼稱呼...)
:
:
: 在excel裡要怎麼表達?
:
: --
:
: 當然那個 x 是換成一個儲存格啦...
:
:
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 118.167.138.56
: 推 JieJuen:#17Lba_5F 4044 #1911hMpE 7428 搜標題"代替IF"或"對應" 11/03 23:24
: → clear821:還是沒懂...不過是VLOOKUP的樣子,我會在研究 11/03 23:34
VLOOKUP的確可以寫
就很類似上方的舉例
=VLOOKUP(A1,$B$1:$C$4,2)
=VLOOKUP(A1,{-999,300;200,1000;400,3000;600,5000},2)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.48.211
※ 編輯: JieJuen 來自: 218.164.49.56 (11/13 04:13)