excel如何返回对应行对应列下单元格的值?

如何在一个庞大的表格(行和列都大于100)中查找满足一定条件的行、满足一定条件的列所对应的单元格的值?
例如,下图所示的一个表,如何查询“庚”对应的行和“午”对应的列相交的单元格,即D17中返回1990。
在D17中应该输入什么样的函数,能够使得修改C17和D16两个条件后能自动求得该表格中行与列相交对应的数值?

假设第一个图的工作表名为SHEET1,图中第一个单元格为A1单元格,数据在A至H列,有100行

第二个图的"价格"两字写在D1单元格

则,第二个图的D2单元格写入公式
=INDEX(Sheet1!B$3:H$100,MATCH(B2,Sheet1!A$3:A$100,),MATCH(C2,Sheet1!B$2:H$2,))
下拉填充公式

表格的顶上是一排字母A,B,C,.......这个就是列标
表格的左边是一竖列的数字1,2,3,.......这个就是行号
列标加上行号就是就是单元格的名称,单元格名称也叫做单元格地址,如A列的第三行,为A3单元格,C列的第18行为C18单元格,第五列的第七行就是E7单元格,这样形成了一个个的坐标,标明了每个单元格的位置.

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-04
很简单,使用match 函数来确定各条件的数据在 行、列中的位置
然后使用offset 函数把对应行列的数据取出即可。

如果不明白,请发表格到 changyunyao@139.com追问

分析地很精辟啊,楼下的方法可行,但是不是很明白,所以请教一下吧:match函数匹配成功后不是返回所在行的值吗?匹配的列的值怎么使用match呢?呵呵...

追答

qq1614945346|四级
给的答案就是了
=OFFSET($A$1,MATCH(C17,A:A,0)-1,MATCH(D16,1:1,0)-1)

第2个回答  2013-06-04
=OFFSET($A$1,MATCH(C17,A:A,0)-1,MATCH(D16,1:1,0)-1)追问

不是很明白啊,match函数匹配成功后不是返回所在行的值吗?匹配的列的值为什么也可以使用match呢?而且将区域限定为有限数量之后就计算出错,
例如=OFFSET(A1:M11,MATCH(C17,A1:A11,0)-1,MATCH(D16,A1:M1,0)-1)。
请问这个公式错在哪?

本回答被提问者采纳
第3个回答  2013-06-04
用定义名称方便:选定A1:M11,插入-名称-指定

引用时,直接:=甲 子,结果就是1912。(“甲 子”中间用空格)
图中1990可用:=INDIRECT(D16) INDIRECT(C17)
第4个回答  2013-06-07
=INDIRECT(CHAR(64+MATCH(D16,A1:M1,0))&MATCH(C17,A1:A11,0))
相似回答