Excel中,如何随机返回一个值,从已有的数组里,如从(value1,value2,value3,value4,value5,value6....)中随机取一个值.
可以具体写一下吗?
追答那你要先给出你的代码,我才好给你改。如果让我给你写,未必满足你的要求啊。
你是打算用公式还是用VBA?
你是自己有了代码不知道怎么随机取数还是根本没有代码?问题描述要详细些才好回答。
我有个思路是这样的.
有两个表,表1,表2
表2有两列内容如下:
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
现在在表1某列里,用vlookup函数随机调取表2的内容.
我不会怎么写这个函数.
vlookup我不是很会用,大概这样
vlookup(int(rand()*10+1),x,2,z)
x和z代表区域和T/F
但该具体怎么写?
=INDIRECT("Sheet2!A"&TEXT(RAND()*(COUNT(Sheet2!A:A)-1)+1,0%))
假如你在Sheet1中输入这个公式,这个公式的作用就是从Sheet2的A列中所有的数里面随机选取一个了。
如果你想要选取其他列的,比如B列,那就把公式中的A都替换成B。
如果你要选取的不是数字而是文字,那就把公式里面的COUNT换成COUNTA,但是如果你有表头就比较麻烦了,需要根据具体表格形式再做处理。
这么选出来的随机数是平均分布的,可能有重复,如果你不想重复还要更复杂的处理。
你要是想在Sheet1的A列选择Sheet2的A列的任意数据,那就把这个公式复制到Sheet1的A1中,然后向下拖动,Sheet2的A列有多少数据,你在Sheet1的A列中就拖动到多少行,就可以整列都随机选取了。