Excel 搜索一行中最右边的非空单元格,return 搜索上面几行单元格的内容

Excel search for rightmost non-empty cell in a row, and return the content of cell a couple of rows above

这就是我想要做的。我有一份每周有人填写的几种设备的检查清单。此人搜索本周并在所选设备的每个检查方面下放置一个“'x'”。对于每个设备,我想获得该人输入“'x'”的最后一周。

如果您查看链接的图像,第 1 列是设备列表,标记为 2 的列是我希望显示最后日期的位置。

我已经尝试过做一个嵌入式 IF,但我必须在一个公式中做 52 个 IF,impossible.I我已经尝试了几天的解决方案,但找不到可行的方法。

谢谢!

=INDEX(:,1,MATCH("zzz",$E5:$ABD5,1)-MOD(MATCH("zzz",$E5:$ABD5,1),14)+COLUMN($E))

魔法在于 INDEX()MATCH() 的混合,剩下的就是让它在您的特定场景中发挥作用。

根据thisMATCH()

searches for a specified item in a range of cells, and then returns the relative position of that item in the range

MATCH

  • "zzz" - 要搜索的值
  • $E5:$ABD5 - 将搜索 x 的每一行的范围
  • 1 - 意味着它将在 "less than" 范围内找到最后一个值 "zzz".

MOD() 确定 x 每周经过多长时间

MOD

  • MATCH("zzz",$E5:$ABD5,1) - 该行中最后一个 x 的位置
  • 14 - 这是您在列表中的检查次数

COLUMN($E) 是您第一次约会所在单元格的列

根据thisINDEX()

returns a value or the reference to a value from within a table or range

INDEX

  • : - 每周日期所在的范围(在本例中为行)
  • 1 - 您感兴趣的范围行
  • MATCH() - MOD() + COLUMN() 查找最后 x
  • 的那一周的第一列