使用公式在Excel 查找最接近的值

使用公式在Excel 查找最接近的值

如果您掌握了组合不同公式的窍门,Excel 函数会非常强大。原本看似不可能的事情会突然变得像孩子们的游戏。

一个这样的示例是在Excel 的数据集中查找最接近值。

Excel 中有几个有用的查找函数(例如VLOOKUP 和INDEX MATCH),它们可以在一些简单的情况下找到最接近的(如下面的示例所示)。

但最好的部分是您可以将这些查找函数与其他Excel 函数结合起来做更多的事情(包括在未排序的列表中查找查找值的最接近匹配项)。

在本教程中,我将向您展示如何使用查找公式在Excel 中找到查找值的最接近匹配项。

在许多不同的场景中,您需要寻找最接近的匹配(或最接近的匹配值)。

以下是我将在本文中介绍的示例:

  1. 根据销售额查找佣金率
  2. 寻找最佳人选(根据最接近的经验)
  3. 寻找下一个活动日期

让我们开始吧!

查找佣金率(寻找最接近的销售价值)

假设您有一个如下所示的数据集,您想在其中找到所有销售人员的佣金率。

在Excel 中查找最接近的匹配项- 销售数据

佣金是根据销售价值分配的。这是使用右侧的表格计算的。

例如,如果销售人员的总销售额为5000,则佣金为0%,如果他/她的总销售额为15000,则佣金为5%。

相关问题  组装电脑教学:打造属于你自己的电脑

要获得佣金率,您需要找到刚好低于销售价值的最近销售范围。例如,对于15000 的销售额,佣金为10,000(即5%),而对于25000 的销售额,佣金率为20,000(即7%)。

要找到最接近的销售价值并获得佣金率,您可以使用VLOOKUP 中的近似匹配。

下面的公式可以做到这一点:

= VLOOKUP(B2,$ E $ 2:$ F $ 6,2,1)

VLOOKUP公式获取佣金率

请注意,在此公式中,最后一个参数是1,它告诉公式使用近似查找。这意味着该公式将遍历E 列中的销售值并找到刚好低于查找值的值。

然后VLOOKUP 公式将给出该值的佣金率。

注意:为此,您需要将数据按升序排序。

寻找最佳人选(根据最接近的经验)

在上面的例子中,数据需要按升序排序。但可能存在数据未排序的情况。

因此,让我们举一个例子,看看我们如何使用公式组合在Excel 中找到最接近的匹配项。

下面是一个示例数据集,我需要在其中找到工作经验最接近所需值的员工姓名。在这种情况下的期望值是2.5 年。

查找最接近的匹配- 数据集

请注意,数据未排序。此外,最接近的体验可以少于或多于给定体验。例如,2 年和3 年都同样接近(相差0.5 年)。

下面是给我们结果的公式:

=INDEX($A$2:$A$15,MATCH(MIN(ABS(D2-B2:B15)),ABS(D2-$B$2:$B$15),0))

根据经验找到最近匹配的公式

此公式中的技巧是更改查找数组和查找值以找到所需值和实际值的最小经验差异。

让我们首先了解您将如何手动进行(然后我将解释此公式的工作原理)。

手动执行此操作时,您将浏览B 列中的每个单元格,并找到所需体验与一个人拥有的体验之间的差异。一旦你有了所有的差异,你会找到最小的那个并获取那个人的名字。

这正是我们用这个公式所做的。

让我解释。

相关问题  运用Microsoft Word唯读模式的技巧

MATCH 公式中的查找值为MIN(ABS(D2-B2:B15))。

这部分为您提供给定经验(即2.5 年)与所有其他经验之间的最小差异。在本例中,它返回0.3

请注意,我使用ABS 来确保我正在寻找最接近的(可能比给定的经验更多或更少)。

现在,这个最小值成为我们的查找值。

MATCH 函数中的查找数组是ABS(D2-$B$2:$B$15)。

这为我们提供了一个数字数组,从中减去了2.5(所需经验)。

所以現在我們有一個查找值 (0.3) 和一個查找數組 ({6.8;0.8;19.5;21.8;14.5;11.2;0.3;9.2;2;9.8;14.8;0.4;23.8;2.9})

MATCH函数在这个数组中找到0.3的位置,也就是经验最接近的人的名字的位置。

然后,INDEX 函数使用该职位编号来返回人员的姓名。

注意:如果有多个候选人具有相同的最低经验,上述公式将给出第一个匹配员工的姓名。

查找下一个活动日期

这是另一个示例,您可以使用查找公式根据当前日期查找事件的下一个日期。

下面是我有事件名称和事件日期的数据集。

查找事件日期和名称- 数据集

我想要的是下一个事件的名称和这个即将发生的事件的事件日期。

下面是给出即将到来的事件名称的公式:

=INDEX($A$2:$A$11,MATCH(E1,$B$2:$B$11,1)+1)

下面的公式将给出即将到来的活动日期:

=INDEX($B$2:$B$11,MATCH(E1,$B$2:$B$11,1)+1)

查找即将发生的事件日期和名称- 公式

让我解释一下这个公式是如何工作的。

为了获取事件日期,MATCH 函数在B 列中查找当前日期。在这种情况下,我们不是在寻找精确匹配,而是近似匹配。因此,MATCH 函数的最后一个参数是1(它找到小于或等于查找值的最大值)。

因此MATCH 函数将返回日期恰好小于或等于当前日期的单元格的位置。因此,在这种情况下,下一个事件将在下一个单元格中(因为列表按升序排序)。

因此,要获得即将到来的事件日期,只需将MATCH 函数返回的单元格位置加一,它就会为您提供下一个事件日期的单元格位置。

该值随后由INDEX 函数给出。

相关问题  如何在Excel 中插入新工作表? (快捷方式)

要获取事件名称,使用相同的公式,并将INDEX 函数中的范围从B 列更改为A 列。

当一位朋友提出请求时,我想到了这个例子。他在列中列出了所有朋友/亲戚的生日,并想知道下一个生日即将到来(以及此人的姓名)。

以上三个示例展示何使用查找公式在Excel 中查找最接近的值。

哦,您好 👋很高兴认识你。

订阅我们的电子报,定期发送很棒的科技内到您的邮

发表评论