我在 A 列中有一个包含大约 32000 个项目的数据列表。这些项目中的每一个都有许多重复项,有些有 1 个重复项,最多有 5 个左右。每个单元格有多个 SKU,以 / 分隔。
我需要做的是确定单个单元格中 / 的数量,如果该数量等于重复项的数量,则将单元格涂成绿色,如果不相等,则将单元格涂成橙色。
例子:
1001/1002/1003
1001/1002/1003
1001/1002/1003
这 3 个单元格全部变为绿色,有 2 条斜线,并且每个单元格有 2 个重复项(或总共有 3 个重复单元格)
1001/1002/1003
1001/1002/1003
这两个都会变成橙色,因为有 2 个斜线和 3 个条目。如果有 4 个条目或 3 以外的任何数字,它们也会变成橙色。
我可以根据需要使用公式,甚至可以分多个步骤执行此操作,例如输出是或否的额外计算单元,并且我可以通过过滤等方式自己为它们着色。
我倾向于避免使用 VB,因为很多完全不知道如何使用 Excel 的用户都使用它,但如果有必要,我可以使用 VB。
答案1
我相信这可以使用条件格式来实现。由于这两种颜色完全相反,您可以将所有单元格涂成 1 种颜色并检测(并更改颜色)其他条件,或者您可以使用 2 个条件格式规则。
无论如何,公式用于检测哪些单元格应被涂成绿色。假设数据在 A 列,活动单元格是 A2。
=COUNTIF(A:A,A2)=(LEN(A2)-LEN(SUBSTITUTE(A2,"/","")))+1
如果你需要相反的方法来检测橙色:
=COUNTIF(A:A,A2)<>(LEN(A2)-LEN(SUBSTITUTE(A2,"/","")))+1
答案2
我最终使用的公式是
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))+1=COUNTIF($A:$A,A2),"OK","BAD")
放入单元格 B2 - 然后向下填充 - 然后我通过 OK 或 BAD 过滤 B 列,并手动为 A 列批量着色。