EXCEL怎样用公式返回指定工作表指定列的某单元格值在本行中的名次

说明:已经完成 工作表是动态指定的(使用下拉菜单),数据表A,数据表B... 要查询的指定工作表的某列也是在B2动态指定的(使用下拉菜单),当选择了某列后B1就自动显示该列在指定的数据表中的列编号。现在要解决的问题是: 在B3中显示数据表A中的D3单元格在本行的排名,怎么写公式,谢谢!

假定数据区位于A:F

在h1输入行号,h2输入列号,

h3输入 =INDIRECT("R"&H1&"C"&H2,0)

即可获得结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-21
B1单元格公式:
=CHAR(65+MATCH(B2,INDIRECT($A$1&"!$B$2:$N$2"),0))
B3单元格公式然后下拉填充:
=RANK(OFFSET(INDIRECT($A$1&"!$A$2"),MATCH(A3,INDIRECT($A$1&"!$A$3:$A$1000"),0),MATCH($B$2,INDIRECT($A$1&"!$B$2:$N$2"),0)),OFFSET(INDIRECT($A$1&"!$A$2"),MATCH(A3,INDIRECT($A$1&"!$A$3:$A$1000"),0),1,,13),0)本回答被提问者采纳
第2个回答  2019-03-21
B3=IF(B$1="B",
RANK(数据表A!B3,数据表A!$B3:$N3),IF(B$1="C",
RANK(数据表A!C3,数据表A!$B3:$N3),IF(B$1="D",
RANK(数据表A!D3,数据表A!$B3:$N3),IF(B$1="E",
RANK(数据表A!E3,数据表A!$B3:$N3),IF(B$1="F",
RANK(数据表A!F3,数据表A!$B3:$N3),IF(B$1="G",
RANK(数据表A!G3,数据表A!$B3:$N3),IF(B$1="H",
RANK(数据表A!H3,数据表A!$B3:$N3),IF(B$1="I",
RANK(数据表A!I3,数据表A!$B3:$N3),IF(B$1="J",
RANK(数据表A!J3,数据表A!$B3:$N3),IF(B$1="K",
RANK(数据表A!K3,数据表A!$B3:$N3),IF(B$1="L",
RANK(数据表A!L3,数据表A!$B3:$N3),IF(B$1="M",
RANK(数据表A!M3,数据表A!$B3:$N3),IF(B$1="N",
RANK(数据表A!N3,数据表A!$B3:$N3))))))))))))))

下拉公式。

『13层嵌套,不知道你的office版本能否运行!』追问

感谢老师,我想太复杂了吧!
如果用
=INDIRECT($A$1&"!"&$B$1&ROW(A3))
就可以获得指定A1单元格中指定的工作表的B1单元格中指定的列的第三行的单元格值,我想在这个公式的基础上做修改,使B3=返回该单元格值所在行的排名,可是我写不出来,老师看怎么办?

第3个回答  2019-03-21
在B3中输入或复制粘贴下列公式之一
=RANK(INDIRECT(A$1&"!"&B$1&ROW(A3)),INDIRECT(A$1&"!B"&ROW(A3)&":M"&ROW(A3)))
=RANK.AVG(INDIRECT(A$1&"!"&B$1&ROW(A3)),INDIRECT(A$1&"!B"&ROW(A3)&":M"&ROW(A3)))
=RANK.EQ(INDIRECT(A$1&"!"&B$1&ROW(A3)),INDIRECT(A$1&"!B"&ROW(A3)&":M"&ROW(A3)))
下拉填充
相似回答