如何在 excel 公式的同一行上给定 2 个标准来检索 B 列中的值

How do I retrieve value in Column B Given 2 Criteria on the Same Row in an excel Formula

我有一个类似于下面的 table,我正在尝试根据 A 列和 C 列中的条件获取 B 列数据。A = 用户 ID,B = 描述,C = Cost_Priority, D成本。 table 列出了每个userID,以及常见的问题描述,排名为问题描述的成本和问题描述的成本。这是我正在使用的提供的 table。

UserID Problem_Description Cost_Priority Cost
111 Problem A 1 395.00
111 Problem B 2 200.00
111 Problem C 0 150.00
111 Problem D 0 145.00
112 Problem G 1 800.73
112 Problem S 2 200.46
112 Problem T 0 100.51

结果 Table 应该类似于下面的结果,其中 UserID 与列一起给出 定义所需的成本优先级。我遇到的问题是获取问题描述 基于用户 ID 列中的静态值,最高成本问题的静态值为 1,第二高成本问题的静态值为 2。

UserID Highest Cost Problem 2nd Highest Cost Problem
111 Problem A Problem B
112 Problem G Problem S

我尝试使用 vlookup 方法获取 USERID 并在 if 语句中将 Cost_Priority 与 1 或 2 进行比较,但它按顺序返回问题描述列,包括成本优先级为 0 的位置。我是想知道其他人是否有任何其他想法来填充第 2 table.

中的第 2 和第 3 列

如果您使用的是 Microsoft 365,请尝试以下公式。根据需要向下和横向拖动。

=INDEX(SORT(FILTER($B:$C,($A:$A=$A12)*($C:$C>0)),2,1),COLUMN(A),1)

对于旧版本的 excel 尝试下面的数组公式-

=INDEX($B:$B,MATCH(1,($A:$A=$A12)*($C:$C=COLUMN(A)),0))

CTRL+SHIFT+ENTER 计算公式,因为它是一个数组公式.