標題:

Excel 數字條件判斷如何設定?

發問:

 

此文章來自奇摩知識+如有不便請留言告知

因為要輸入一些數值運算... 我想讓它自動幫我轉換進位.. EX : 15.1-----> 15 15.2~15.6-----> 15.5 15.7------> 16 也就是輸入的數字小數點若在0.1則不採用以整數為主 超過0.1~0.6則以0.5算計 0.7以上則直接進位..... 請教一下這樣的話該如何設定呢~~?? 謝謝~!! 更新: 謝謝前輩的指教 但有一問題再次了解一下.. 若整數時...為何都多個0.5的值...?? 還有我是希望在該欄位輸入後自動可以轉換....您這樣做法會需要兩個欄位.. 意思是類似四捨五入方式...敲入數值會自動四捨五入.... 不知道前輩可否再指點一下~~謝謝

最佳解答:

=IF(RIGHT(A1,1)="1",INT(A1),IF(RIGHT(A1,1)<="6",INT(A1)+0.5,IF(RIGHT(A1,1)>="7",ROUNDUP(A1,0)))) 在B1輸入此公式 在A1輸入數值試試看^^ 不管你前面數值是什麼 他都會依照你的要求去進位 小數點前面不管幾位皆可 不過小數點後面我只有設定一位哦 515.2 = O 515.24 = X

其他解答:

關於 0.699999999... 的問題, 拙見參考 : http://tw.myblog.yahoo.com/jw!_DIL5waFHwVKfL8odMZ4urti/article?mid=1270&prev=1272&l=f&fid=17 2010-11-25 12:37:15 補充: 本就不是格式設定問題 敝文中已經提到 : 是轉進位誤差造成 ... 試著輸入公式 : = 15.7 - 1*15 (這應就是此例 Mod 內部的計算方式) 其結果就是 : 0.6999999999999990|||||假設資料在A1 =IF(OR(MOD(A1,1)<=0.1,MOD(A1,1)>=0.7),ROUND(A1,0),ROUND(A1,1)) 附註: 我的Excel怪怪的,照理說MOD(15.7,1)應該等於0.7,可是結果卻為0.699999999...,所以要把這段寫成ROUND(MOD(A1,1),1) =IF(OR(MOD(A1,1)<=0.1,ROUND(MOD(A1,1),1)>=0.7),ROUND(A1,0),ROUND(A1,1)) 順便請教高手是什麼原因(我的電腦常有這些現象) 2010-11-25 08:47:29 補充: 要在該欄位輸入後自動轉換,似乎無法設定這樣的格式,需要另一個欄位來寫函數,但若另有高手用VBA來做應該可以 2010-11-25 11:18:35 補充: 感謝Worlon大師提供意見 不是格式設定的問題,這在一般運算沒有問題,可是在設定函數若參照到這個值就會造成誤判,因為如版主題目用本人寫的函數15.7應該要進位為16,可是實際還是顯示15.7,因為要參照的值如果餘數為0.7就會進位,可是他的實際值是0.699... 2010-11-25 14:19:48 補充: 謝謝Worlon大師指教,日後以計算結果作為函數的參照就會多加注意了,也跟版主說抱歉,好像偏離版主的問題了|||||ceiling(15.1-0.1,0.5)CF546184287637C5
arrow
arrow

    thhzpvx 發表在 痞客邦 留言(0) 人氣()