看板 Office 關於我們 聯絡資訊
又是一個富挑戰的幫數字分類對應 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)