在Exce的数组中,找到与已知值数组分成两组差值最小小的值,单元格内显示这个数值,和其对应的第一行和第一列的值

工作中经常使用Excel的朋友可能都会遇到一些看起来似懂非懂的错误值信息:例如# N/A!、#VALUE!、#DIV/O!等等出现这些错误的原因有很多种,你真的了解它们吗熟练掌握解决这些错誤的方法吗?今天我给大家介绍几种常见的错误及其解决方法

  1. 如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值就会产生#####!。这个看起来比较简单大家应该都了解吧。

    解决方法:如果单元格所含的数字、日期或时间比单元格寬可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统那么Excel中的日期和时间必须为正值。如果公式正确也可以将單元格的格式改为非日期和时间型来显示该值。

  2. 当使用错误的参数或运算对象类型时或者当公式自动更正功能不能更正公式时,将产生錯误值#VALUE!这其中主要包括3点原因。

    1)在需要数字或逻辑值时输入了文本Excel不能将文本转换为正确的数据类型。

    解决方法:确认公式或函数所需的运算符或参数正确并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字单元格A2包含文本,则公式="A1+A2"将返回錯误值#VALUE!可以用SUM工作表函数将这两个值相加(SUM函数忽略文本):=SUM(A1:A2)。

    2)将单元格引用、公式或函数作为数组常量输入

    解决方法:确认數组常量不是单元格引用、公式或函数。

    3)赋予需要单一数值的运算符或函数一个数值区域

    解决方法:将数值区域改为单一数值。修改數值区域使其包含公式所在的数据行或列。

  3. 当公式被零除时将会产生错误值#DIV/O!。在具体操作中主要表现为以下两种原因

    1)在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格Excel将此空值当作零值)。

    解决方法:修改单元格引用或者在用作除数的单元格中输入不为零的值。

    2)输入的公式中包含明显的除数零例如:公式=1/0。

    解决方法:将零改为非零值

  4. 当茬函数或公式中没有可用数值时,将产生错误值#N/A

    解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A"公式在引鼡这些单元格时,将不进行数值计算而是返回#N/A。

  5. 删除了由其他公式引用的单元格或将移动单元格粘贴到由其他公式引用的单元格中。當单元格引用无效时将产生错误值#REF!

    解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮以恢复工作表中的单元格。

  6. 当公式或函数中某个数字有问题时将产生错误值#NUM!

    1)在需要数字参数的函数中使用了不能接受的参数。

    解决方法:确认函数中使用的參数类型正确无误

    2)由公式产生的数字太大或太小,Excel不能表示

    解决方法:修改公式,使其结果在有效数字范围之间

  7. 使用了不正确的區域运算符或不正确的单元格引用。当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!

    解决方法:如果要引用两个不相交的区域,请使用联合运算符逗号()。公式要对两个区域求和请确认在引用这两个区域时,使用逗号如果没有使用逗号,Excel将试图对同时屬于两个区域的单元格求和由于A1:A13和c12:c23并不相交,它们没有共同的单元格所以就会出错

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

本帖最后由 看见星光 于 12:41 编辑

第二節:VLOOKUP查询符合条件的多个结果

通过第一节的内容,我们初步认识了VLOOKUP(ROW(A1),……)的技巧

这一节,我们需要利用这个技巧回答开篇所提到的第┅个问题。

VLOOKUP能否查询符合条件的多个数值就像经典数组套路INDEX+SMALL+IF那样?

如上图我们需要提取C列符合F1班级的姓名,放入E4:E15

如果使用VLOOKUP,我们应該怎么做

我们还是如第一节那般,先采用辅助列的方式

我们使用COUNTIF函数,配合相对引用的原理统计班级的累计重复次数。

我们通过VLOOKUP查詢ROW(a1)12345上山打老……),来返回与之相对应的C列姓名结果最后外套IFERROR函数,屏蔽VLOOKUP查询不到结果而返回的错误值使之返回空白。

茬数据量大时我们使用INDEX+SMALL数组查询数据,难免卡机此时不妨使用VLOOKUP+辅助列的方式,当然辅助列我们不能再使用低效函数COUNTIF了,我们可以使鼡这样的公式:

理解了辅助列的意义加深了VLOOKUP(ROW(A1),……)技巧的理解,我们下面要做的依然是丢掉辅助列,把辅助列的内容放到公式中,直接使用一个公式得出结果

我们依然可以使用OFFSETCOUNTIF的统计范围进行多维引用,比如:

这个公式的意思是使用COUNTIFB2:B2,B2:B3,B2:B4……直至B2:B15的范围内,分别统計F1数值的重复次数得出来的结果,自然是和辅助列是一致的

我们将这一段公式,放入VLOOKUP函数公式中:

如此这个公式也便正式写完了。

當然如果您确实了解透彻了VLOOKUP的心,关于VLOOKUP查询符合条件的多个数值我们其实也可以写成这样:

我们结合第二个函数套路来稍微解释下此Φ过程。

IF函数判断B1:B15的值是否等于F1,并返回相对应的行数序号ROW(1:15)或者FALSE。(为什么将IF的假值留白而不是像许多学友那样习惯性的输入4^8之类?洇为这里没有必要撒逻辑值天生就比数值大不是……)

SMALL函数,按IF函数的结果在公式下拉的过程中,依次从小到大取数即ROW(1:1),ROW(2:2),取得最小值第二小值……。

INDIRECT函数搭配SMALL所取得的结果,完成对VLOOKUP查找范围从大到小的限定

由于VLOOKUP天生只取首个匹配结果,所以咱们通过查找范围的精確限定便可以使它依次取得所有符合条件的结果……

最后外套IFERROR函数,屏蔽错误值使之返回空白。

好啦现在,咱们可以很清楚的知道关于VLOOKUP无法提取符合条件多个数值的说法,是不正确的呵呵。(我每次发呵呵都会想起胡剑么么哒,唉)

版权声明:本文为博主原创文章未经博主允许不得转载 /qq_/article/details/

 //则max记住最大的
 //则min记住最小的

我要回帖

更多关于 数组分成两组差值最小 的文章

 

随机推荐