前几天和几个粉丝聊起EXCEL中将邻区表由列转成行的话题。我说:我只知道用IF函数来实现。结果被粉丝们嘲笑啦。说我不懂:转置粘贴。有粉丝还特意给我接了个图,说就是这个。
说实话,我都快哭了。。。。我说的不是整体转置好不好。我说的是像竖行表示的邻区表那种,需要按照主服小区把不定数量的邻区转换成横向的操作。
不知道,看这篇文章的兄弟你们有什么好的方法,反正我就知道用IF函数来解决的这种方法。(我们这里说的是手工处理,用工具处理的滚一边儿去)
像这种将竖行表示的邻区格式转换成横向邻区格式,相信做过工参的兄弟都应该遇到过。你要是用转置粘贴,一万多个小区,总共数十万行数据,累都累死你。是不是很麻烦?不知道你们是怎么处理的,反正我是这样处理的。
首先原始的原始的邻区表应该是这样的:
(我就用字母和数字来做过示例)
通常从OMC上直接导出的邻区公参数据就应该是这样的。但是我们常规使用应该是下面这个样子的。
那,我们首先需要按照主小区排序,顺序还是倒序无所谓,主要目的是要将相同主小区的数据排到一起来。
接下来就要用IF函数啦。
核心思路是:如果本行的主服小区等于下一行的主服小区,那么就将下一行的邻区打印到本行邻区的左侧单元格。如果不等于,就不打印。
那么公式就是这个样子的。
眼尖的小伙伴会发现,在这个公式中A2和A3的前面增加了一个美元符号“$”。“$”在EXCEL中是锁定的意思。“$A2”的意思就是锁定A列。
(要是用“$A$2”那么就是锁定A2这个单元格,要是“A$2”就是锁定第二行)
至于为什么要锁定,那是因为我们要通过拖动的方式复制公式,但是又不想将判断从A列移开。
好了拖动以后就是这样的。
你说,完整的和不完整的都混在一起了,我还要一行一行的复制出来。这不更麻烦吗?别急,还没完了。
用IF找出最完整的一行。
从上述数据看,每个主小区最完整的一行邻区是第一行,那么我们用IF函数再判断一下不就得啦。
如果主服小区不等于上一个主服小区,这一行就做一个标记。
现在你只需要筛选标记为“X”的行,就是你要的答案了。
复制出来就完了。全程就用来IF()函数,没有其他的。
好了,今天分享的经验就到这里来,有更好方法的小伙伴,欢迎加我交流。
领取专属 10元无门槛券
私享最新 技术干货