首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vlookup,将多个值返回给单元格

Vlookup,将多个值返回给单元格
EN

Stack Overflow用户
提问于 2016-08-08 15:00:58
回答 1查看 1.9K关注 0票数 0

是否存在从vlookup返回多个值的问题?我希望工作表1中的col将多个值返回给一个单元格,或者是否有其他方法来显示这个值(宁愿不要枢轴)?

Sheet 1:具有所有唯一值(Col,以及Col中的返回值),

Sheet 3:Col有重复的字符串值,它们对应于Col中唯一的字符串,包括空格。

编辑

表1或期望结果

表1:当前

片3电流

电流公式

代码语言:javascript
复制
=VLOOKUP(F2,Sheet3!A:B,2,FALSE) 

返回的大部分是0,因为空白或对应于唯一值的多个值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 09:25:29

那么,就VBA而言,您必须从我发送给您的链接中稍微修改代码。这应该是可行的:

代码语言:javascript
复制
Option Explicit
Function vlookupmulti(rngLookup As Variant, rngSource As Range, col As Double) As String
Dim d As Double, strCell As String

'Error if range has less columns than col
If rngSource.Columns.Count < col Then
    vlookupmulti = CVErr(xlErrNA)
    Exit Function
End If

'Loop through rows in the lookup column
For d = rngSource.Row To rngSource.Rows.Count
    If rngLookup = Sheets(rngSource.Parent.Name).Cells(d, rngSource.Column).Value Then
        strCell = Sheets(rngSource.Parent.Name).Cells(d, rngSource.Column + col - 1).Value
        If Len(strCell) > 0 Then vlookupmulti = vlookupmulti & strCell & ", "
    End If
Next d

'Remove comma at end
If Right(vlookupmulti, 2) = ", " Then
    vlookupmulti = Left(vlookupmulti, Len(vlookupmulti) - 2)
End If

'Give error if no results
If vlookupmulti = "" Then
    vlookupmulti = CVErr(xlErrNA)
End If

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

https://stackoverflow.com/questions/38832559

复制
相关文章

相似问题

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