你想做的每一件事都是从一个简单的“VLOOKUP”开始的,但有些事情会有所不同。为简化起见,我们应该将范围命名为“A”和“B”。为此,您可以选择属于“A”的所有单元格,然后在地址框中(屏幕左上角)输入名称。我们称它为“RangeA”。同样,选择属于区域 B 的所有单元格(第一列到第八列;确保不包括标题),并将其命名为 RangeB。现在我们可以开始了:
“对于A中的每个值,在B中找到对应的值,并将值返回到右边”:
这是一个简单的 VLOOKUP。在 A(可能是 B1)右侧的单元格中输入此公式:
=VLOOKUP(A1, RangeB, 3, FALSE)
说明:在名为 RangeB 的范围内查找单元格 A1 中的值。找到完全匹配(即“FALSE”)。返回第 3 列(右侧两个)中的相应值。将公式一直向下拖动(快捷方式:选中单元格后双击右下角的小方块)。
我希望它查看文档 B 中找到的每个匹配值右侧的值 3,如果该值是“时间”,则将字母“T”放在文档 A 的列 A 中值右侧的两个单元格。
这是一个 VLOOKUP,后跟一个 IF。将以下公式放在 A 右侧的两个单元格(可能是 C1)并像以前一样向下拖动:
=IF(VLOOKUP(A1, RangeB, 4, FALSE) = "time", "T", "")
解释:像以前一样向上看(但第 4 列,即“向右三”)。测试找到的值。如果是“时间”,则在此单元格中输入“T”;否则,输入“”(即什么也不输入)。
如果在文档 B 中找到的每个匹配值右侧的四个单元格的值 > 5 我希望 excel 使用公式填充文档 A 的列 A 中值右侧的三个单元格 = 的值(列 G / 同一行的文档 B 中的 H) 列。
找到匹配,取比率。使用 MATCH 函数(在工作表上的隐藏列中)只进行一次查找会更快,因此我们有对行号的引用(我们需要它三次),但这不是必需的。除非您的工作表有数千行,否则您不会注意到性能差异。根据这个线程,在公式中没有“快速方法”来实现这一点。
=if(VLOOKUP(A1, RangeB, 5, FALSE) > 5, VLOOKUP(A1, RangeB, 7, FALSE)/VLOOKUP(A1, RangeB, 8, FALSE), "")
你有它。注意INDEX(MATCH...
(@user2140261的首选方法)可以实现相同的东西,VLOOKUP
但它涉及两个功能。但是,如果您决定创建一个包含MATCH
函数的隐藏列,那么您可以使用INDEX
函数来实现所有其他事情 - 这将是最有效的,因为您只使用一个 MATCH(而不是重新计算一次或多次每一列)。
我希望你能从这里弄清楚。