我有一张200列的工作表。所有单元格只有3个可能的字符。我想找出没有全部3个字符的列(按任何顺序,任何重复)。可以说,如果列中缺少任何字符,公式应在下面的单元格中标记。
对不起,我不是一个优秀的人,这需要检查大约200个这么长的工作簿。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我要做的是使用单独的工作表,在其中遮蔽所有单元格。对于每个单元格,检查另一个工作表上的相应单元格是否有效。如果是,则显示0
,如果不是,则显示1
。现在对所有列求和,如果总和高于0
,则该列无效。
答案 1 :(得分:0)
电子表格的格式是否可以用来识别不合规的项目,因为颜色更容易理解大量数据中的问题。
如果可以的话,如何逐步浏览该范围内的每个单元格,并使用3个Instr函数查找具有所需3个值的单元格。
我将假设您正在寻找A,B和C作为以下代码的3个值。
MyCell=cells(MyRow,MyColumn)
MatchCharA="A"
MatchCharB="B"
MatchCharC="C"
CheckA=instr(1,MyCell,MatchCharA)
CheckB=instr(1,MyCell,MatchCharB)
CheckC=instr(1,MyCell,MatchCharC)
If CheckA>0 then CharExist=1 else CharExist=0
If CheckB>0 then CharExist=CharExist+1
If CheckC>0 then CharExist=CharExist+1
现在你可以使用变量CharExist,它将返回: - 如果单元格中没有匹配,则为0 如果单元格中存在1个字符,则为1;如果单元格中存在2个字符,则为2;如果单元格中存在所有字符,则为3个字符。
最后你可以使用
Cells(MyRow, MyColumn).Font.Color = RGB(0, 51, 204)
根据CharExist值为单元格着色可能为绿色,黄色或红色。
请记住上面的所有代码都应该在你的循环中逐步遍历一列的每个单元格,并且你必须记住在每个循环周期结束或开始时将CheckA,CheckB,CheckC重置为0确保前一个单元格值不会影响CharExist中的下一个结果。
我希望这会有所帮助,因为我倾向于过度解释所以请原谅我,如果我提供的详细信息比你需要的更多。