首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -从行和列条件返回列引用

Excel -从行和列条件返回列引用
EN

Stack Overflow用户
提问于 2020-10-15 09:39:10
回答 2查看 229关注 0票数 1

随着时间的推移,我有一个观察评级的数据集:

代码语言:javascript
复制
A     B          C         D          E 
ID   Date     Rating-1   Rating-2   Rating-3
1   01/01/20               Y
2   01/05/19     Y
3   15/12/19               Y

我希望在特定日期提取特定ID的评等。由于没有在数据中指定评级(因为每个级别都由一个Y值表示),所以我需要引用列标题或列引用。为了得到相关的行,我可以使用Match公式:=MATCH(1,(1=$A$1:$A$4)*(DATE(2020,01,01)=$B$1:$B$4),0) --这将给出第2行。

要获得特定行的列引用,我可以使用第二个Match公式:=MATCH("Y",$A3:$E3,0) --这将给出第4列。

有没有办法组合这两个公式,为指定的行(基于ID/日期标准)和指定的列(具有Y值的列)提供列引用?

我尝试了一个Index Match Match公式,但这似乎需要指定列引用,而不是找到一个具有Y值的列。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-15 10:22:01

尽量避免INDIRECT,因为它是不稳定的!还有其他选择,例如:

代码语言:javascript
复制
=INDEX(A1:E1,MATCH("Y",INDEX(A1:E4,MATCH(1,INDEX((A1:A4=1)*(B1:B4=DATE(2,020,1,1)),),0),0),0))

顺便说一句,嵌套的INDEX是为了避免必要的CSE公式。如果您有ExcelO365,则可以将其删除。

票数 2
EN

Stack Overflow用户

发布于 2020-10-15 10:20:54

使用INDIRECTCONCATENATEMATCH{=MATCH("Y",INDIRECT(CONCATENATE("$A",MATCH(1,(1=$A$1:$A$4)*(DATE(2020,01,01)=$B$1:$B$4),0),":$E",MATCH(1,(1=$A$1:$A$4)*(DATE(2020,01,01)=$B$1:$B$4),0))),0)}找到解决方案

实际上,公式的CONCATENATEINDIRECT部分创建了由ID和日期条件指定的范围。此范围以单行的形式出现,其中的MATCH函数将搜索Y值并返回列号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64368778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档