hello,大家好,今天大家介绍一些有关于数组的知识,数组经常用在一些比较高阶的函数嵌套中,理解数组,对于函数的进阶有至关重要的作用,可谓是函数中的神兵利器,我们可以使用数据完成很多之前解决不了的问题
![49bd6d6b3a5b47d5bbacccc618638075.png](https://i-blog.csdnimg.cn/blog_migrate/c5cafca6376a872a94915ede225ec663.jpeg)
一、什么是数组
通俗来说就是一组结构相同的数据按照一定的规律进行排列。组成数组的数据我们统称为元素,元素可以说:数值,文本,日期,逻辑值或错误值
我们还必须明白2点
1.数组元素都包括在大括号内
2.数组的输入也与一般函数不同必须先选择区域然后进行公式的输入,输入完成后按CTRL+SHIFT+回车三键填充如下图
![ae14ff50e6d10364478d3124c2b8f687.gif](https://i-blog.csdnimg.cn/blog_migrate/36215f1ba74dbad6159d17f7ecd7f439.gif)
二、数组的类型以及显示方式
Excel中我们经常用到的数据类型有三种
1.一维数组
行数组:仅有一行元素的数据,每个元素以逗号隔开
我们在B4输入=B2:E2,然后选择公式按F9抹黑公式得到结果如下图
![e0aab8dc73309d4ea5767e6d2caf5bbd.png](https://i-blog.csdnimg.cn/blog_migrate/1533aa40af8910bb5902f2aa3aab4327.jpeg)
列数组:仅有一列元素的数据,每个元素以分号隔开
我们在D2单元格输入=B2:B9,然后选择公式按F9抹黑公式得到结果如下图
![fbf0b0aee255c608be7f0ba2ae54310f.png](https://i-blog.csdnimg.cn/blog_migrate/e5a49601aa790c4ce1ddfbf2535a93ea.jpeg)
2.二维数组:有多行多列元素的数据,显示方式为从左到右同行元素以逗号隔开,当需要向下进一行的时候以分号代表换行
我们在E2单元格输入=A2:C9,然后选择公式按F9抹黑公式得到结果如下图
![9a09a0542834cd23f48ace554008abad.png](https://i-blog.csdnimg.cn/blog_migrate/b03d65b37442bf47d18537ba9ae8d0ad.jpeg)
={1,1,1;2,2,2;3,3,3;4,4,4;5,5,5;6,6,6;7,7,7;8,8,8}这是我们抹黑后得到的结果,当第一行排列完后向下进一行的时候以分号隔开,因为数据是二维的而Excel显示只能显示一维所以用分号代表换行
3.内存数组
存在内存中的数组比如我们用row函数构建一个数组
![374aab157b17b778d9b1e5edcc9ce0ff.png](https://i-blog.csdnimg.cn/blog_migrate/39e7538b992da31dc09be284052bf5d8.jpeg)
我们输入公式=ROW(1:9),然后选择公式按F9抹黑公式可以得到上图结果,其实他跟单列数组是一样的只不过是使用公式构建的
三、数组的运算
数组的运算分为三种情况
1.数组与常量的计算
![4469f8c7cce1835a55c6e212a6887cd3.png](https://i-blog.csdnimg.cn/blog_migrate/fc472f869e020831059f702bad4898b4.jpeg)
我们用一维列数组为列,当我们选择A2:A9然后对其加3就代表数组中的每一个元素分别加3
只要是数组与一个常量进行预算,都是数组中的每一个元素分别与这个元素进行运算,得到一个新的数组
2.一维数组与一维数组,二维数组与二维数组
![fdfdbc9d30e5d04d34233766d871b572.png](https://i-blog.csdnimg.cn/blog_migrate/d3452fd496ded01dfc7c389fd0195bae.jpeg)
我用A2:A9数组减去C2:C9数组得到的结果为0,这就说明
当数组与数组进行计算的时候,是数组中的相对应的元素进行运算
![1737a8e6d6fdd99ca62af2c2e5b76b2e.png](https://i-blog.csdnimg.cn/blog_migrate/7c81e3b49033f0328e32eb64b0aabc5b.jpeg)
我用A2:B9数组减去D2:E9数组得到的数组结果为0,这就说明二维数组与一维数组运算是一样的都是每个对应的元素分别运算
但是我们还需要注意当我们使用数组与数组进行运算时,两个数组的类型,元素必须相等,如果用1维行数组与1维列数组进行运算同样也会报错,因为类型不同,二维数组进行运算时候行列必须相等
3.二维数组与一维数组
二维数组与一维列数组
![3d94088ed89f49197dca4032c1b22951.png](https://i-blog.csdnimg.cn/blog_migrate/a840cd4bf1a1dfa01b621cecfa1a3f59.jpeg)
我用A2:B9区域减去D2:D9区域,A2:B9是一个二维数组而D2:D9区域为一个一维数组,其结果同样为0,我们可以看做是将二维数组划分为两个一维数组分别与D2:D9数组相减
A2:A9减去D2:D9
B2:B9减去D2:D9
二维数组与一维行数组
![30e9dca4ed3720c2969e2ba5cd93949e.png](https://i-blog.csdnimg.cn/blog_migrate/2c35bccc9c0ab0b71af0f541115ddf0a.jpeg)
我们用A2:B9区域减去D2:E2区域,可以看做是将A2:B9看成8个单独的1维行数组分别与D2:E2区域相减得到新的数组区域
二维数组与一维数组进行运算时,一维数组的行列方向的元素必须与二维数组相对应否则会报错
关于数组的基础大概就这么多,有时间我会整理下常见数组公式的用法以及解析