【发布时间】:2016-06-04 21:03:27
【问题描述】:
我整天都在为此苦苦挣扎。我有以下工作正常的工作表。 用户输入 SUBJECT STATE,在本例中为肯塔基州的 KY。 下面有一个名为“FullCompDataSet”的表,有 3 列。 我需要从这些数据中做 2 件事(下面以黄色突出显示的输出):
A.计算 FullCompDataSet 中“ST/Prov”与 SUBJECT STATE 匹配的记录数。我有这个公式:
=COUNTIF(FullCompDataSet[ST/Prov],SubjectStateAbbreviation)
B.返回每条记录的键。我有这个公式:
{=SMALL(IF(FullCompDataSet[ST/Prov]=SubjectStateAbbreviation,FullCompDataSet[Key]),ROW()-18)}
所有这些都运行良好,但现在不是简单地将主体状态与 St/Prov 匹配,而是有一个我需要匹配的兼容状态列表(底部以蓝绿色突出显示的示例列表 )。所以,我需要的新输出是:
A. 6(因为主题状态KY匹配KY、IN和TN状态的记录)
B. 413、420、434、418、404、410
谁能建议我需要用于 A 和 B 的新公式?我尝试了 VLOOKUP/INDEX/MATCH、OFFSET、INDIRECT 的各种组合,但一直没能得到它。如果有更好的方法来发布此问题,我深表歉意,我仍在学习发布。谢谢!
【问题讨论】:
-
如果您使用 Visual Basic,这将很容易。虽然不确定公式
-
呃,我忘了说我有“无 VBA”的限制。我想知道如果我将 Subject State 与 St/Prov 连接起来并在 FullCompDataset 表中添加一列来标记匹配项,是否可以做到这一点...
-
我通过在每个表中添加一列来解决这个问题。我在多对多状态兼容性图中添加了一个连接的 SubjectState&CompState 列。然后我在我的 FullCompDataSet 表的每一行中添加了相同的连接 SubjectState&CompState 列。这样我的旧公式现在的工作方式相同,因为这 2 个新列是唯一的匹配,就像以前的单实体“ST/Prov”一样。
标签: excel match where formula vlookup