excel搜索当前行指定字符所在的列号

我用函数=match("张二狗",Aj1:Ej1,0)可以实现在第一行搜索张二狗所在的列号。现在想要把AJ1用"aj"&row()表示,ej1用"ej"&row()表示。实现当这个函数在任意行的时候都能获取到当前行"张二狗"所在的列号,大神帮帮我,怎么写才对????跪谢

方法:

    返回某数据在区域中的次序用MATCH函数,该函数语法为:MATCH(lookup_value,lookuparray,match-type);

    第一参数为查找值,第二参数为查找区域,第三参数为查询的指定方式;

    第三参数的值不同,查找方式不同,详见下图:

    正常使用的是参数0,作精确查找,如图,公式为:=MATCH(I2,J2:S2,0)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-19
这没必要啊,。。。
=MATCH("张二狗",$AJ1:$EJ1,0) 下拉就好了啊
完善下 找不到不显示=IF(ISERROR(MATCH("张二狗",$AJ1:$EJ1,0)),"",MATCH("张二狗",$AJ1:$EJ1,0))追问

我这个是软件自动插入的,不能拉,谢谢大哥

追答

是excel里面的吗?可以用offset 函数吗?

追问

excel的公式可以用,offset我不懂,就是某个单元格在某个位置插入进去,要那一行"张二狗的列号",要是match的搜索范围可以用函数表示就好了,为毛不能呢

追答

=MATCH("张二狗",OFFSET(Sheet1!$A$1,ROW(Sheet1!$A$1)-1,35,1,105),0) 试试 看看可以不

追问

这个函数是对的,但是获取到的是第一行张二狗的位置啊,我每行都有张二狗,要找每一行的呢,大神再帮我想想,多谢

追答

=MATCH("张二狗",OFFSET(Sheet1!$A$1,ROW(Sheet1!$A1)-1,35,1,105),0) 看错了 不好意思。。。多了个绝对引用,。,。改成相对引用就好了

第2个回答  2013-11-19
=MATCH("张二狗",INDIRECT("AJ"&ROW()&":EJ"&ROW()),)追问

不行,indirect("aj"..........)直接返回了一个值,不能表示这个搜索范围

追答

INDIRECT("AJ"&ROW()&":EJ"&ROW())

请你看清楚公式中这部份的写法

或者你也可以写成
INDIRECT("AJ"&ROW()):INDIRECT("EJ"&ROW())

追问

考,大哥你这貌似是正解,我这试了一天,不知道为什么没试出来呢也试过indirect,明天开电脑试试,第一个应该不行第二个貌似行

追答

你用的是不是EXCEL表格,用的是哪个版本的

本回答被提问者采纳
相似回答