首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Table_array最后一列中的VLOOKUP

Table_array最后一列中的VLOOKUP
EN

Stack Overflow用户
提问于 2015-05-04 02:16:21
回答 3查看 9.1K关注 0票数 2

我知道VLOOKUP搜索表的第一列以找到一个值,然后从同一行和用户指定的不同列中获取该值。下面的代码返回第2列B列中的数据。

代码语言:javascript
复制
VLOOKUP(5,$A$2:B100,2)

有没有办法将返回列设置为输入表的最后一列?如下所示,分别从B、P和AC列返回数据。

代码语言:javascript
复制
VLOOKUP(5,$A$2:B100,end)
VLOOKUP(5,$A$2:P100,end)
VLOOKUP(5,$A$2:AC100,end)

或者,有没有办法获取当前的列号并将其用作索引?

代码语言:javascript
复制
VLOOKUP(5,$A$2:B100,current_column_number)

我想写一个VLOOKUP公式,然后可以在电子表格中拖动它,这样B100就变成了C100、D100、E100等,列查找也相应地改变了。

更新

我可以使用COLUMN函数来实现另一种方法,但是它需要编程一个固定的偏移量,而且看起来不是很健壮。我还是想知道是否有“结束”的选项。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-04 02:31:19

代码语言:javascript
复制
=VLOOKUP(5,$A$2:B100,COLUMNS($A$2:B100))

不幸的是,你不能简单地拖动它,你需要替换它,因为在嵌套函数中写了两个等价的范围。

这些列有效地对范围内的列进行计数,给出了VLOOKUP的end变量所需的确切结果。

编辑,向OP展示一个简单的拖动功能:

代码语言:javascript
复制
Function VLOOKUP2(Expected As Variant, Target As Range)
x = Target.Columns.Count
VLOOKUP2 = Application.WorksheetFunction.VLookup(Expected, Target, x)
End Function
票数 2
EN

Stack Overflow用户

发布于 2015-05-04 02:30:41

您可以使用Excel COLUMN()函数将数值索引的列引用转换到VLOOKUP表中。试试这个:

代码语言:javascript
复制
VLOOKUP(5, $A$2:B100, COLUMN(B2))
VLOOKUP(5, $A$2:P100, COLUMN(P2)
VLOOKUP(5, $A$2:AC100, COLUMN(AC2))

在实践中,你可以只输入我上面给出的第一个公式,然后复制到右边。每次复制都会自动将列号移到末尾。

票数 1
EN

Stack Overflow用户

发布于 2018-04-14 03:32:08

您可以在保持($)计数范围的一侧的同时使用count函数,从而给出一个Vlookup可以使用的整数。

类似于:

代码语言:javascript
复制
VLOOKUP(5,$A$2:B100,COUNT($A$2:A2))

根据范围的开始位置,您可能需要将+- 1添加到count函数。

它实际上正在对vlookup执行与数组相同的操作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30017588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档