【问题标题】:Xlookup and return value not from the same rowXlookup 和返回值不是来自同一行
【发布时间】:2021-10-01 00:02:18
【问题描述】:

是否可以使用不在同一行的 XLOOKUP 查找和返回值?

表 1 是我试图从表 2 中查找的数据集。

在表 1 中 colA 值 =“1”是父级,“2”是子级。并且,包含地址的父行。

示例 1 查找值 Table2.A3 查找数组 Table1.colB 返回数组 Table1.C3 & D3

示例 2 查找值 Table2.A4 查找数组 Table1.colB 返回数组 Table1.C5 & D5

【问题讨论】:

  • 查找值“CCFF”的预期输出是什么?
  • CCFF 返回值将与 EFGG 相同,即 table1.C5 中的值
  • 您使用哪个版本的 Excel?
  • 使用 Excel 365

标签: excel excel-formula


【解决方案1】:

不要使用XLOOKUP(),而是使用INDEX(MATCH()) 并将行增加或减少1(甚至 MATCH() 以找到它应该改变的量,尽管这将是很恶心)

INDEX ( <return array> , MATCH ( <lookup value> , <lookup array> , 0) + 1)

示例 2
假设从 Sheet2 中的单元格 B3 查找示例 1 Sheet1

=INDEX(Sheet1!C3:C:10000, MATCH(A3, Sheet1!B3:B10000, 0) - 1)

【讨论】:

  • 如果我试图查找 table2.A5 值并想要返回 table1.C5 怎么办?该公式将返回值“Sarah”
  • 只需移动增量和减量,直到你想要的结果,你也可以将结果数组移动为@Jody Highroller suggests
  • @ti7 - 我的猜测是增量不一致,但是 OP 希望从上面的第一行返回一个值,在 B 列为空白的地方找到匹配项。
  • mm - 这样的事情通常最好通过添加另一列来查找相对偏移量来完成。我想他们可以动态地将其添加到他们的索引中,但整个事情似乎可能有其他来源数据更好
  • 在表 1 中 colA 值 ="1" 是父行,"2" 是子行。并且,包含地址的父行。
【解决方案2】:

只需偏移您的 return_array 参数即可。

=XLOOKUP(A3,$F$3:$F$7,$G$2:$H$6)

【讨论】:

  • @BigBen 100% 正确。
  • "CCFF返回值会和EFGG一样,就是table1.C5中的值"
【解决方案3】:

从另一个论坛找到公式。 H2=XLOOKUP(1,$A$2:INDEX($A$2:$A$100,MATCH($G2,$B$2:$B$100,0)),C$2:INDEX(C$2:C$100,MATCH( $G2,$B$2:$B$100,0)),"不匹配",0,-1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2021-09-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多