最近真的很忙,那些远程工单平台的系统非常的老,可能有8年了吧。但神奇的是它们的生命力异常强大,至今依然在服役。虽然它们老了,许多事情已经跟不上时代也力不从心了,但是工作还是要做的。要不它们怎么来养活这个公司大家庭呢。所以很多时候许多数据都需要人工来统计,这个是非常可怕的事情。为了不让大家陷入人工手动统计工作的汪洋大海中,我不得不找了个函数使其中一个需要手动查询地址并按地址进行分类的Excel表格变为自动。
这个表格我隐藏和摘取了部分数据。需要填写的就是根据“联系地址”然后再填写每个地址所在的公司划分的“区域”,黄色部分。这些表格数据原本应该由系统完成,可惜系统玩不转,没有数据库维护人员还是什么其他原因。我们只能完全采用手工输入的方式,费时又费力,实在是个头痛的工作。如果我们只是抱怨,那痛苦的依然还是自己。怎么办呢?哎,人是要学会偷懒的啦。
函数是死的但人是活的。光会一个个死记硬背的函数是不行的,要学会联想。找到每个所需数据的特点性格,然后让其对号入座。区域的划分主要是根据具体的路名,这个路名属于哪个区域就是哪个区域。在这个表格中“博兴路、沪东新村、杨高北路、加太路、浙桥路、金新路、川桥路、新金桥”这些是我们需要的重点内容。因此需要采用函数MID来找出这些路名。如下图,S列的内容就是根据MID(L2,5,3)得出的。最后摘取的是3个字符,所以“杨高北路”得出的是“杨高北”,不过不影响我们最终需要的结果。
有了S列做辅助我们就成功了一小半。如下图所示,还需要一个单元格做所有路名的集中存放点。并且将路名有意识的按照区域顺序进行排放,另外还对于不同区域的路名进行了字体设置。这样我们就能够更容易的区分他们了。我们将绿色为“A区域”,红色为“B区域”,黑色为“C区域”。
为什么这样做呢?呵呵,相信有些朋友已经猜到了。首先在T列中用SEARCH(S2,$U$1)函数让刚才S列摘取的路名对U1单元格进行搜索,将得出S列中路名在U1中的字符位置。最后根据所在字符的位置来判断属于哪个区域。下图中T列得到的就是该结果。
然后我们将辅助的S列、T列中的内容带入IF函数中IF(T2<8,"A区域",IF(AND(T2>8,T2<16),"B区域",IF(T2>16,"C区域","未知区域")))。测试一下,果然需要的区域名称就可以自动得出了。
为了是页面更加整洁,最后我们可以将辅助列中的内容带入最终的IF函数中,IF(SEARCH(MID(L2,5,3),$U$1)<8,"A区域",IF(AND(SEARCH(MID(L2,5,3),$U$1)>8,SEARCH(MID(L2,5,3),$U$1)<16),"B区域",IF(SEARCH(MID(L2,5,3),$U$1)>16,"C区域","未知区域")))。辅助列也完成了它们的使命,可以删除了。
如下图最终“区域”内容就会自动根据“联系地址”进行更改。免去了我们手动输入的苦恼。
本文转自 kirin 51CTO博客,原文链接:http://blog.51cto.com/kirin/302564 ,如需转载请自行联系原作者