结果为:
{0;1;2;3;4;FALSE;6;FALSE;8;9;10;FALSE;12;FALSE;14;15;16;17;18;19;FALSE;21;FALSE;FALSE;24;25;FALSE;27;28;29;30;31;32;33;34;35;FALSE;FALSE;FALSE;FALSE;40;41;42;43;FALSE;FALSE;46;47;48;49;50;51;52;53;54;55;56;57;FALSE;59;60;61;FALSE;63;64;FALSE;66;67;68;69;70;FALSE;FALSE;73;74;75;76;77;FALSE;79;80;81;82;83;84;85;86;FALSE;88;FALSE;FALSE;91;92;93;FALSE;FALSE;FALSE;97;98;FALSE}
现在,成功地创建了一个不在公式单元格下面的行或右边的单元格中的所有值组成的数组,剩下的就是从此数组中随机选择一个数值 。
实现这一目标的一种方法是将上述数组传递给SMALL函数,并指定参数k的值为合适的随机数 。由于数组中的数字元素数等于100减去所引用的区域的元素数,因此可以将其用于RANDBETWEEN函数的top参数:
100-COUNTA($A9:$J$11,D8:$K8)
使用了COUNTA函数,可用于处理多个单元格区域 。因此:
RANDBETWEEN(1,100-COUNTA($A9:$J$11,D8:$K8))
转换为:
RANDBETWEEN(1,100-27)
其中的27等于单元格区域$A9:$J$11中的20个非空元素加上D8:$K8中的7个非空元素 。(注意,将A1:J10区域周边的无关单元格有意地留为空白单元格非常重要)
综上,公式转换为:
=SMALL({0;1;2;3;4;FALSE;6;FALSE;8;9;10;FALSE;12;FALSE;14;15;16;17;18;19;FALSE;21;FALSE;FALSE;24;25;FALSE;27;28;29;30;31;32;33;34;35;FALSE;FALSE;FALSE;FALSE;40;41;42;43;FALSE;FALSE;46;47;48;49;50;51;52;53;54;55;56;57;FALSE;59;60;61;FALSE;63;64;FALSE;66;67;68;69;70;FALSE;FALSE;73;74;75;76;77;FALSE;79;80;81;82;83;84;85;86;FALSE;88;FALSE;FALSE;91;92;93;FALSE;FALSE;FALSE;97;98;FALSE},RANDBETWEEN(1,73))
得到所需的结果 。
小结
FREQUENCY函数、COUNTA函数可以操作多个单元格区域 。
推荐阅读
- excel公式技巧:根据频率和大小返回唯一值列表
- excel技巧:强制返回数组的公式技术
- 当同事偷偷修改了你的Excel文件名.....
- 多个工资表汇总 的最简单公式
- 复合饼图的做法,一分钟学会
- 《Excel平安经》
- 这种高难度的Excel多层柱形图,99%的人都不会
- 比Excel透视表好用10倍都不止,“超级”透视表来了!
- 这10个最经典的Excel小技巧,关键时能救急!
- excel技巧:获取最大年增长率对应的值