Excel,在一列中将一个范围附加到另一个范围的末尾

时间:2015-08-29 23:24:50

标签: excel

我在Excel中有两列数据。我想添加第三列,它结合了第一列和第二列。如何使用公式来执行此操作,以便我可以在不必触及列C的情况下添加或删除A列和B列中的数据?

Column A  Column B  Column C
Bob       Mary      Bob
Joe       Melissa   Joe
Jim       Jackie    Jim
                    Mary
                    Melissa
                    Jackie

3 个答案:

答案 0 :(得分:1)

问题明确提及Microsoft Office Excel但我认为最好补充一点,如果您使用Google Sheets更简单的解决方案是使用Lake提到的大括号函数/运算符在https://stackoverflow.com/a/14151000/1802726

enter image description here

答案 1 :(得分:0)

在单元格C1中输入以下公式

=IF(ROW()>COUNTA(A:B),"",IF(ROW()<=COUNTA(A:A),INDEX(A:A,ROW()),INDEX(B:B,ROW()-COUNTA(B:B))))

然后根据需要复制。

答案 2 :(得分:0)

这是交错两行的好方法。

换句话说,转过来:

A  X
B  Y
C  Z

进入这个:

X
A
Y
B
Z
C

上面的表格在第一和第二列中,您可以这样做:

=IF(MOD(ROW(),2)=0,INDIRECT(ADDRESS(INT(ROW()/2), 1)), 
 INDIRECT(ADDRESS(INT(ROW()/2)+1, 2)))

<小时/>

说明

让我们打破一点点。第一部分是MOD(ROW(), 2),如果当前行是偶数则返回零,如果是奇数,则返回一个。

因此,当我们沿着列向下移动IF FALSE/TRUE/FALSE/TRUE时。

接下来,ADDRESS(INT(ROW()/2), 1)返回第1列和当前行的一半的单元格地址的字符串表示。 (圆了下来)。这件作品本身就像:

#VALUE!
$A$1
$A$1
$A$2
$A$2
$A$3
$A$3

(第一个#VALUE错误是因为1/2 = 0.5,它向下舍入为零。没有行零!)

INDIRECT函数返回在该地址找到的任何值。

其余的很清楚。

注意:可能比使用INDIRECTADDRESS更为流畅。建议欢迎。