看板 Office 關於我們 聯絡資訊
真不好意思,之前的OR式寫錯了 讓您摸不著頭緒 新問題自然不只一種改法 例如可以在原式加入一點條件 =2*ROUNDUP(ROUNDUP(ROUNDUP(IF(OR($L12>10,$L12<0.1),$L12,10),0)*1.46,0)* (1-OR($L12>10,$L12<0.1)/10),0) 當然不一定要寫得這麼"奇妙"(上篇推文比較正常) 也可以更改式子結構 把IF視為主體 =2*IF(OR($L12>10,$L12<0.1),ROUNDUP(ROUNDUP(ROUNDUP($L12,0)*1.46,0)*0.9,0), ROUNDUP(ROUNDUP(10,0)*1.46,0)) 然後一些常數不妨直接算出來(選住"ROUNDUP(ROUNDUP(10,0)*1.46,0)" 按F9) =2*IF(OR($L12>10,$L12<0.1),ROUNDUP(ROUNDUP(ROUNDUP($L12,0)*1.46,0)*0.9,0),15) 就擴展式子的觀點來看 原先是 =IF(OR(A1>10,A1<0.1),A1,10) 如果A1和10要做的事一樣 IF就會在式子裡面 RRR(IF) 如果不一樣 IF就在外面 IF(OR,RRR(A1),30) 這樣比較好想與好寫 而上述第一種方法則是 R(RR(IF)*IF) 有時候也不錯 但結構複雜了些 ※ 引述《tccan (阿駿)》之銘言: :   在前一個問題解決之後,目前我又遇到了一個問題如下: : I   J   K    L : 3 36 12.3 : 4 I4 J4 6.8 : 5 I5 4.6 : 6 : 7 I7 J7 7.6 : 8 36 42 54 12.6 : 9 46 16.3 : 10 (52) 62 80 19.0 : 下方就是我的公式函數(取自 I10 格,我用 ( ) 特別標明的數值) : ROUNDUP(ROUNDUP(ROUNDUP(IF(OR($L10>10,$L10<0.1),$L10,10),0)*1.46,0)*0.9,0)+ : ROUNDUP(ROUNDUP(ROUNDUP(IF(OR($L10>10,$L10<0.1),$L10,10),0)*1.46,0)*0.9,0) : (上方公式與下方公式請二行併做一行) : 而 I4、I5、I7 三個空格,因 L4、L5、L7 少於10.0,故公式需要變成下列: : ROUNDUP(ROUNDUP(IF(OR($L10>10,$L10<0.1),$L10,10),0)*1.46,0)+ : ROUNDUP(ROUNDUP(IF(OR($L10>10,$L10<0.1),$L10,10),0)*1.46,0) : 亦即,我的問題就是要如何才能夠將上述二個公式,整合變成一個完整的公式呢? : 目前我的想法一樣是利用 IF(OR(...)...) 這一個函數,但我就是不知道要再如 : 何將這一個函數套到整個公式之中。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.36.201
tccan:非常感謝這位大大的幫忙,基本上我暫時已經了解了! 04/13 19:03
JieJuen:^^ 04/13 21:23
我看到上一篇的推文補充 → tccan:之所以要用相加的方式,因為到時還會計算到其餘不同的數值, 04/13 19:00 → tccan:例如上方的公式是*1.46,但還需要再算出*1.75或*2.27的總合 04/13 19:01 → tccan:所以就會變成(......)*1.46,0)+(.....)*1.75,0)這樣的不同值 04/13 19:02 可以用陣列公式來簡化 陣列公式 以Ctrl+Shift+Enter結尾 =SUM(IF(OR($L3>10,$L3<0.1),ROUNDUP(ROUNDUP(ROUNDUP($L3,)*{1.46,1.46},)*0.9,), ROUNDUP(10*{1.46,1.46},0))) 您可以先測試一下算出來的結果對不對(若不放心) 再把第二個1.46改成1.75 ※ 編輯: JieJuen 來自: 114.47.36.201 (04/13 21:25)