请问大神,我用matchr 找到字符所在行了数据所在的列值,请问怎么显示该列对应行旁边单元格的值?

Excel-指定栏、列数值在区间范围中查询(MATCH,INDEX,常数数组)
Excel-指定栏、列数值在区间范围中查询(MATCH,INDEX,常数数组)
参考下图,如何在一个数据表中,指定栏、列数值,在区间范围中查询?
例如:栏数值55是在46-65之间,列数值7在6-8之间,栏列交叉对应得到11。
【公式设计与解析】
单元格H3:=INDEX(B2:D5,MATCH(H2,{1,3,6,9},1),MATCH(H1,{0,21,46,66},1))
(1) MATCH(H2,{1,3,6,9},1)
因为列的内容是以区间表示,所以我们在 MATCH 函数中用常数数组,取每个范围的第一个数值当为数组项目,再以参数『1』取「小于」(或是参数『-1』取「大于」)。比对后得到一个位置,传回一个数值。
(2) MATCH(H1,{0,21,46,66},1)
同第(1)式,在 MATCH 函数中用数组常数,取每个范围的第一个数值当为数组项目,再以参数『1』取「小于」(或是参数『-1』取「大于」)。比对后得到一个位置,传回一个数值。
(3) INDEX(B2:D5,第(1)式,第(2)式)
在 INDEX 函数中以第(1)式和第(2)式的内容代入,以栏列交叉的位置传回对应的数值。拒绝访问 | www.excelpx.com | 百度云加速
请打开cookies.
此网站 (www.excelpx.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(42e679c3e0423a7c-ua98).
重新安装浏览器,或使用别的浏览器苹果/安卓/wp
积分 75, 距离下一级还需 10 积分
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
各位大神们:
求助!第一列数据位人的ID,第二列数据是ta说过的话,都是字符型变量。现在想看到,第二列中含有比如“教师”的,对应的ID有哪些。这个R语言应该怎么写啊?
data1 &- data.frame(id = c(1,2,3,4,5,6),x = c(&a&,&b&,&c&,&b&,&d&,&e&))
data[data$x==&b&,]
data2 &- subset(data,x==&b&)复制代码
用grep函数提取包含“教师”两个字的行号,然后再对应到ID变量就可以了。
总评分:&学术水平 + 2&
jiangbeilu 发表于
用grep函数提取包含“教师”两个字的行号,然后再对应到ID变量就可以了。恩,这个我理解了。谢谢!新的问题是,我提取出了ID变量之后,想要把这些ID变量对应的第三列所有变量(不一定含有“教师”两个字)都提取出来,应该这么做啊?
你有了行号之后,随便哪一列的数都可以提取啊
jiangbeilu 发表于
你有了行号之后,随便哪一列的数都可以提取啊第一列的数据是(“0000000”,“0000000”,“0000000”,“0000001”,“0000001”)等之类,代表人的ID,但是这些人在第三列中的数据有些是含有“教师”,有些是不含教师的,我现在将含有教师的ID提取出来了,然后想把ta在第三列中的所有数据都提取出来。行号并不是唯一的。
id不唯一,但是行号唯一
jiangbeilu 发表于
id不唯一,但是行号唯一我后来是这样解决的。首先提取唯一的ID号,然后用match函数提取出位置,并将其作为一列保存到数据框中,然后用grep函数,写一个[0-9]+的数字正则,然后再提取数据。anyway,THX!
初级热心勋章
初级热心勋章
中级热心勋章
中级热心勋章
初级信用勋章
初级信用勋章
初级学术勋章
初级学术勋章
中级信用勋章
中级信用勋章
高级热心勋章
高级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师(武松戏虎)
(山支小妹)
(INESL奈时)
第三方登录:EXCEL。输入行和列,在指定单元格内显示对应数值要怎样做?_百度知道
EXCEL。输入行和列,在指定单元格内显示对应数值要怎样做?
比如:在B2格输入“b”,C2格输入“2”,D2格显示“葡萄”
我有更好的答案
D2公式:=INDEX(C5:E7,MATCH(C2,B5:B7,),MATCH(B2,C4:E4,))
是这个效果,能详细讲解下这个公式吗?谢谢。
MATCH(C2,B5:B7,)的意思是在B5:B7中查找C2的位置,返回值为2。MATCH(B2,C4:E4,)的意思是在C4:E4中查找B2的位置,返回值为2。INDEX(C5:E7,MATCH(C2,B5:B7,),MATCH(B2,C4:E4,))的意思是返回区域C5:E7第2行,第2列交叉处的值,就是“葡萄”。
采纳率:55%
来自团队:
=HLOOKUP(B2,C4:E7,C2,0)如果以B2、C2数据为行列号,直接引用单元格数据,可用公式:=INDIRECT(&Sheet1!&&B2&C2)
公式:=INDEX($C$5:$E$7,MATCH(B2,$B$5:$B$7,),MATCH(C2,$C$4:$E$4,))
INDEX 函数,就是根据行数和列数在数组或是表格中取值第一个参数是表格内容范围或是数组第二个参数是行数第三个参数是列数 MATCH函数就是按值返回所在位置(行或列,即第几个数据)第一个参数是要找的值,第二个参数是值所在的范围
(找到这个值就返回该值所在行或是所在列.主要看引用的数据范围是列还是行] 注:详细用法可查询,办公软件帮助! 公式:=INDEX($C$5:$E$7,MATCH(C2,$B$5:$B$7,),MATCH(B2,$C$4:$E$4,))
d2=offset(b1,match(b2,c4:e4),c2,,)
其他1条回答
为您推荐:
其他类似问题
excel的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 vba 查询数据所在行 的文章

 

随机推荐