在没有VBA的情况下在excel中选择和传输列

时间:2015-06-17 08:48:11

标签: excel excel-vba vba

我有以下问题。我在Excel中有三列,每列都有自己的标题/标题。我想根据其标题/标题选择并传输其中一列,而不使用VBA。让我举个例子。我的数据集如下:

  A  B  C  D  E  F  G  H  I
1
2              C1   C2    C3
3              1    4     7 
4              2    5     8
5              3    6     9
6

我想将列的标题/标题放在例如B2上并获取列的数据,如下所示:

  A  B  C  D  E  F  G  H  I
1
2     C1       C1   C2    C3
3     1        1    4     7 
4     2        2    5     8
5     3        3    6     9
6

当我改为C3时,我得到了C3列:

  A  B  C  D  E  F  G  H  I
1
2     C3       C1   C2    C3
3     7        1    4     7 
4     8        2    5     8
5     9        3    6     9
6

我的理解是我需要在B2中放置一个公式,我只是不知道如何构造它。它似乎是一个vlookup,但vlookup找到并选择相同的方向,而我想找到我的变量水平搜索然后垂直选择。

我知道如何使用VBA,但我想不使用它。我也欢迎优雅的VBA代码,但避免使用VBA会更好。我是Excel / VBA的新手,所以欢迎任何帮助。提前致谢!

1 个答案:

答案 0 :(得分:0)

  • 已更新以匹配示例中的单元格。

在B3栏上使用此公式,然后向下拖动手柄以复制到下面的其他单元格。

=OFFSET(E3,0,MATCH($B$2,$E$2:$G$2,0)-1)

你应该在单元格B3,B4,B5

中得到以下公式
=OFFSET(E3,0,MATCH($B$2,$E$2:$G$2,0)-1)
=OFFSET(E4,0,MATCH($B$2,$E$2:$G$2,0)-1)
=OFFSET(E5,0,MATCH($B$2,$E$2:$G$2,0)-1)

现在,当您更改B2中的值时,请说出" C3"。下面的列将更改为" C3"相应的数据。

如果您遇到任何问题,请告诉我。如果这解决了你的问题,请接受。