Excel不正确的数组公式用法说明

 問露旧 发布于 2023-02-02 21:15

这是我的数据

Region    Value
East       9800
East       5592
East       6966
West       5418

当我做

=AVERAGE(IF(A2:A5="East",B2:B5)) CTRL+SHIFT+ENTER

我明白了

7452.667

哪个是正确的答案.但是,当我这样做

    =AVERAGE(IF(A2:A5="East",B2:B5))  ENTER

我没有收到错误.我明白了

6944

如果我只是输入

 =IF(A2:A5="East",B2:B5)   ENTER

我明白了

 9800

所以6944不是9800的平均值.Excel在这做什么?

当我做

=IF(A2:A5="West",B2:B5)  ENTER

我明白了

 FALSE

所以看起来IF正在读取第一行......但是平均值(If())会发生奇怪的事情

我有一两个问题和一个祷告:

问题:到达6944时excel做了什么?当我输入ENTER而不是CTRL + SHIFT + ENTER时,为什么我没有收到错误?有没有办法提醒excel告诉我在处理数组时做正确的事情?

祷告:我只能希望在过去的几周里我没有产生大量的垃圾,因为我忽略了CTRL-SHIFT-ENTER并且错误地完成了输入而没有出错并且用我得到的东西跑了.

1 个回答
  • 6944是所有值的平均值.你也可以使用它=SUM(B2:B5)/4.

    如果您不使用CSE,IF将评估如下:

    =IF(A2="East",B2:B5)
    

    当您在excel中的非数组公式中有一个数组时,您将只获得该数组的一个术语(或元素).例如,如果你输入上面的公式(没有AVERAGE),则IF计算与插入公式的行对应的单元格.如果你将它放在excel的第二行(任何一个),实际的"结果"公式将如下所示细胞C2,D2,E2等):

    =IF(A2="East", B2)
    

    如果你把它放在C3单元格中会发生什么:

    =IF(A3="East", B3)
    

    如果你把它放在C6 ... A2:A5将返回#VALUE!,因为相应的6英寸行A2:A5不存在!当然,在C5中,您将得到=IF(A5="East", B5)哪些将FALSE与您的样本值一起返回.

    从最初的公式开始,A2确实如此East,你会得到结果AVERAGE(B2:B5).

    与其他功能相同:

    =IF(A2="West",B2:B5)
    

    返回FALSE,平均值FALSE0.

    您可以使用AVERAGEIF不需要输入数组的函数来工作,但假设您有Excel 2007或更高版本:

    =AVERAGEIF(A2:A5,"East",B2:B5)
    

    如果您不想使用数组函数并且在2007之前使用excel版本,例如Excel 2003,您可以尝试:

    =SUMIF(A2:A5,"East",B2:B5)/COUNTIF(A2:A5,"East")
    

    2023-02-02 21:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有