我有一个带有 ID 的列,我只需要唯一 ID 的计数。问题是并非所有行都有唯一的 ID,因此这些行的垃圾代码为 99999。有时 ID 中可能会有文本,看起来像这样:D-00000
现在为了得到一个粗略的总数,我计算了整个列表并减去了 99999 的计数,但是原始计数中有常规重复项,不是 99999 代码,所以我的计数太高了。
我不能只从总数中减去重复计数,因为 99999 会被标准重复计数。
以下是示例的前 25 个值:
50658 48762 8536 99999 D-33667 99999 50659 50660 3684 898 34157 99999 D-52412 52439 99999 99999 99999 45216 31718 31718 50664 50665 99999 99999 34171
在这 25 个中,有 8 个 99999。在剩余的 17 个中,有一个重复项(31718 存在两次),这意味着唯一计数为 16。
我很确定我可以通过创建一个额外的列并使用 IF 语句来忽略 99999s 但复制其他任何内容,然后对该列进行唯一的项目计数,但我真的很想知道这是否可能只用一个公式,因为它是一个强大的工具(一个单一的公式,可以在任何需要的任何时间在任何工作表上使用),并且不会像我工作表中的隐藏列那样危险。同样解构一张表以在中间添加一列,然后在确保不破坏其他所有内容的同时重建它是一个非常令人头疼的问题,特别是因为这个列表超过 10k 行......
非常感谢任何想花一些时间在这个谜题上的人。 :)
最佳答案
假设您的列是 A 列,其 ID 来自 A2-A26 行,在 A28 上试试这个公式:=SUMPRODUCT((A2:A26<>"")/COUNTIF(A2:A26,A2:A26&""))
它适用于我的另一个项目。它不需要创建另一个列或表。
关于Excel:忽略垃圾重复项的唯一项目计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30677138/