为演示简单,我将你的题目改成5户人家随机选出3户。假设,原始数据如下(A列和B列,共10行数据,假设在A1~B10区域内):
1 地址1
2 地址1
3 地址2
4 地址2
5 地址3
6 地址4
7 地址4
8 地址4
9 地址5
10 地址5
我的解决方法:不需要编程序,只需按如下步骤操作:
第1步: 假设事先B列(地址)已按先小后大排好序(即按从小到大sort)的。如果不是如此,那么请先将B列(地址)按先小后大排好序(即执行SORT命令)。
第2步: 在C1输入公式: =IF(B1=B2,"XXX",B1) 将此公式COPY到C2~C10
第3步: 在D1输入公式: =IF(C1<>"XXX",RAND(),2) 将此公式COPY到D2~D10,这时就变成(注意你的D列运算结果不一定与下面相同,因为RAND()是随机函数,其每次运算结果都不同):
1 地址1 XXX 2
2 地址1 地址1 0.479461477
3 地址2 XXX 2
4 地址2 地址2 0.850906778
5 地址3 地址3 0.991181213
6 地址4 XXX 2
7 地址4 XXX 2
8 地址4 地址4 0.214979749
9 地址5 XXX 2
10 地址5 地址5 0.469679326
第4步: 选中C1~D10后,执行菜单命令COPY,然后执行菜单命令PASTE SPECIAL中的PASTE VALUE,即把C1~D10中公式全变成数值。
第5步: 选择C1~D10,执行排序SORT命令(按D列排序,从小到大排),就会发现C和D列变成:
地址4 0.214979749
地址5 0.469679326
地址1 0.479461477
地址2 0.850906778
地址3 0.991181213
XXX 2
XXX 2
XXX 2
XXX 2
XXX 2
第6步: 选取前三个地址(户),上面结果中的“地址4”,“地址5”,“地址1”,就是随机选取3户的结果。
|