📜  如何决定使用哪个 Excel 查找公式?

📅  最后修改于: 2021-09-23 04:59:41             🧑  作者: Mango

在 Excel 中,您有大量方法可以查看特定类型的值,但选择的最佳方法会产生差异。那么,在某种情况下我们需要什么样的心态来使用特定的查找方法?这就是我们将在这里看到的。但是,首先,让我们看一个现实生活中的例子,为什么有必要为查找选择最优化的方法。

例子:

假设您在一家公司工作,那里有很多收入表(或收据)和定期的员工更新表,但该地区的计算机可用性几乎为零。因此,您将使用您的感官来计算这些表。现在,你有很多方法,要么逐列或逐行读取每张表中的总收入,要么先计算小数,然后从中添加或减去(根据一张表)大数,使用计算器计算表格,方法将变得越来越广泛,数量也越来越多。现在,如果您尝试计算常规员工表,其中包含员工的常规绩效以及他们获得的每日工资,以及是否有人离开公司。这里也有很多方法是可能的,因为它们包含名称、数字、百分比等,但最有效的选择方法是最重要的。

因此,在 Excel 中,您也需要选择最合适的方式来查找Excel 中的值。但首先,让我们看看在 Excel 中查找值的方法。

  1. 查找
  2. 连接
  3. 指数匹配
  4. 查找匹配
  5. 偏移匹配

现在,让我们简要地看一下它们:

1.VLOOKUP

Vlookup,顾名思义,是以垂直方式查看数据,即它将查看列中的数据。这里,大写 V 表示数据的垂直查找。此方法是执行查找的经典方法。它的唯一目的是通过引用表的第一列来返回值。它的用法很简单,使用这个方法的语法是:

VLOOKUP (the value to be searched, range of table onto which values will be searched,
         Numerical value of column from which data will be retreived,
         LOOKUP RANGE=TRUE/FALSE(OPTIONAL))

现在,当我们看到它应用于数据集时,我们将更好地理解语法。因此,此处的示例数据集将是员工姓名、他们每天产生的收入以及他们的每日工资。

现在,你想知道凯特今天赚了多少钱,所以我们将使用 VLOOKUP 公式来获取值。所以,公式将是:

=Vlookup(Kate;A2:C:8;2;FALSE)

现在,我们将理解为什么我们在参数中逐步传递这些值:

  1. 我们将 Kate 作为我们的第一个参数传递,因为要获取 Kate 的收入,并且 VLOOKUP 始终引用数据集的第一列。
  2. 取值的遍历值范围是A2到C8,即我们遍历整个数据集,因为我们给出了数据集起始单元格的坐标(不包括列名),以及数据集的最后一个值,即C8.
  3. 存储员工收入的列是第二列,因此在第三个参数中传递了 2。
  4. 现在,此查找范围已设置为 false,因为我们不希望近似搜索值,我们想要精确值,因此最后一个参数设置为 FALSE。在某些情况下,当您希望输出接近精确时,我们将此参数设置为 TRUE。

关于 VLOOKUP 需要注意的重要一点是,它只知道如何以时尚的方式从左到右查找数据。

VLOOKUP 的主要缺点是它与动态世界不兼容因为我们的数据集会每天都在变化。因此,为了增强 VLOOKUP,我们将 VLOOKUP 与其他功能一起使用。

2.HLOOKUP:

正如 VLOOKUP 中的 V 表示数据中的垂直查找,HLOOKUP 中的 H 表示数据中的水平查找。它的主要目的是通过以水平方式查看,即通过引用第一行的数值,按行返回所需的值。它的语法与 VLOOKUP 的语法非常相似。

=HLOOKUP (the value to be searched,range of table onto which values will be searched,
          index of row onto which value will be searched,
          LOOKUP RANGE=TRUE/FALSE(OPTIONAL))

现在,考虑一个数据集,我们在其中跟踪连续几天售出的动作电影的数量,因此数据集将是:

现在,您的任务是找出“SALT”在第 2 天售出的数量。所以在这里你可以看到数据搜索从垂直转移到水平。现在,公式将是:

=HLOOKUP(SALT;B1:D6;2;FALSE)

这将获取以下输出 –

现在,这个公式是如何工作的?让我们看看在 HLOOKUP函数传递了哪些参数:

  1. 第一个参数是必须获取其值的电影(或属性)的名称。
  2. 第二个参数采用将在其上搜索值的表的范围。
  3. 第三个参数将包含行数,将在其上搜索值,在这种情况下,我们想要第 2 天的销售,即第 2 行(请记住,我们以 B1 作为起始行,因此该行将算作第 2 行),所以这里传递 2。
  4. 第四个参数的功能与 VLOOKUP 的第四个参数相同,即准确地说,我们传递了 FALSE,您也可以在这里传递 FALSE 的布尔值,即 0。

HLOOKUP不是很常用,正如它的要求所说,你应该将搜索值放在数据库的第一行。所以,就像 VLOOKUP 一样,单独的 HLOOKUP 与当前设置不兼容,所以我们使用 HLOOKUP 与不同的方法。

3.指数匹配:

索引匹配利用两个主要属性,即“INDEX”和“MATCH”。这两者结合起来可以使搜索(查找)条件更加灵活,即没有更多限制,您可以使用此方法进行垂直查找,此方法用于水平查找等 INDEX MATCH 删除了这个东西,并使查找过程更灵活。

现在,为了理解这种方法,我们将看两个分别属于 INDEX 和 MATCH 的例子。

INDEX函数: INDEX函数非常基础,它的函数是返回该单元格中的值,其值在函数的参数中指定。让我们来看看它的语法——

INDEX(Range of table you want to search the value;
      numerical value of row on which value is to be searched;
      numerical value of column on which value is to be searched)

现在,让我们只看上面的数据集,并尝试了解 INDEX 是如何工作的。假设您想知道,《以利书》在第 3 天赚了多少钱。现在,您知道在第 3 行完成第 3 天的条目,在第 2 列完成 eli 条目的书,因此公式将如下所示:

=INDEX(A2:D6;3;2)

现在,输出将如下所示:

现在,这个公式是如何工作的?我们来看看我们在 INDEX函数传入的参数是什么——

  • A2:D6:这将告诉 INDEX 在数据集中搜索的位置。
  • 3:要搜索值的行号(请记住,我们从 A2 开始,因此在这种情况下,行号变为 3)
  • 2:要在其上搜索值的列号。

如果您熟悉坐标几何的基本概念,您应该已经注意到它返回了存储在 (3,2) 位置的值。

现在,转到匹配函数,

MATCH函数: MATCH函数会告诉我们一个项目的位置,它会作为这个函数的第一个参数传递,它与以水平方式或垂直方式搜索无关。这个函数在非常大的数据集中查找值非常强大。现在让我们看一下 MATCH函数的示例。

考虑一个数据集,其中有学生的名字,有一个学生离开了学校,学生的名字是“RAJ MEHRA”。所以,我们想找出他在这个数据集上的位置。使用的数据集将是:

现在,我们将在列名称“NAME”上应用我们的匹配函数,公式将如下所示:

MATCH("RAJ MEHRA";A2:A7;0)

这将输出 4 作为我们的答案,因为“RAJ MEHRA”在第 4 行。现在,这个公式是如何工作的?我们来看看它的论据:

  1. “RAJ MEHRA”:这个参数接受一个字符串,将在给定的搜索范围内进行搜索。
  2. A2:A7:将在其上搜索值的范围。
  3. 0:这个参数与我们在 VLOOKUP OR HLOOKUP 中看到的相同,这里我们将此参数设置为 0 或 FALSE,这意味着我们希望与我们传递的字符串完全匹配。此参数在作为 1 或 TRUE 传递时,将用于近似匹配传递的字符串。

现在,当我们分别理解了 INDEX、MATCH 时,现在我们将看看 INDEX、MATCH 的相互作用,即它们如何协同工作。

考虑到我们在上面的例子中创建的数据集的扩展版本,现在我们将添加学生正在学习的区域,即他们在哪个学习部门。因此,数据集将是:

现在,问题是,假设您不知道 Mohan 的数据存储在哪一行,但是您想获取 MOHAN 的研究区域,那么这里的 MATCH函数将帮助 INDEX FUNCTION 定位值所在的行号通过在第一个参数中采用学生的姓名来存储。 match函数将作为 INDEX函数的第二个参数传递,因为我们不知道行号。所以,这个公式看起来像:

=INDEX(B2:C7;MATCH("MOHAN";A2:A7;0);3)

这个公式同时使用了索引和匹配,这使得这个公式非常有效。

它唯一的缺点是它与非常大的数据集不兼容。

4.VLOOKUP匹配:

顾名思义,这对组合将增强 VLOOKUP 方法的搜索(查找)能力。 VLOOKUP 所做的是它仅以垂直方式搜索,即仅向下搜索列范围。但是,众所周知,这并不能满足现实世界中搜索的要求。现在,使用这种方法,我们可以以 2D 形式搜索,即在矩阵中进行搜索,而不仅仅是向上到向下并遵循 1D 方法。由于我们已经分别理解了 VLOOKUP 和 MATCH,所以让我们直接从示例中理解这个方法:

现在,考虑与上述示例中创建的数据集相同的数据集,我们想知道 ROLL NO。里汉。所以,我们将使用 VLOOKUP 方法来做到这一点。这个公式将是:

=VLOOKUP("RIHAN";A1:C7;MATCH(B1,A1:C1))

这将返回 5 作为我们的答案。但是,正如您所看到的,我们使用了 VLOOKUP 并找出了包含在其他列的单元格中的值。所以,在这里你可以看到 VLOOKUP 的扩展。现在,这个公式是如何工作的?让我们逐个论证。

  1. “RIHAN”:这将是 VLOOKUP 用来搜索其值的参考。
  2. “A1:C7”:将在其上搜索值的范围。
  3. “MATCH(B1,A1:C1)”:这部分让vlookup更加灵活。在这里,如果我们看看匹配函数将返回什么,所以它会返回 2,因为卷数包含在第二列中,现在,将搜索列的数组范围将是 A1 到 C1,即包含的列名排。

现在,只要 VLOOKUP 到达“RIHAN”所在的单元格,匹配函数就会将控件定向到第二列,在这里您可以看到 VLOOKUP 本身从一维搜索变为二维搜索。

5.偏移匹配:

要理解这个概念,我们需要了解什么是偏移量。

OFFSET 方法:这种方法主要用于动态搜索,或者我们可以说到达或指向某个特定的单元格,从任何单元格开始。即参考这个单元格。并到达其他一些细胞。偏移工作的唯一要求是您的数据集应该是一个二维矩阵,而不仅仅是一个单元格或一个线性数据集。现在,让我们来看看它的语法:

OFFSET(Starting cell;row offset;column offset;height for rows;height for columns)

现在,让我们通过一个例子来看看它的参数是如何工作的。为此,您应该对如何在矩阵中遍历行和列有一个很好的了解。您可以使用空数据集作为参考。

假设您站在单元格 B2 上,想要到达单元格 E6,那么在这里您可以看到我们的起始单元格是 B2。我们的行偏移量,即我们的目标单元格有多少行,所以在这种情况下,我们的行偏移量是 4。我们的列偏移量,即我们的目标单元格距离多少列,所以在这种情况下,我们的列偏移量是3.所以我们的偏移公式看起来像——

=OFFSET(B2;4;3)

现在,我们还可以仅使用一个单元格引用数据集中的一系列值,在此,我们还将使用最后两个参数。

假设您要引用 C2:C6,仅从 B2 开始,因此在此行中的偏移量将为 0,因为该范围的起始单元格,即 C2,在同一行中,与 B2 中的列偏移量将为 1,因为 C2 单元格在 B2 单元格之前一列。行的高度将是给定范围内包含的单元格数,因此在 C2 到 C6 中,覆盖了范围 5 的单元格,因此行的高度将以 5 作为其参数。对于列高,顾名思义,它是指给定一个单元格范围覆盖的水平方式中有多少个单元格。正如我们所看到的,列以垂直方式排列,因此我们的列高为 1。更准确地说,列的高度就是您的值范围所覆盖的列的宽度。所以这个公式将是:

=OFFSET(B2;0;1;5;1)

在 Excel 中,不建议为行设置高度,为列的负值设置高度。

现在,我们将看到一个偏移量,匹配一起工作:

考虑到这个数据集,我们想知道 Zeeshan 在哪个研究领域进行研究。所以,首先,让我们看看偏移匹配的语法是怎样的:

=OFFSET(Reference cell,MATCH(RowLookupNumber,RowLookupRange,Boolean for matching precision),
                      MATCH(ColumnLookupNumber,ColumnLookupRange,Boolean for matching precision))

为了理解这种语法,让我们考虑上述情况,并尝试找出 Zeeshan 使用偏移匹配进行研究的研究领域。所以,公式将是:

=OFFSET(A1;MATCH("ZEESHAN";A2:A7;0);MATCH("AREA";A1:C1;0))

将此公式放在 B12 单元格中,答案将是 MEDICAL。现在,这是如何工作的?让我们逐个论证地理解它:

  1. A1:这是偏移量将从其自身开始搜索的参考。
  2. “ZEESHAN”:这是匹配将在给定范围内搜索的查找值。
  3. A2:A7:这是行查找值的范围,在这个范围内匹配将搜索关键字“ZEESHAN”。
  4. 0:该参数表示精确搜索,即0,近似搜索,这里传1。
  5. “AREA”:这是匹配将在给定范围内找到的列查找值。所以,在这里你可以看到,offset 的参数被匹配的返回值引导到 2D 形式搜索中。
  6. A1:C1:这是列查找范围,匹配将使用它来搜索名为“AREA”的列。
  7. 0:该参数表示精确搜索,即0,近似搜索,这里传1。

与其他方法相比,此方法的主要优势在于它在 Excel 中的搜索过程更快且耗时更少。

现在,我们将看到如何比较两个表:

表格比较:

现在,假设我们有 2 个表,name 1 和 name2,它们代表来自 2 个不同部门的员工,所以他们的名字显然不能相同。因此,我们将使用我们的表格比较概念来比较这两个表格。

因此,在这里我们将使用一个非常基本的 IF 公式来完成上述任务。它的工作方式类似于大多数编程语言中的“if”条件语句。因此,完成上述任务的公式将是——

=IF(A2=B2;"VERIFY";"CLEAR")

现在。当我们在单元格 C2 到 C8 中应用此公式时,生成的数据集将如下所示:

 

现在,使用此公式,因为它只是比较 A 列和 B 列的相应单元格中的 2 个值,如果值不匹配,则返回 CLEAR,否则,它将返回 VERIFY,如通过比较 A4 与 B4 返回的结果。这个过程也可以完成,不使用 IF 公式,只需比较 A 和 B 的对应单元格。如果找到匹配,这将返回一个传统的 TRUE 值,否则将返回 FALSE。因此,IF 公式仅在我们想要伪造返回值时使用。