方法用的好,工作没烦恼 在Excel中,一个问题往往有非常多的解决方法。可以使用菜单功能,可以使用快捷键,可以使用各种菜单功能的组合,也可以使用函数,函数也有简单和复杂,巧妙与笨拙,“高手”还可以写VBA代码,总而言之,条条大路通罗马。 那么问题就来了,你想走那条呢? 我听过不止一个人跟我说过:只要能解决问题的就是好方法! 其实,这是不对的。同样是解决问题,别人5秒钟,你花3个小时,无论如何不能说你的方法是个好方法。 说了那么多,问题是什么呢? 01 一个简单的问题 这个问题很简单,起因是有人在QQ群里发了一个截图: 然后问了一个问题: 如何判断这些数字是否全部相等! 问题很简单吧。我就把这个问题放在了各个微信群里,做了一个问题征解,最好的方法将获得红包奖励😁。 大家提出了各种方法。那么哪一个是最好的方法呢? 02 好方法的标准 别的领域我不了解,但是在Excel中,我认为一个好的方法必须符合下面的3条:
好了,现在我们有了这3个标准,看看大家都提出了什么样的方法呢? 03 不同方法的比较 方法1 =B3=C3 通过比较相邻两个单元格是否相等,并且将公式向右拖拽填充,只要有一个FALSE出现,就说明至少有一个数跟其他的不相等。 就这个问题而言,这个方法当然是解决了这个问题本身。但是从第一点:“可扩展”的角度看,这个公式不能适用数据变化后的情况。比如,如果我们要判断一个30行,10列的区域中的数字是否相等。用这个方法就不能很方便的实现。 还有朋友提出了一个这个方法的变形,使用一个公式: =AND(B3=C3,C3=D3,D3=E3) 这个方法比前面的方法好,但是,如果我们有400个数,这里的等式就必须有399个。实在不能说是一个具有实用性的方法😀 方法2 使用CTRL+\ 这是一个快捷键,选中B3:E3区域,然后按CTRL+\,如果数字全部相等,就会返回一个“未找到单元格”的信息: 这个方法也是可以解决这个问题的。但是这个方法首先不是“随动”的。任何时候需要判断,你都需要重新执行这个操作。并且,如果数据发生了变化,这个方法根本不能得到我们需要的正确结果: 这是因为这个快捷键是用来查找多列数据的差异的。凡是第二列跟第一列数字有差异的地方都可以被发现: 而行之间的差异就发现不了了。 方法3 条件格式 有朋友提出了条件格式突出显示唯一值: 看上去,也发现了不同的值,但是仔细一想就会发现这个方法只能适用于只有一个不同值的时候,比如,如果另外再有一个200,那么就什么都看不出来了。 方法4 使用公式MAX=MIN 有几位朋友使用了公式: =MAX(B3:E3)=MIN(B3:E3) 如果这组数字中全部相等,那么他们的最大值和最小值一定是一样的。反之则不然 应该说,这个方法完全符合我们那三条关于好方法的标准:范围可扩展,不管你有几行几列,都可以使用这个公式;结果随动,因为是公式产生的,所以结果跟随源数据变化而自动变化,同时,结果还是可以在其他公式中引用的。简便性是当然的,MAX和MIN是大部分人都会用的,公式也不长。是一个好方法的候选者。 方法5 使用公式COUNTIF 有朋友使用了公式: =COUNTIF(B3:E3,B3)=4 在我们给出的例子的情况下,这个公式也起作用了。 =COUNTIF(B3:E3,B3)=COUNT(B3:E3) 这明显是一个好方法。不过由于公式比前一个方法略长,所以我觉得这个方法稍落下风。 方法6 使用公式VAR 还有一个公式可以使用: =VAR(B3:E3) 从各方面来说,这个方法更好一些。除了满足我们的3个判断条件外,这个公式更加简单。稍微有一点欠缺的是,有很多人不了解这个函数,尽管这个函数使用很简单,但是很多人并没有接触过。也许正是因为这个原因,没有任何一位朋友提出用这个函数解决问题。 04 结论和结果 根据前面的分析,我认为对这个问题而言,最好的方法是使用MAX/MIN函数的方法: =MAX(B3:E3)=MIN(B3:E3) 尽管我个人更倾向于VAR方法,但是由于知道的人比较少,所以这个方法在简便性上是有一点缺陷。 最后,两位提出这种方法的同学获得了我们的红包奖励。 方法用的对,工作并不累!加入E学会,学习更多Excel实用技巧和工作方法,每天节约3小时。
|
|