1樓:匿名使用者
這是因為用right,left或mid等函式提取出來的字串是文字資料,而文字數字大於一切常規數字,所以公式就會出錯
你的公式可以改成
=if(--right(a1,2)>50,right(a1,2)-50,--right(a1,2))
或=if(right(a1,2)*1>50,right(a1,2)-50,1*right(a1,2))
或=if(right(a1,2)+0>50,right(a1,2)-50,0+right(a1,2))
或=if(right(a1,2)-0>50,right(a1,2)-50,right(a1,2)-0)
或=if(right(a1,2)/1>50,right(a1,2)-50,right(a1,2)/1)
等這些方法,即通過(負負運算或乘1,加0,減0,除1等)運算讓文字數字轉成常規數字,再進行公式運算
2樓:匿名使用者
公式改為:
=if(a1="","",if(right(a1,2)>"50",right(a1,2)-50,--right(a1,2)))
或者改為:
=if(a1="","",if(--right(a1,2)>50,right(a1,2)-50,--right(a1,2)))
right函式返回的結果是文字數值,任意文字的數值都比最大的數字要大,所以right(a1,2)>50永遠大於50,公式也只會返回right(a1,2)-50的結果。在前面加兩個減號 -- 把right返回的文字數值轉換數值型數字就行了。或把 50 加個雙引號,把50轉化為文字的50也行。
3樓:琴俊賀樓
這個怎麼說呢,總體來說,公式本身並沒有錯,只有公式在運算時出了現了一些小問題
你的公式中,第1個right(a1,2) 返回的是 「221」,可以說,返回的是個文字,而文字無法與數值來作比較誰大誰小,直接就判斷為文字 比 數值 在。所以就返回true了。結果就是21-50,得到的結果就是-29.
當a1=281時,還是用81-50=31,雖然這個結果與你想要的相同,但實際上來說是錯誤的。
把以,把公式改為 =if(--(right(a1,2))>50,right(a1,2)-50,right(a1,2))
也就是把你的公式第一個right前面加上 --
4樓:匿名使用者
=if(right(a1,2)*1>50,right(a1,2)*1-50,right(a1,2)*1)
因為用right之後變文字了*1就可以了
EXCEL函式問題
如果你是excel2007及以上版本,在e2輸入 a2 1 首次借用 yyyy m d 如果是03版本,則在e2輸入 a2 1 首次借用 a2 1 yyyy m d 向下複製即可。謝謝採納哦,親 e2 if countifs a 2 a2,a2,b 2 b2,b2 1,max a1 a 2 a2 b...
EXCEL中用邏輯函式的問題,EXCEL表格裡面邏輯函式的使用
假定三科資料在abc列,平均分在d1,e1,f1 d2 and a2 d 1,b2 e 1,c2 f 1 下拉 假設你的平均分為65,abcde列依次是姓名 科目1 科目2 科目3 是否均超過平均分,則 e2 if countif b2 d2,65 3,true false 向下填充即可 excel...
excel公式提問,excel問題或者函式
1 你會的 2 不明白什麼意思?i列資料 於g列和h列,你要g列返回i列資料,會出現迴圈引用而顯示錯誤。3 l4輸入 sumproduct max a 4 a 13 k4 i 4 i 13 回車並向下填充。你這麼做公式會迴圈引用 excel問題或者函式 a2輸入公式 if or a1 1,a1 10...