我在Excel中使用vlookup在用户输入值时将数据从一列复制到另一列。 用户在Z列中输入日期,vlookup在P列中搜索该值,然后将Q,R,S,T列中相应的x1,x2,y1,y2值复制到AA,AB,AC,AD中。 在这些图片中可以看到,日期8/1弹出两次,而vlookup使用第一个日期的坐标,而我希望它使用第二个8/1的坐标。
是否有一种方法可以绕过第一个重复的值而改用第二个重复的值?
答案 0 :(得分:0)
有很多方法可以做到这一点。
下面的方法将返回最后个匹配日期。
对于公式解决方案,我选择使用表和结构化引用:
AA2: =INDEX(Table1,LOOKUP(2,1/(Table1[[Date]:[Date]]=$Z2),ROW(Table1)-ROW(Table1[#Headers])),COLUMNS($A:A))
并右至AD
对于公式,不使用表格,可以使用类似以下内容的
:=INDEX(Sheet1!$P$2:$T$100,LOOKUP(2,1/(Sheet1!$P$2:$P$100=$Z2),ROW(Sheet1!$P$2:$T$100)-ROW(Sheet1!$P$1:$T$1)),COLUMNS($A:B))
表格的优点在于,当您向表格中添加行时,您的参考范围将自动扩展,因此您不必加大其大小,对其进行编辑或使用动态范围引用有一些问题。