在Excel中为重复项提供唯一标识符

时间:2009-11-12 09:33:54

标签: excel

我有一个包含多个地址行的大型Excel电子表格。其中许多地址行包含重复的邮政编码,具有不同的steet地址。

我需要将每个重复项分离到不同的spreadhseets,以便没有一个spreadhseet包含相同的邮政编码。我目前正在使用= if()语句来识别重复项,然后进行剪切和描述,并重复几乎无限制地将它们全部拼出来

作为一个例子:

address 1 postcode 1
address 2 postcode 1
address 3 postcode 1
address 4 postcode 2
address 5 postcode 2
address 6 postcode 3
address 7 postcode 3
address 8 postcode 3
address 9 postcode 3

会提供4个电子表格:

1)
address 1 postcode 1
address 4 postcode 2
address 6 postcode 3
2)
address 2 postcode 1
address 5 postcode 2
address 7 postcode 3

有关vb脚本的任何提示吗?

非常感谢

尼克

1 个答案:

答案 0 :(得分:2)

如果这是一次性的事情,那么我会考虑在工作表中进行批量剪切粘贴。我会尝试这样的事情:

  1. 在邮政编码列
  2. 上对数据进行排序
  3. 在新列中,添加一个函数来计算当前行下面与该行代码重复的邮政编码数量(见下文)
  4. 保存(复制/粘贴特殊值)获得的值
  5. 按重复数字排序
  6. 按重复的数字剪切和粘贴块到新工作表
  7. 假设我在G列中有1到5之间的20个值。我将以下公式放在H1中:

    =SUM(IF(G1:$G$20=G1,1,0))
    

    ...和(重要位)使用 Control + Shift + Enter 将其作为数组公式输入。现在我将该公式复制下来(为了速度,双击单元格右下角的“填充句柄”)。这是我的结果:

    1   2
    1   1
    2   2
    2   1
    3   8
    3   7
    3   6
    3   5
    3   4
    3   3
    3   2
    3   1
    4   2
    4   1
    5   6
    5   5
    5   4
    5   3
    5   2
    5   1
    

    现在我可以复制列H和编辑...粘贴特殊...值来修复值。按H排序得到这个:

    1   1
    2   1
    3   1
    4   1
    5   1
    1   2
    2   2
    3   2
    4   2
    5   2
    3   3
    5   3
    3   4
    5   4
    3   5
    5   5
    3   6
    5   6
    3   7
    3   8
    

    现在我有一些记录要复制到我现在知道需要的8张纸中。

    当然,如果你要做很多事情,那么宏会很有用。它不需要比自动化上述内容复杂得多。