用EXCEL表格进行分组填充

A 列有数字256810B列有1254720 这两列数字各出一个数字形成二码02 05 12
15 等,再自动填充到相应的00-99这100个格子中。
要求AB列的数字填入后就能填到后面的格子。
A及B列的数都是随机的。
希望vba的高手帮忙解决。

第1个回答  2010-03-04
对不起,我不是vba高手,但是我能用excel函数非常简单的弄出来。

关键点:RAND()——excel自带随机函数
功能:返回大于或等于0且小于1的平均分布随机数(依重新计算而变)

解题:不是很确定楼主的表达意思,姑且按照我以下理解:
A1=2,A2=5,A3=6,A4=8,A5=1,A6=0;
B1=1,B2=2,B3=5,B4=4,B5=7,B6=2,B7=0;
要求从A1~A6中随机选一个数,B1~B7中随机选一个数,组成100个新的二位数,依次填充到C1~C100中。

答案:C1中输入函数“=INDEX(A$1:A$6,6*RAND()+1)&INDEX(B$1:B$7,7*RAND()+1)”,然后填充至C100即可。

答案解析:INDEX不做解释。因为0≤RAND()<1,所以6*RAND()+1保证了行数取值在1~6之间。

以上答案经实践检验完全正确。即使理解错题意,相信此思路亦可解决问题。
第2个回答  2010-03-04
假定:
A2=256810
B2=1254720

在C1到CX1用文本格式填入00-99

如果第一个数字必须从A列抽出,第二个数字必须从B列抽出:
C2=IF(OR(ISERR(FIND(LEFT(C$1,1),$A2)),ISERR(FIND(RIGHT(C$1,1),$B2))),"",C$1)

如果无所谓的话:
C2=IF(OR(ISERR(FIND(LEFT(C$1,1),$A2)),ISERR(FIND(RIGHT(C$1,1),$B2))),IF(OR(ISERR(FIND(LEFT(C$1,1),$B2)),ISERR(FIND(RIGHT(C$1,1),$A2))),"",C$1),C$1)

把公式拷到C2到CX2
第3个回答  2010-03-04
=MID($A$1,ROUNDUP(ROW(A1)/7,0),1)&MID($B$1,MOD(ROW(A1)-1,7)+1,1)
下拉复制公式。
第4个回答  2010-03-04
不是很明白
第5个回答  2010-03-03
256810
1254720
两列数字个数不等?

00-99这100个格子?
什么意思?横填?竖填?方格填?有指定范围要求?
相似回答