匹配第一个满足的不平等与1条标准和获得列标题

在这里输入图像说明

我需要的是

  1. B列值(红色)应该由没有VBA的Excel计算
  2. 列( Conf. Level )具有每行的标准值
  3. 在每一行中, B列的相关单元格必须打印第一个相同的行单元格的列标题,该标题是> =而不是相关的标准值

例如:

B2打印0,因为C2是> = A2的第一个值

B3打印2,因为E3是大于A3的第一个值

我已经用excel,索引,匹配标签阅读了这个网站的问答,并尝试了一些东西,但是我不能达到#N / A以上。 我也阅读了Microsoft Excel帮助页面的Index()Match()函数。

实际情况下,我有大量的行(不仅有3个数据行)。

B2试试这个:

 =SMALL(IF(C2:F2>A2,$C$1:$F$1),1) 

这是一个数组公式 ,请键入公式,然后按CTRL + SHIFT + ENTER 。 大括号将自动出现在公式的开始和结束处。 然后拖动公式。

如果没有大于A2值,则SMALL返回#NUM!

我认为你是正确的看INDEXMATCH 。 看下面是否做你想要的:

在这里输入图像说明

公式查找没有指定types的“匹配” – 也就是说,它会find最后一个小于您正在查找的值(假设值已sorting)。 您添加1以获取您想要的值(第一个值不小于==大于或等于的值)。 然后使用INDEX在行C1:F1查找对应的值(我使用了字母),并在单元格B2返回该值。 如果这不是你想要的,请澄清…这是我从这个问题所理解的。

显然,如果你需要多次重复这个公式,那么写在B2中如下:

 =INDEX($C$1:$F$1, MATCH(A2, C2:F2)+1) 

并双击右下angular的小“拖动手柄”,使其复制到列B中的所有行(同时正确保留绝对/相对寻址)

编辑 @西莫科指出,如果第一个值大于标准(因为这意味着“没有小于”的值),我的公式将失败。 你可以调整它

 =IFERROR(INDEX($C$1:$F$1, MATCH(A2, C2:F2)+1),$C$1) 

这是一个非常酷的function,说:“如果事情发生错误,请改用这个其他的值”。 这确实假设至less有一个值符合标准; 如果有可能没有一个值符合标准,你可能需要变得更聪明:

 =IFERROR(INDEX($C$1:$F$1, MATCH(A2, C2:F2)+1),IF(MAX(C2:F2)>A2,$C$1, "No match")) 

最后的错误信息可以是任何你想要的,显然。