如果(VLOOKUP 大于数字),则从另一张表中的同一行获取值

如果(VLOOKUP 大于数字),则从另一张表中的同一行获取值

在阅读了本论坛和其他论坛上的多篇帖子后,我并没有成功,也没有发现类似的问题,于是我决定用自己的帖子试试运气。我将尽我所能,不使用 excel 图片来解释这个问题。希望你能理解。

我有两张纸。

第 1 页

ProductID | Period |  Comment 
   123      2.test   This is bad
   524      2.test   This is bad
   123      3.test   This is bad
   123      3.test   This is bad
   123      4.test   This is good
   123      4.test   This is good

第 2 页

   Comment    | ProductID
 This is bad       123

我想要做的是获取评论根据 Sheet1 中的产品编号来自 Sheet2。但是,我只想要注释,如果时期列大于 3。例如“2.test”是不可以的,但是“4.test”是可以的。

我当前的 DAX 公式(位于评论Sheet2 中的列)如下所述。值得一提的是,由于从我对工作表的说明中看不清楚,B2是 Sheet2 中 ProductID 列中包含 123 的单元格。

=IF(LEFT(VLOOKUP(B2;Sheet1!$A$1:$C$10;2;FALSE))>3;VLOOKUP(B2;Sheet1!$A$1:$C$10;3;FALSE);x)

这个公式只起到了一半的作用。IF 公式中的条件起作用了。然而,“如果为真,则值/操作”是我有问题的部分。在找到正确的产品编号当“X.test”大于 3 时,我想获取该行的评论。我目前再次使用 VLOOKUP,但它只能找到与它找到的第一个产品 ID 相关的评论,而如果同一行中的句号大于 3,则不会找到。

我正在寻找的结果是 Sheet2 中的“This is good”评论

我尝试过使用 match、row 和 index。但是它们之间的组合可能不正确。解决方案可能就在我眼前而我却没有意识到。

如果情况不清楚,请告诉我。提前谢谢!

答案1

我添加了一个,IFERROR以防VLOOKUP找不到 ID。正如@Alex M 所述,您遗漏了返回的字符数。

if(left(iferror(vlookup(B2;Sheet1!$A$1:$C$10;2;0);1);1)>3;vlookup(B2;Sheet1!$A$1:$C$10;2;0);x)

希望这能有所帮助

相关内容