作者JieJuen (David)
看板Office
標題Re: [算表] 多重條件的計算,if 或choose?--數字分類
時間Wed Aug 19 22:20:12 2009
好說好說 看起來是特定要"等於"那幾個整數 才做判斷
因為原本的式子8與2應該已經是分開的 即"只判斷"之意
(以下就以只等於那些整數來改寫)
比如說 A1=1, B1=8
=INDEX((B1>{8,2})+{1,3},(MATCH(A1,{1,2,3,4,5,6},)>2)+1)
^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
{FALSE,FALSE} FALSE
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{1,3} 1
8,2分開計算 由A1來決定 取{1,3}中第1個值
"直譯"
=IF(OR(A1=1,A1=2),(B1>8)+1,IF(OR(A1=3,A1=4,A1=5,A1=6),(B1>2)+3))
化簡
=IF(MATCH(A1,{1,2,3,4,5,6},)<3,(B1>8)+1,(B1>2)+3)
=IF(MATCH(A1,{1,2,3,4,5,6},)<3,B1>8,(B1>2)+2)+1
陣列公式 以Ctrl+Shift+Enter結尾
=IF(MATCH(A1,ROW($1:$6),)<3,B1>8,(B1>2)+2)+1
※ 引述《organic (organic)》之銘言:
: JJ大是神
: 有辦法成為
: 當A1=1或2時,只判斷B1與8比大小,則C=...
: 當A1=3,4,5,6時,只判斷B1與2比大小, 則C=...
: 這樣要怎麼寫比較好?
: ※ 引述《JieJuen (David)》之銘言:
: : 這種問題都很好玩 寫法是看您怎麼樣想就可以怎麼寫
: : 以下擇一
: : =IF(A1<3,1+(B1>8),3+(B1>2))
: : =INDEX((B1>{8,2})+{1,3},(A1>2)+1)
: : =SUM(IF(A1>{0,2},(B1>{8,2})+{1,2})) (陣列公式)
: : =INDEX((B1>{8,2})+{1,3},MATCH(A1,{1,3}))
: : =CHOOSE(MATCH(A1,{1;3}),1+(B1>8),3+(B1>2))
: : 可能INDEX配合陣列常數的擴展性最佳 例如
: : =INDEX((B1>{8,2,4,6,9,7})+{1,3,5,7,9,11},MATCH(A1,{1,2,3,4,5,6}))
: : 表示
: : 若A1=1 且 B1<=8 則 1
: : 若A1=1 且 B1>8 則 2
: : 若A1=2 且 B1<=2 則 3
: : 若A1=2 且 B1>2 則 4
: : 若A1=3 且 B1<=4 則 5
: : 若A1=3 且 B1>4 則 6
: : ...
: : 若A1=6 且 B1<=7 則 11
: : 若A1=6 且 B1>7 則 12
: : http://2y.drivehq.com/q/difNum2.xls
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.60.6
※ 編輯: JieJuen 來自: 218.164.60.6 (08/19 22:24)
推 organic:謝謝JJ大 08/25 16:35
→ JieJuen:^^ 08/26 07:25