所以我有这个电子表格。正在记录有关个人的日期,以及其他数据:
汤姆| xyz | 2012年5月2日
迪克| foo | 2012年5月2日
汤姆|吧| 6/1/2012
在另一张表格中有一行我希望能够输入名称,例如“Tom”,并通过公式在下一个单元格中检索LAST(最近按日期)条目的数据在第一张纸上。因此,第一张表是日志,第二张表显示最新的表。在以下示例中,输入第一个单元格,其余是显示第一个工作表中数据的公式:
汤姆|吧| 6/1/2012
等等,显示日志中最新的日期条目。
我很难过,有什么想法吗? :)
答案 0 :(得分:0)
如果您只需要执行单个查找,则可以通过在日志表中添加两个新列来执行此操作:
Sheet 1中
| A | B | C | D | E | F
1 | Tom | xyz | 6/2/2012 | | * | *
2 | Dick | foo | 5/2/2012 | | * | *
3 | Tom | bar | 6/1/2012 | | * | *
Sheet 2中
| A | B | C
1 | Tom | =Sheet1.E1 | =Sheet1.F1
*(E1)= =IF(AND($A1=Sheet2.$A$1;E2=0);B1;E2)
(即将上面的公式粘贴在E1
中,然后使用*
将其复制/粘贴到其他单元格中
说明:如果A不是你想要的,那就去找下一个;如果是,但是下一个非空,那就去找下一个;否则,得到它。这样您就可以选择与搜索相对应的最后一个。我假设您想要最后一个条目,而不是“最近日期的条目”,因为这就是您在示例中提到的内容。如果我将您的问题解释错误,请更新它,我可以尝试提供更好的答案。
更新:如果日志日期可能出现故障,请按以下步骤操作:
*(F1)= =IF(AND($A1=Sheet2.$A$1;C1>=F2);C1;F2)
*(E1)= =IF(C1=F1;B1;E2)
在这里,我只更换了F2=0
的测试C1>=F2
(如果非空,则选择下一个)(如果更近,则选择next),对于另一列,如果第一个测试也执行了,则选择next如此。
免责声明:我对电子表格非常缺乏经验,上面的解决方案很难看但是完成了工作。例如,如果您希望Sheet2中的第二行执行另一次查找,则需要向Sheet1等添加两列。