如何根据应用于具有共享值的行的条件逻辑显示特定值?

如何根据应用于具有共享值的行的条件逻辑显示特定值?

期望行为

根据应用于具有共享值的行的条件逻辑显示特定值。

我尝试过的方法

我是一名全栈开发人员(MongoDB/Node/JS),不习惯在 Excel 中解决数据问题。

因此,我不确定可用于解决这个特定问题的构造(例如数组,变量,循环等)。

(或者即使在 Excel 中可以实现这种复杂性)。

但是,这就是我想要实现的——其中IMPORT or DELETE列值是根据下面定义的逻辑来计算的。

员工编号 科目编号 完成日期 导入或删除
11111111 高级 2021 年 1 月 5 日 进口
11111111 2020 年 1 月 10 日
22222222 2021 年 1 月 11 日
22222222 高级 2021 年 1 月 10 日 删除
22222222 高级 2015 年 1 月 10 日 删除
33333333 高级 2021 年 1 月 30 日 进口
33333333 高级 2020 年 1 月 30 日 进口
33333333 2000 年 1 月 30 日
44444444 高级 2022 年 1 月 1 日 进口
55555555 高级 2021 年 1 月 1 日 进口
55555555 高级 2020 年 1 月 1 日 进口
66666666 高级 2019 年 1 月 1 日 删除
Reason for IMPORT or DELETE value: 

1] 11111111 - IMPORT - because it is newer than existing record and after 01/01/2020
2] 22222222 - DELETE - because it is older than existing record
3] 22222222 - DELETE - because it is older than existing record
4] 33333333 - IMPORT - because it is newer than existing record and after 01/01/2020
5] 33333333 - IMPORT - because it is newer than existing record and after 01/01/2020
6] 44444444 - IMPORT - because there is no existing record and it is after 01/01/2020
7] 55555555 - IMPORT - because there is no existing record and it is after 01/01/2020
8] 55555555 - IMPORT - because there is no existing record and it is after 01/01/2020
9] 66666666 - DELETE - because there is no existing record but it is before 01/01/2020  

电子表格信息

电子表格数据按以下方式自定义排序:

  • 员工编号(从小到大)
  • 完成日期(从最新到最旧)

没有值的记录Course Code是现有记录。

确实有价值的记录Course Code是新记录。

具有相同内容的记录被视为“重复”记录Employee Number

上述数据集有意涵盖了各种场景。

数据集大小可能很大,例如~1,000 行。

日期格式为dd/mm/yyyy

伪代码

目标是展示IMPORTDELETE创造新记录。

以下是对一些伪代码的猜测。

您可能希望忽略这种方法,因为它可能朝着错误的方向发展。

01 对每组重复项(或单个用户记录)进行“分组”,例如:

[ [11111111], [22222222], [33333333], [44444444], [55555555], [66666666] ]

02 确定“员工编号组”中的某条记录是否为现有记录

03 如果组中的一个值是现有记录,则对比现有记录和 01/01/2020 更新的新记录显示“IMPORT”,其余记录显示“DELETE”。

04 否则,如果组中的任何值都不是现有记录,则对 2020/01/01 之后的新记录显示“IMPORT”,对其余记录显示“DELETE”。

答案1

一种可能的解决方案是将此行为作为 Visual Basic 中的宏来实现。这提供了一种遍历行/列来实现所需行为的方法。可以在视图>宏>显示宏>创建中编写宏

相关内容