阅: 2681 | 回: 0

-
积分:0
-
财富值:0.0
-
身份:普通用户
Excel常量数组的晕人史
常量数组我们常见的有这样几种:
={1,2,3,4,5,6}
={1;2;3;4;5;6}
={1,2,3;4,5,6}
这些看着眼花,其实说白了,就是个常量数组的排列问题,上面三个分别是一行六列、一列六行和两行三列。原来逗号是指横向、分号是指纵向。
弄清了常量数组里的符号,接下来……估计有同学按我上图所示往单元格里爬的时候,怎么也爬不出图中的效果,不是早就说过了,数组就是用来晕人的?常量数组的录入也晕人:
比如第一个一行六列的常量数组,就要先选取一个一行六列的区域,录入后公式后再组合键,而不是传统的录入在一个单元格里右拉。
好吧,终于理清了这晕人的常量数组,那么……有什么用呢?如果其作用仅仅是用来晕人,那我估计某软大楼也在十几年前就被砸了……
常量数组最大的用处就是:作为参数出现在公式中!(废话,数字、符号……哪个不是这作用?)
但是,人家既然是数组,自然就有与普通数字不一样的地方啦,比如,要计算数字10分别乘以2、9、7以后,再求和,当然可以写成:
=10*2+10*9+10*7
而用上常量数组,那就……高大上啦:
=sum(10*{2,9,7})
这个公式的结果是只在一个单元格内的,所以结束时都不需要组合键(其实绝大部分情况下,公式里有常量数组最终进行求和这类结果只是一个值的,都不需要组合键的)。
好吧,再来举个更高大上的例子:根据左表分数段评级的关系,为右表中每个分数评级。
这个问题其实用Vlookup或Lookup,秒杀!
但是,这公式有个不足,必须依赖辅助单元格,所以我们可以将公式动下手术,利用常量数组来解决:
=VLOOKUP(F1,{0,"D";61,"C";81,"B";101,"A"},2)
(注:表中B列的数据其实就是用来看的,在转成常量数组后,可以不要,并将第三个参数改成2)
或者用Lookup函数:
=LOOKUP(F1,{0;61;81;101},{"D";"C";"B";"A"})
=LOOKUP(F1,{0,"D";61,"C";81,"B";101,"A"})
常量数组我们常见的有这样几种:
={1,2,3,4,5,6}
={1;2;3;4;5;6}
={1,2,3;4,5,6}
这些看着眼花,其实说白了,就是个常量数组的排列问题,上面三个分别是一行六列、一列六行和两行三列。原来逗号是指横向、分号是指纵向。

比如第一个一行六列的常量数组,就要先选取一个一行六列的区域,录入后公式后再组合键,而不是传统的录入在一个单元格里右拉。
好吧,终于理清了这晕人的常量数组,那么……有什么用呢?如果其作用仅仅是用来晕人,那我估计某软大楼也在十几年前就被砸了……
常量数组最大的用处就是:作为参数出现在公式中!(废话,数字、符号……哪个不是这作用?)
但是,人家既然是数组,自然就有与普通数字不一样的地方啦,比如,要计算数字10分别乘以2、9、7以后,再求和,当然可以写成:
=10*2+10*9+10*7
而用上常量数组,那就……高大上啦:
=sum(10*{2,9,7})
这个公式的结果是只在一个单元格内的,所以结束时都不需要组合键(其实绝大部分情况下,公式里有常量数组最终进行求和这类结果只是一个值的,都不需要组合键的)。
好吧,再来举个更高大上的例子:根据左表分数段评级的关系,为右表中每个分数评级。

但是,这公式有个不足,必须依赖辅助单元格,所以我们可以将公式动下手术,利用常量数组来解决:
=VLOOKUP(F1,{0,"D";61,"C";81,"B";101,"A"},2)
(注:表中B列的数据其实就是用来看的,在转成常量数组后,可以不要,并将第三个参数改成2)
或者用Lookup函数:
=LOOKUP(F1,{0;61;81;101},{"D";"C";"B";"A"})
=LOOKUP(F1,{0,"D";61,"C";81,"B";101,"A"})
我的个性签名