大家知道Excel是一个非常好用的表格工具,它里面提供的函数也非常多,能够帮助我们解决非常多的问题。今天我们就给大家讲一下,如何使用Excel函数,来实现将两列数据交叉合并成一列。
比如说我们可能为了美观,在一个比赛中,将选手的序号横着排列了,但是我们现在需要将所有选手的成绩排列出来,这种情况下,如果不熟悉Excel的操作的话,那么可能就需要将每个选手的成绩挨个复制出来了,浪费很多人工。
那么这种情况下我们该怎么做呢?对于上面这个问题,我们可以将两列得分分别复制出来,最终,我们希望达到如下的效果。
从图片中我们可以看出,我们要做的事情,其实就是把A列和B列数据,交替合并到C列里面。
如果抽象出任务描述的话,我们可以这样说:C列的数据,如果行数是奇数,那么其值等于行数除以2向上进位这行的A列,如果行数是偶数,那么其值等于行数除以2的这行的B列。
比如说C5,这个格子的值,就是5/2=2.5向上进位的第三行,因为5是奇数,所以是第三行的A列,也就是72。同样,C6,这个格子的值,就是6/2=3,第三行,6是偶数,那就是第三行的B列,所以是87。
那么怎么实现这个目标呢?这时候我们需要使用Excel提供的Index函数了。这个函数用于在某个数据区域中取某行列表示的格子的值。
我们来看看INDEX函数的语法:=INDEX (数据区域,行数,列数)。
所以在我们的示例里,数据区域,就是A、B两列,表示为A:B,A到B。
行数是什么呢?我们用Row函数取出所在行的值,除以2向上取值,就是行数。列数很简单,如果行数是奇数,列数是1,如果行数是偶数,列数为2。
最终,我们得到的表达式为:
=INDEX(A:B,(ROW(C1)+1)/2,2-MOD(ROW(C1),2))
然后向下拉就行了,比如说C5的值就是=INDEX(A:B,(ROW(C5)+1)/2,2-MOD(ROW(C5),2))。
是不是非常简单呢?不过这里值得注意的是,在笔者的版本里,整除会向上取整,如果你的版本不是这样的话,那们就需要用RoundUp函数,手动向上取整一下。
大家可以自己试试,如果有3列需要交替合并成一列的话,应该怎么做哦。
喜欢本文的话,欢迎关注活在信息时代哦:)