请问excel表里一行中有10个√,这些√有红色的,有黑色的,想在第11个格中统计红色的有几个,具体用什么函数或者应该怎么弄呢?
大概问题是这样的,实际表格里有n多行,每行都要统计,一行一行数太耽误时间了。查找里可以查找不同字体颜色的,但是怎么让查找结果显示在单元格里呢,一行一行查找也很麻烦,求助QAQ
不得不说在表格中使用不可统计的颜色标注是个糟糕的做法——虽然容易区分……
人为设定的颜色是不能通过Cell函数获取信息的,因此跑一遍宏可能是必须的:
图中的宏是 WPS 的 JavaScript 宏,会VBA 的话可以自己转一下。当然,你也可以用 WPS Office 打开这个工作簿,然后将图中的JS宏跑一遍就可以了。然后在指定的单元格统计"R"(或者"B")的个数就可以了。
摆脱红、黑√的折磨!
红√ 改成其他可读有意义的字符,比如:完成、yes、done、1、ok……黑√也改成区别于前者的有意义字符。就输入效率、可统计性方面应该都比红黑√来得实在。
JS宏:
function badIdea(){
let g = Range("B2:B3") // 将B2:B3 改成你的√的区域
/*
开始处理,选择很多:
1. 红√ 改成 “R”,黑 √ 改成 "B",或者其他具体有意义字符;
2. 在额外的单元格写入对应的替代有意义字符或数值;
……
这里我们在有√的后一格写入 R 或者 B;
*/
for(let i = 1; i<=g.Count; i++){
let g_content = g.Item(i).Value() // 获取内容
let g_fontColor = g.Item(i).Font.Color // 获取字符颜色;
// 红色√
if(g_content=="√"&& g_fontColor==255){
g.Item(i).Offset(0,1).Value2 = "R"
}
if(g_content=="√"&& g_fontColor==0){
g.Item(i).Offset(0,1).Value2 = "B"
}
}
}