检查连续的excel记录,如果它们相同,则为它们分配相同的ID

时间:2015-07-03 05:00:12

标签: excel function excel-formula data-manipulation

我有一个大型excel文件,格式如下:

Contact First Name  Contact Last Name   Contact ID
       Brandi             Aasen          1602940
       Brandi             Aasen          1600622
       Brandi             Aasen          1600622
       Angela             Abate          1600846
       Angela             Abate          1600846
       Edahena            Lucido         1603494
       Guadalupe          Delgado        1602523
       Guadalupe          Delgado        1602087
       Tonya              Addams         1602339

我需要的是调整它,以便如果联系人姓名相同,联系人ID也必须相同。截至目前,文件中的每个ID都不同。如果我使用文件中列出的任何实际ID,则无关紧要。例如,Brandi Aasen只要ID为“0001”即可,只要“0001”是她为她的所有三个实例设置的ID。该文件按姓氏和名字排序,因此所有重复的联系人都会一个接一个地跟随。

我很难找到一种有效的方法来做到这一点。不可否认,我对excel没有多少经验。如果我尝试一些简单的事情:

=IF((AND(F2=F3,G2=G3)),(H2),(H3))

我立即遇到了麻烦,因为当我向下移动列时系列继续运行,条件单元格数量全部不合适。

我想的是,如果我将A列和B列合并为一个,我可能会更好。如果我在一个列中有全名,那么无论如何我可以实现类似(伪代码)的东西:

For all instances of A2 -> Set the adjacent column cell(B) to an arbitrary value

OR

If A2 = A3 -> B3 = B2

我在开头发布的原始简单公式几乎可以工作,如果它可以像:

=IF((AND(F2=F2,G3=G3)),(H3=H2),(H3))

但是excel似乎不允许我使用“H3 = H2”语句作为“Value if True”

真正感谢任何正确方向的帮助或指导。

1 个答案:

答案 0 :(得分:1)

我不知道它是否是完美的解决方案,但我会做这样的事情:

我认为名字在A列中,而姓氏在B列中。您要插入的ID将位于D列中。标题位于1行,因此Brandi,Aasen位于2行。

D2中,您只需输入1,因为这是第一个索引。

D3类型=IF(AND(A3=A2;B3=B2);D2;D2+1)中。将公式复制到所有其他D单元格。

该函数检查活动对(A3B3)是否与前一个(A2B2)相同。如果true,则采用相同的数字(来自D2)。如果没有,则从上方取得数字并增加。