看板 Office 關於我們 聯絡資訊
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體:Excel 版本:2013 請教各位專家高手,這裡遇到的狀況是某資料區範圍A1:B100 (100 rows、2 columns) 當中每個儲存格是先用工作表函數Average在他處求得的平均值,之後用VBA分別比較 每一列A欄跟B欄的值的大小,但卻出現大部分結果判斷正確,只有某幾列會把A、B兩欄 相等的值判斷成"smaller"或"bigger",VBA判斷式如下,再請教各位了,謝謝。 For i = 1 to 100 If Cells(i, 1) > Cells(i, 2) Then Cells(i, 3) = "bigger" ElseIf Cells(i, 1) < Cells(i, 2) Then Cells(i, 3) = "smaller" Else Cells(i, 3) = "--" End If -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.194.224 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1488426953.A.297.html
soyoso: 提供相等時判斷成"smaller"或"bigger"的檔案應會較清楚 03/02 12:13
ljuber: 是不是average的時候沒有取round ? 03/02 12:59
aovo: 感謝兩位高手回答,我把簡檔連結貼上 03/02 14:41
aovo: https://wsi.li/8uEaoWcM2eO1/540859 03/02 14:41
soyoso: 可於巨集內配合round或worksheetfunction.round來排除 03/02 14:58
soyoso: 另外vba內round為四捨六入五成雙的規則和 03/02 15:13
soyoso: worksheetfunction.round不同,再請留意 03/02 15:14
soyoso: https://i.imgur.com/uEr2egk 類似這樣 03/02 15:30
aovo: 再次感謝高手! 03/02 16:08
aovo: 可否再請教高手,為何VBA在不加上round函數時會有本文所述 03/02 16:49
aovo: 情況,而且感覺是隨機發生,即使是比較兩個已被整除至小數點 03/02 16:49
aovo: 後數位的值,還是無法100%正確判斷大小 03/02 16:49
soyoso: 有可能是浮點數的問題,如儲存格a46和b46的值並不相同 03/02 16:59
soyoso: 如http://imgur.com/zC3Mer5 03/02 17:00
soyoso: a49和b49上也是 https://i.imgur.com/h5wDu9p 03/02 17:03
soyoso: 而儲存格a22和b22應相同https://i.imgur.com/UMERoNV 因此 03/02 17:05
soyoso: 才回值字串-- 03/02 17:05
aovo: 高手謝謝! 03/02 17:19
soyoso: https://i.imgur.com/9SWFPck 或以range.text,測試結果同 03/02 17:57
soyoso: Excel公式判斷 03/02 17:57
aovo: 感謝! x 10000 03/02 22:13