excel学习库

excel表格_excel函数公式大全_execl从入门到精通

根据条件,查询出现次数最多的数值

wx gzh 初风Excel表格教学

在往期文章


我们提到如何查找出现次数最多的文本。

有小伙伴问:如何根据条件,查询出现次数最多的数值。

本文以产品价格查询为例,和大家分享如何解决这类难题。

一、案例

如下图所示,A1:B3为产品价格表,每种产品有多个价格。要求获取每个产品出现次数最多的价格。

例如产品“A-1”的单价有2.5(出现3次)、3(出现1次),则产品“A-1”出现次数最多的单价为2.5。

二、计算步骤

在单元格E2输入公式

=INDEX($B$2:$B$16,MODE(IF($A$2:$A$16=D2,MATCH($B$2:$B$16,$B$2:$B$16,0))))

按Ctrl+Shift+Enter结束公式输入,拖动填充柄向下复制公式。

公式解析:

(1)MATCH函数用于返回查找值在数组中的相对位置,如果查找值不止出现一次,返回第一次出现的位置。

MATCH($B$2:$B$16,$B$2:$B$16,0)返回B2:B16中每个价格在B2:B16单元格区域出现的相对位置,返回值为{1;2;3;2;5;1;2;8;3;8;11;3;8;14;3}。

(2)IF($A$2:$A$16=D2,MATCH($B$2:$B$16,$B$2:$B$16,0)),即

IF($A$2:$A$16=D2,{1;2;3;2;5;1;2;8;3;8;11;3;8;14;3})。

当A2:A16单元格内文本为“A-1”,则返回{1;2;3;2;5;1;2;8;3;8;11;3;8;14;3}对应位置的数值,否则返回FALSE。IF函数返回的结果为{FALSE;2;FALSE;2;FALSE;1;2;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

(3)MODE返回一组数值中出现次数最多的数。

MODE(IF($A$2:$A$16=D2,MATCH($B$2:$B$16,$B$2:$B$16,0)))即

MODE({FALSE;2;FALSE;2;FALSE;1;2;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}),出现次数最多的数值是“2”,因此MODE函数返回的结果为“2”。

(4)INDEX函数返回指定行列交叉处单元格的值。

INDEX($B$2:$B$16,MODE(IF($A$2:$A$16=D2,MATCH($B$2:$B$16,$B$2:$B$16,0))))即INDEX($B$2:$B$16,2),返回B2:B16单元格区域第2行的数值,即“2.5”。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接