作者JieJuen (David)
看板Office
標題Re: [算表] 傳回最近三次資料 符合三條件之對應結果
時間Thu Feb 26 18:37:37 2009
又是一個富挑戰的幫數字分類對應 XD
要看三個數字(文字轉成的數字) 放到三組條件
首先是求最近三筆資料,第三筆的位置為
LARGE(IF($A2:$J2<>"",COLUMN($A:$J)),
3)
再利用INDEX可取出三筆資料置於
$L2:$N2
對應結果為
=VLOOKUP(SUM(IF(
$L2:$N2={"A";"B";"D";"E"},{1;1;-1;-1})),{-3,0;-2,2;3,1},2)
原理是使 A B傳回1,D E 傳回-1,三個數字求和
都屬於A B 必為3,都D E必為-3,剩下的...就是剩下的
http://2y.drivehq.com/p/TxtIn3Conditions.xls
不一定要特地取出末三筆資料,一式完成如下
=VLOOKUP(SUM(IF(
OFFSET($A2,,LARGE(IF($A2:$J2<>"",COLUMN($A:$J)),3)-1):$J2=
{"A";"B";"D";"E"},{1;1;-1;-1})),{-3,0;-2,2;3,1},2)
話說我好多篇"對應"的文章標題都寫"代替if"
講得好像if很差一樣 XD
這篇為if扳回一些氣勢,檔案中有其他解法 如MATCH(用四個)
發現if比較強 XD (雖然還是需要VLOOKUP)
補:
如果3筆資料的3是變數,因無法寫到陣列常數中,改用此法
=CHOOSE(TRUNC(SUM(IF($L2:$N2={"A";"B";"D";"E"},{1;1;-1;-1}))/3)+2,0,2,1)
※ 引述《ljuber (給你吃膨餅)》之銘言:
: 軟體: excel
: 版本: 任何版本(2007也可)
: 我有一組資料成這個樣子:
: 87 88 89 90 91 92 93 94 95 96
: C D C C C C B
: E E E E E E E E E
: E E E E E E E E E
: A B B B B A
: A B B B B
: C C D E D D D C
: B B B B A B
: B A B B A A
: C C C C C B
: 上面代表年度從87年到96年
: 要判斷最近有資料的三筆 例如第一件就是92: C 94:C 96:B 判斷為2 第二件
: 93:E 94:E 96:E則判斷為0
: 條件是最近有資料的三筆,如果都是A跟B的話 就判斷為1
: 如果都是D跟E的話 就判斷為0
: 都不屬於的話就是判斷為2
: 例如D,A,B這樣就是判斷為2
: C,A,C 這樣是2
: D,D,E 這樣是0
: 不知道這樣的函式要怎麼寫??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.57.32
※ 編輯: JieJuen 來自: 218.164.57.32 (02/26 19:27)
推 ljuber:強! 要好好鑽研一下 J大的解法都很有參考價值^^ 02/26 21:11
→ JieJuen:^^ 02/27 00:19
※ 編輯: JieJuen 來自: 218.164.49.72 (05/11 19:33)