
I have question that when I want to compare between a1= 1.3 b1= 3 and a2= 1.3 b2= 2 on excel for example =IF(a1>a2,"Yes",IF(a1=a2,IF(b1>b2,"Yes","No"),"no"))
First time it’s okay, but then I changed value from b1 =1 it changed to “no” then I changed it back to b1= 3 it’s still “no”
I think it concern on format in the cell.
Another concern is if I use like 1.3.1 compare to 1.3.1.2 it doesn’t have any problem, but when I use only 1.3 (one decimal point) it always have problem
It’s hard to explain you should try to compare between x.x and x.x.x also if you have a good another VBA code to compare version number
It like 1 decimal point excel see as number, but many decimal point excel see as text
How do I fix this (I have try change to text format but it work 1 time after you change value in cell it’s go back to error.)
Due to my English is poor. to make it clearer "How do i make x.x see as text so that i can compare with x.x.x :) "
Here is an article/ post you may want to check. The first impression I had on your question is that you may be trying to do a version number comparison. Length and number of dot delimiters in your text could matter greatly.for now please check this,
http://www.dbforums.com/microsoft-excel/1670840-compare-version-numbers-return-highest-value.html
Or else you may try the
logas well:=A1*10^(4-INT(LOG(A1)))
Or do a replace on trailing
.dots and surely the second text becomes a decimal:E.g. 1.3.4 will be 1.34 and 1.3.4.1.3 will be 1.3413
1.2.5.6 will be 125.6 and 1.2.4.6.1 will be 124.61
PS: not front of a machine. Will provide you with another code I have based on split by dot delimiter and compare.
Edit with a function: this will compare two version numbers with any number of dot points, treating it as a string/text. However in the case of 1.3.1 and 1.21.1 this takes 1.21.1 as the highest number.
Output: