[英]Excel formula to return a range matching a criteria, then COUNTIF the results
我一整天都在苦苦挣扎。 我有以下表格工作正常。 用户输入SUBJECT STATE,在这种情况下为肯塔基州的KY。 下面有一个名为“FullCompDataSet”的表,有3列。 我需要从这些数据中做两件事( 下面显示的输出以黄色突出显示 ):
A.计算FullCompDataSet中“ST / Prov”与SUBJECT STATE匹配的记录数。 我有这个公式:
=COUNTIF(FullCompDataSet[ST/Prov],SubjectStateAbbreviation)
B.返回每条记录的密钥。 我有这个公式:
{=SMALL(IF(FullCompDataSet[ST/Prov]=SubjectStateAbbreviation,FullCompDataSet[Key]),ROW()-18)}
所有这一切都运行良好,但现在不是简单地将主题状态与St / Prov匹配,而是我需要匹配的兼容状态列表(底部的示例列表以teal突出显示 )。 所以,我需要的新输出是:
A. 6(因为主题国家KY匹配KY,IN和TN州的记录)
B. 413,420,434,418,404,410
谁能建议我需要用于A和B的新公式? 我已经尝试过VLOOKUP / INDEX / MATCH,OFFSET,INDIRECT的各种组合但却无法获得它。 如果有更好的方式发布这个问题我很抱歉,我还在学习发帖。 谢谢!
如果您拥有最新版本的office 365,则可以使用以下两个公式来获得所需内容:
为了计数:
=SUM(IF(ISNUMBER(SEARCH(FullCompDataSet[ST/Prov],TEXTJOIN(" ",TRUE,IF(CompatState[State]=SubjectStateAbbreviation,CompatState[Compatible States],"")))),1,0))
对于小:
=SMALL(IF(ISNUMBER(SEARCH(FullCompDataSet[ST/Prov],TEXTJOIN(" ",TRUE,IF(CompatState[State]=SubjectStateAbbreviation,CompatState[Compatible States],"")))),FullCompDataSet[Key]),ROW(1:1))
两者都是数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认。 如果操作正确,Excel会在公式周围放置{}
。
TEXTJOIN公式于2016年2月在OFFICE 365中引入。它生成一串兼容的状态字符串。 SEARCH尝试查找匹配项是此字符串。 当它找到匹配时,它将传递给外部公式。 一个计数,一个找到正确的密钥。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.