2012-10-09 156 views
0

(在MS Excel 2010)查找重复值的最新/最后一行,并返回一个字符串

这里是我的数据表的一个样本:

工作表Sheet1

订单#用户名EntryDate注意事项
1 BGR 2010年12月1日被叫客户
2 WRE 2010/12/2接收的文档
4 BGR 12/3/2010订单装运
7 SWL 2010年12月4日订单返回
1 WRE 12/5/2010退款请求
1 SWL 12/6/2010被叫客户
7 WRE 12/7/2010接收的文档
2 SWL 2010年12月8日订单装运
4 BGR 12/9/2010请求退款

在另一张表上,我希望拥有一个订单号的主列表,然后有一个列将Notes字段自动更新为最新的新信息,因为新条目将放入下一个空行在Sheet1上

订单号#客户名称最近注意事项
1 Cust1(从Sheet1中最后一个音符该客户)
2 Cust2(从Sheet1中最后一个音符该客户)
3 Cust3(从Sheet1中最后一个音符该客户)
4 Cust4(从Sheet1中最后一个音符这个客户)
5 Cust5(从工作表Sheet最后一个音符此客户)
6 Cust6(从工作表Sheet最后一个音符此客户)
7 Cust7(从工作表Sheet最后一个音符此客户)
8 Cust8(从工作表Sheet最后一个音符此客户)
9 Cust9(此客户来自Sheet1的最后一张纸条)

非常感谢您的帮助!我一整天都在绞尽脑汁!

+0

你问这个问题特定于MS-Excel或LibreOffice-Calc吗?请在您的问题中包含更多信息。 – VKen

+0

这是Excel吗? – slugster

回答

0

我认为这是优秀的?反向订单1按日期。最新的值。然后使用vlookup - 它将始终返回最新值。

+0

(其Excel for Excel) 我会尝试Gherkin建议的... – user1733170

+0

当新条目放入时,排序顺序不会自动更新,因此这是手动任务,以便vlookup找到'最后'入口。 – user1733170

0

我有类似的情况,并使用助手列来消除记录搜索的早期条目。在你的例子中,它看起来像这样:

在工作表1上,在数据前插入一个新列(您的列A成为B列)。在单元格A2中,插入:

=IF(B2="","",IF(COUNTIF($B:$B,B2)=COUNTIF($B$2:B2,B2),B2,"")) 

只要您需要它,就将其复制下来。如果你喜欢,请隐藏栏目。 (选择列,右键单击,“隐藏”)

该公式计算订单号在列B中出现的总次数。如果当前行的计数等于总计数,它将订单号复制到列A如果它们不相等或者列B单元格为空白,则它会将列A单元格留空。

在您的新工作表上,一个简单的索引/匹配公式将返回所需的信息。在单元格C2中插入:

=INDEX('Sheet1'!$A:$E,MATCH($A2,'Sheet1'!$A:$A,0),5) 

这会调出最新的笔记。根据需要复制公式。

注意:如果您可以将行号添加到阵列(例如$A$2:$E$501而不是$A:$E),它将加快计算速度。

相关问题