假设我有一张包含两列的表格。第一列是电子邮件地址列表。第二列是日期列表(比如说约会)。每个月我都会收到一张包含更新的表格,其中可能包括:
- 人们重新安排他们的约会(新表显示相同的电子邮件,但日期不同)
- 加入列表的人(电子邮件未出现在旧表中,但出现在新表中)
这是一个玩具示例:
电子邮件旧 | 日期久远 |
---|---|
[电子邮件保护] | 2021 年 1 月 2 日 |
[电子邮件保护] | 2021 年 3 月 4 日 |
[电子邮件保护] | 2021 年 5 月 6 日 |
[电子邮件保护] | 2021 年 7 月 8 日 |
[电子邮件保护] | 2021 年 9 月 10 日 |
电子邮件更新 | 更新日期 |
---|---|
[电子邮件保护] | 2021 年 1 月 2 日 |
[电子邮件保护] | 2021 年 3 月 11 日 |
[电子邮件保护] | 2021 年 5 月 6 日 |
[电子邮件保护] | 2021 年 7 月 8 日 |
[电子邮件保护] | 2021 年 9 月 10 日 |
[电子邮件保护] | 2021 年 11 月 12 日 |
我需要以某种方式协调旧的电子邮件/约会表和新的电子邮件/约会表。最好的方法是什么?VLOOKUP?XLOOKUP?INDEX MATCH?还是其他?
我尝试过以下方法:将每个表中的电子邮件地址与其各自的日期连接起来,然后执行 XLOOKUP 以查看新的电子邮件/日期组合是否在旧电子邮件/日期组合列表中。结果似乎很准确,但差异太多,手动编辑列表变得很麻烦。有什么想法吗?有什么建议吗?
注意:我愿意接受非 Excel 解决方案,但理想情况下这一切都将在 Excel 中实现。这些表将由主要使用 Excel 工作的人员更新。此外,如果情况确实如此,旧表可能有一到两千行,而新表有大约五百行。
谢谢你!
答案1
您可以创建SourceTable
将新数据附加到何处,然后可以将最新数据视为有效数据。
//抱歉,SourceTable ValidDate 列中的日期格式混乱。这只是一个表面错误,计算可以正常工作。
它使用较新版本的 Excel 中提供的公式结果自动溢出功能*
使用公式
主表
- 电子邮件行(仅限第一行)
=UNIQUE(SourceTable[Email])
- ValidDate 列(仅在第一行)
=INDEX(SourceTable[ValidDate],MATCH(UNIQUE(SourceTable[Email]),SourceTable[Email],0))
源表
- 行列
=ROW()-ROW(SourceTable[#Headers])
- 有效行
=MAX(([@Email]=[Email])*[Row])
- 有效日期
=INDEX([Date],[@ValidRow])
ValidRow 可能是 ValidDate 公式的一部分,为了便于理解,我将其分开
*Microsoft 365 版 Excel Microsoft 365 Mac 版 Excel 网页版 Excel 2021 Mac 版 Excel 2021 iPad 版 Excel Excel Web 应用版 iPhone 版 Excel Android 平板电脑版 Excel Android 手机版 Excel