一个老同事前天问了个问题,因数据保密,我将其改动了一下,他要实现的效果如下:
同组数据,分组进行上色,这样也便于一目了然看出哪些数据是同类型的。拿到这个数据,我的思路就是建立辅助列编个序号,然后利用条件格式中的公式进行分组填充颜色。BUT...
01SUM+COUNTIF的数组公式
首先先建立辅助列,直接在E2单元格中输入公式:
=SUM(1/COUNTIF(F$2:$F2,F$2:$F2))
完成之后,通过下拉鼠标进行填充。如图:
然后选中G列中的单元格,调出条件格式对话框,设置如下:
如果你不想破坏原有表格的数据,直接在条件格式中嵌套公式使用也是可以的,这里只是为了分解讲解案例。
这里有个问题,有兴趣的小伙伴如果能够看完,文章最后会分享。
02N函数
这个函数听说过,一直没怎么用,正好这个题给用上了。同样还是那个辅助列中,输入公式:
=N(E1)+(F2F1)
条件格式的应用跟第一种方法的设置一样,也可以得出来。
关于N函数,这里也给大家介绍一下:
公式用法:N(Value)
主要作用:将文本型数据返回成0,数值型数据不变。
主要功能是:
1.数值型数据,N函数后返回值不变
2.文本型数字,N函数返回的结果是0
3.文本型文本,N函数返回的结果也是0
4.逻辑值,N函数TRUE返回1,FALSE返回0
5.日期值,N函数返回的是时间序列
6.错误值,N函数返回的也是错误值
以上推荐使用第二种方法,不会出什么问题。
发现的问题分享
究竟是什么问题呢?我们单独把条件格式中的公式拿出来给大家分享吧。先看这种,辅助列中的公式用的是刚才上述第一种方法进行的计算,也就是:=SUM(1/COUNTIF(F$2:$F2,F$2:$F2))
在用求余函数的时候,出现了这种尴尬的问题,如果上述第一种方法在条件格式中用的是=MOD(E2,2)=0的话,是得不到我们想要的配色效果了,就是因为这里出了问题。如何避免这种问题呢?
01 更改默认设置
打开Excel选项,在高级中勾选如下选项:将精度设为所显示的精度,如下:
确定之后,上述黄色区域的值就显示正常了,如下:
问题就解决了,But,我们不知道什么时候勾选,什么时候不勾选,毕竟默认的情况是不勾选啊!如果不勾选,该怎么去设置呢?
02 嵌套INT函数
不改变默认设置,前面再套一个INT函数(取整),接着看:
后面的公式就自动恢复正常了。
总结
这种情况,最好还是不要更改系统的默认设置,这是因为Excel中的数值是二进制存储,也就是说,运算的时候你的十进制数值先转成二进制,二进制进行运算,得到的数值再转成十进制,所以会有浮点误差,一般出现在有小数的算术运算中。所以遇上这种Mod,Round之类的,最好自己检查一下,然后选择合适的方法解决它。
好了,如果本文对你有帮助,请分享给有需要的朋友或你的朋友圈,让大家一起交流学习,共同进步。
领取专属 10元无门槛券
私享最新 技术干货