2017-04-27 49 views
-1

我有一个公式是:如何使用列标题创建excel forumlae?

="do.something("&BA2&",'"&LEFT(BI2,FIND("_",BI2)-1)&",something) as "&BA2&"," 

但是,而不是指定的列,如何可以创建此使用存在于每个列中的第一单元中的数据,即,列标题。

那么有效,我想是这样的:

="do.something("@[Data_Header_1]2",'"&LEFT(@[Data_Header_2]2,FIND("_",@[Data_Header_2]2)-1)&",something) as "@[Data_Header_1]2"," 

但显然这是无效的。

我的数据可能会移动,因此我想使用列标题来引用它。

在此先感谢!

回答

2

如果你的列标题是第1行中,用比赛来找到列:

column_number1 = WorksheetFunction.Match("Data_Header_1", Sheets("Sheet1").Range("1:1"), 0) 
column_number2 = WorksheetFunction.Match("Data_Header_2", Sheets("Sheet1").Range("1:1"), 0) 

要引用该列,只需使用Columns,例如

Columns(column_number1).Select  

或者 - 取决于你使用它的是什么:

Columns(column_number2).Address 
+0

正是我在找的东西!太好了谢谢! – Porkball21

0

只是直接指向单元格。因此,如果表格以A1开始,并且您想要第一个标题,请参阅A$1

$是固定的行,所以你仍然指的是,即使你拖累公式中的第一行

+0

的问题是,我可能不会有兴趣从A1的数据,我可以说,数据的100列和我可能只对C1和BC1感兴趣。这些列可能还会在将来移动,这就是为什么我想使用列标题指向这些数据的原因 – Porkball21

+0

“列标题”将在第1行中推测。因此,他们可能在1澳元或1澳元或1澳元 - 注意在1之前的$符号,以确保它始终是第一行被引用。在A或B或BC之前注意不要有$符号。因此,如果你在A列中的任何地方写入'= A $ 1'并将其复制到右边,那么引用将更改为指向其各自列中的列标题。 – Variatus

相关问题