excel 如何在二维数组中查找某一值 并返回该值所在第几列

 我来答
awalker2012
2014-04-12 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:111万
展开全部
思路:
1、双循环遍历数组;
2、instr函数查找,找到就用goto语句跳出循环到100;
3、100处重新判断是否找到并输出结果。

Sub 查找数据列数()
Dim Arr, MyCz$, i%, j%
MyCz = "C19"
Arr = [{"A1","B2","C3","D4";"A5","B6","C7","D8";"A9","B10","C11","D12";"A13","B14","C15","D16";"A17","B18","C19","D20"}]
For i = LBound(Arr, 2) To UBound(Arr, 2)
For j = LBound(Arr) To UBound(Arr)
If InStr(Arr(j, i), MyCz) > 0 Then
GoTo 100
End If
Next
Next
100:
If i = UBound(Arr, 2) + 1 Then
MsgBox "查无此值"
Else
MsgBox MyCz & "在数组Arr的第" & i & "列"
End If
erase arr
End Sub
更多追问追答
追问
在Excel中怎么用 我不太懂哦
追答

弄了个自定义函数myfindcol,第一个参数为要查找的值,第二个参数为查找区域,如下图,详见附件。


=myfindcol("D9",B:E)



walky1988
2014-04-12 · TA获得超过199个赞
知道答主
回答量:570
采纳率:0%
帮助的人:147万
展开全部
=MATCH(A1,$A$2:$Z$2,0)
在A2到Z2里面查找A1单元格里面的值
并显示其列号
追问
我说的是二维数组,你这是单行一维数组
追答
先在最后一行(20行)输入1、2然后拉过去一直到20
=LOOKUP(A1,A2:Z20)就可以显示列号(假如是2)
【如果你还想显示行号的话可以输入=MATCH(A1,$A$2:$Z$20,0)

这样就可以了】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式