ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > Excel中函数与公式中所指的数组通常分为哪几类?

Excel中函数与公式中所指的数组通常分为哪几类?

作者:绿色风 分类: 时间:2022-08-17 浏览:124
楼主
apolloh
Q:Excel中函数与公式中所指的数组通常分为哪几类?
A:Excel函数与公式中的数组,通常分为常量数组、区域数组、内存数组和命名数组。
  • 常量数组就是常数组成的数组,可以直接嵌入公式,不需要单元格区域存储;
  • 区域数组实际上是单元格区域,数据存储在单元格中,公式必须引用单元格才能调用数据;
  • 内存数组实际上包含常量数组,但它主要指某个公式的计算结果是数组,且做为整体嵌入其他公式中继续参与计算;
  • 命名数组,顾名思义,就是用名称来定义一个上述三种数组,通常用于不直接接受常量数组的条件格式自定义公式和数据有效性(序列除外)中。
  • 2楼
    gouweicao78
    配合举例说明:
    1、常量数组,例如:{"a",1234;"b",true;"c","ExcelTip"},是一个3行2列的常量数组,可包含文本、数值、逻辑值等;
    2、区域数组:例如公式=SUMIF(A1:A10,A1:A10,B1:B10)中,是将区域数组A1:A10(实际就是单元格区域A1:A10)直接作为Sumif求和的“数组”条件,公式将返回10行1列的数组;
    3、内存数组:例如=SUMIF(A1:A10,A1:A10,B1:B10)得到的结果是内存数组,可以作为整体嵌入其他公式中继续参与计算。
    4、命名数组:例如新建一个包含3个sheet的工作簿Book1,按Ctrl+F3,定义一个名称sheetnames=GET.WORKBOOK(1),则该名称返回的是{"[Book1]Sheet1","[Book1]Sheet2","[Book1]Sheet3"}的数组。
    3楼
    habf2008
    谢谢分享,O(∩_∩)O~
    数组方面提高太慢了、、、
    4楼
    _s_bri
    学习了,感谢版主的详细解释。
    5楼
    yanghan52717
    谢谢你的指导。
    6楼
    goldowl
    Thanks a lot.
    7楼
    julia0206
    举例说明非常清楚,谢谢
    8楼
    曾杰2号
    谢谢楼主分享
    9楼
    story99
    感谢技术分享,感谢举例分析
    10楼
    28152914

    11楼
    rebude
    好好享用  。谢谢!
    12楼
    千寻与千
    啊啊~~~非常好啊。我excel要迫切提高
    13楼
    xynczhangchun
    学习中
    14楼
    maoyanshi
    学习了,函数公式几乎都不怎么会,学习长路漫漫
    15楼
    金妮妮
    在三键的基础上,又学了好东东,多谢分享!
    16楼
    xing_xingyou
    好东西,谢谢分享!
    17楼
    wangxiasy
    了解就好,不太明白分类。
    18楼
    zgwei050
    谢谢两位版主的详细说明,学习了。
    19楼
    w7557610
    学习了。谢谢
    20楼
    andrewyang

    21楼
    anyingshu
    谢谢分享,学习了
    22楼
    健康快乐123
    谢谢讲解
    23楼
    健康快乐123
    讲解清楚,学习了
    24楼
    kakaco
    哇。恩。不错。。
    25楼
    zhyy慕容佳
    我是菜鸟,努力学习
    26楼
    qzwanglimei
    谢谢
    27楼
    yoho
    还得在实践中加深认识才行
    28楼
    隔山听流水
    thanks
    29楼
    kevin_yjl
    数组很强大
    30楼
    绿野
    感谢技术分享,感谢举例分析
    31楼
    thisis
    需要慢慢了解
    32楼
    507514099
    学习了感谢版主的详细解释
    33楼
    alongdog
    举例子的说明很不错呢!谢谢楼主!
    34楼
    爱在西元前
    数组公式确实可以解决很多实际问题,可是学习应用起来比较困难,主要是难以理解
    35楼
    pphun
    感谢分享,感谢举例分析
    36楼
    hustclm
    草版,第二点区域数组不是很理解,能不能给个案例演示下,谢谢!
    区域数组:例如公式=SUMIF(A1:A10,A1:A10,B1:B10)中,是将区域数组A1:A10(实际就是单元格区域A1:A10)直接作为Sumif求和的“数组”条件,公式将返回10行1列的数组;
    37楼
    马叉虫子
    太好了,稍微了解了点!~
    38楼
    gouweicao78
    SUMIF的第2参数是条件参数,这个公式只有第2个A1:A10算区域数组。
    39楼
    hustclm
    不是很懂,我按F9,看到在一个单元格里有10个结果,不知道是不是这个意思
    40楼
    gouweicao78
    F9键是转化计算结果的,并不能完全代表“原意”。
    比如=SUMIF(A1:A10,"张三",B1:B10)——用F9把第一或第三参数变为10个结果的(也就成了“常量数组”),公式就出错了,因为SUMIF要求这2个参数类型务必是单元格区域的引用。

    而=SUMIF(A1:A10,{"张三";"李四"},B1:B10)——这个使用了常量数组,其中{"张三";"李四"}是2行1列的常量组成的数组。
    假设,我们在C1:C2也输入张三和李四,那么:=SUMIF(A1:A10,C1:C2,B1:B10)按理说应该和前面公式一样,当然,按了F9两个公式的结果都一样,得到2行1列的数组。

    但是:要对这个结果求和,用=SUM(SUMIF(A1:A10,{"张三";"李四"},B1:B10))——可以直接按ENTER结束,普通公式即可求和。
    用=SUM(SUMIF(A1:A10,C1:C2,B1:B10))——这个必须按CTRL+SHIFT+ENTER结束才可以,因为这里用的C1:C2是区域数组,而不是常量数组。

    免责声明

    有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
    ------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

    评论列表
    sitemap