[算表] IFERROR 前面加上負號

作者: quirrky (@@)   2020-05-05 00:21:56
軟體:Excel
版本:2010
各位前輩好
想請教這個公式
=-IFERROR(ROUND((VLOOKUP(A88,data,13,FALSE))/J88/8*S88,0),0)
算出的數值顯示為「-586」
一組負數
此公式設在計算事假扣薪欄位
因為移除「-IFERROR」直接在ROUND前面加上「-」無效
(無法顯示富庶的數值)
想了解為何需要「-IFERROR」
謝謝解惑
作者: soyoso (我是耀宗)   2020-05-05 07:19:00
於2010模擬,移除iferror,在round前加上負號,或是在iferror前加上負號,回傳的結果相同,所以是否提供檔案看看會比較清楚https://i.imgur.com/c7SOk71.jpg 連結內data模擬上為b:n
作者: olycats ( )   2020-05-05 07:24:00
無效是指數字不對?還是發生錯誤無法計算?是負號換位置無效?還是移除iferror的公式無效?如果是負號換位置 計算出來的結果應該是一樣的 同s大意見
作者: quirrky (@@)   2020-05-05 13:44:00
直接在ROUND前面加上-號,成功變成負值。謝謝大家似乎此組公式不需要加上IFERROR? 無法找出使用的目的
作者: soyoso (我是耀宗)   2020-05-05 14:40:00
使用的目的就是當round(...)運算後為錯誤值時回傳01.如是vlookup無搜尋到data最左側欄有符合的值或是a欄為空白儲存格時,回傳#n/a錯誤值2.有搜尋到,但j欄為0值,除於0值回傳#div/0!錯誤值所以問公式不需要加上iferror?方面就看是否會遇到以上二點(有可能還有其他會回傳錯誤值的情況)如不會遇到或是遇到就顯示錯誤值的話,也就不需要配合iferror,反之,就配合
作者: olycats ( )   2020-05-05 19:35:00
以原po的例子來說最有可能是是vlookup找不到對應的值如果找不到值就會顯示#N/A無法計算出結果iferror的目的就是如果發生錯誤 直接帶出0建議原po可以了解一下iferror公式的用法或者試試看把原本的公式拿掉iferror 看看結果有什麼不同

Links booklink

Contact Us: admin [ a t ] ucptt.com