我在 A 列中有一长串数据,它是数字和文本的组合。例如)
- 牛 / 20 / 3000
- 牛 / 30 / 3000
- 猪 / 20 / 4000
- 牛 / 20 / 3000
在另一列中,我想要列出所有这些值而不包含重复项,然后我希望 Excel 能够计算每个单元格重复的次数,因此 cow / 20 / 3000 旁边会有数字 2,而所有其他值都会有 1,因为它们只在列表中出现一次。
还请注意,这些单元格是从文档的其他地方收集的,并且附有 OFFSET 公式。
有任何想法吗?
答案1
答案2
这是一个公式解决方案,它将根据变化的数据进行动态调整。在B1进入:
=A1
在B2输入数组公式:
=IFERROR(INDEX($A$1:$A$1000,INT(SMALL(IF(COUNTIF(B$1:B1,$A$1:$A$1000)=0,ROW($A$1:$A$1000)+(COLUMN($A$1:$A$1000)*0.01)),1)),100*MOD(SMALL(IF(COUNTIF(B$1:B1,$A$1:$A$1000)=0,ROW($A$1:$A$1000)+(COLUMN($A$1:$A$1000)*0.01)),1),1)),"")
并向下复制。列乙将显示唯一值,后跟零,后跟空白。在C1进入:
=IF(ROWS($1:1)<SUMPRODUCT(--(LEN(B:B)<>0)),COUNTIF(A:A,B1),"")
并向下复制:
数组公式Ctrl必须使用++而不是仅仅使用键Shift来输入。EnterEnter
你可以忽略0位于底部 col 列乙. 如果您在列中插入/删除/更改数据A, 列乙和C会自动调整
答案3
我怀疑您可能需要使用函数进行实验。复制您的工作表以用作实验模型。使用以下函数作为起点,并相应地扩展/调整范围和语法:
=IF(COUNTIF(D$6:D$450,D6)>1,"重复","")
想象一个发票登记簿,例如,列 ABCD 显示日期、供应商、发票号码、发票金额。放置在单元格 E6 中,复制并粘贴到单元格 E7 至 E450 中,这就是上述函数的作用:
如果发票号码出现多次,则打印“重复”字样。