如何判断数值中的某位数的数值属于某个区间后 将数值归为固定数值?!

请教各位函数和VBA高手,如题,如何根据以下条件设定函数 或者VBA编码?多谢!!

如A1是两位整数:
1<=A1<=24, 则将A1改为30;
25<=A1<=50, 则将A1改为50;
51<=A1<=69, 则将A1改为60;
70<=A1<=99, 则将A1改为80;

如A1是三位或者更多位的整数,只要末尾两位(也就是个位和十位)符合下面的区间,则将末尾两位(或三位)数值改为固定数值:

1<=A1的末尾两位数值<=24, 则末尾两位数变成 00;
25<=A1的末尾两位数值<=50, 则末尾两位数变成 50;
51<=A1的末尾两位数值<=69, 则末尾两位数变成 50;
70<=A1的末尾两位数值<=99, 则末尾两位数变成 00,百位数+1;

非常荣幸回答这个问题,我不知道你问的区间是离散的还是连续的,是数字还是字符,我就以数字的区间回答吧。

数字区间也分离散和连续两种,但判断属于哪个区间都是一样

假如现有三个区间(1,3),[3,7],(7,10),定义这三个区间分别为1,2,3。输入的数字为6,判断6是属于哪个区间的。则程序为
x=6;
if x>1 && x<3
a=1;
end
if x>=3 && x<=7
a=2;
end
if x>7 && x<10
a=3;
end
结果为a=2,说明属于[3,7]的区间。
以上的程序对于输入不方面,可以定义成函数,改成
function a=yyy(x)
if x>1 && x<3
a=1;
end
if x>=3 && x<=7
a=2;
end
if x>7 && x<10
a=3;
end
end
x为输入,直接输入a=yyy(6)就会出结果。
上面的只是示例,关于区间,你可以自己修改成自己想要的,输入可以自己定义。
如果是字符的区间就比较麻烦,需要将字符矩阵输入,然后利用循环查找。例如a='abcdef',b='wxyz'这两个区间,c='y',判断c在那个区间里。
c='y';
a='abcdef';
b='wxyz';
m=length(a);
n=length(b);
for i=1:m
if c==a(i)
d=a;
end
end
for j=1:n
if c==b(j)
d=b;
end
end
结果为d=wxyz,那么就得出c在哪个区间了。
(b)怎样测量学校到你家的距离?(c)怎样测地图上一追问

谢谢回复!抱歉本人对VBA不甚熟悉,理解和修改恐为难事...
实际的操作效果这里再描述下: 比如A列的若干行数值(整数),根据A列的数值用函数方式 或者VBA方法 根据上述两类条件(两位数的整数 和 三位数甚至更多位数的整数的个位和十位数)来改值 放在B列。
谢谢

温馨提示:答案为网友推荐,仅供参考