在 Excel 中查找不具有特定值的唯一 ID

在 Excel 中查找不具有特定值的唯一 ID

我有以下数据集(实际数据库有数千行)

在此处输入图片描述

我想找出哪些独特的研究没有任何“接受”值,对它们进行计数并排除它们。对于样本数据集,boutch2000应该earl2008排除,因为其中没有任何条目产生accept值。我相信 Excel 可以做到这一点,但我似乎找不到正确的公式。我该怎么做?

编辑:理想情况下,最终产品应该是这样的。

在此处输入图片描述

我找到了一种方法来INDEX使用MATCH

{=IFERROR(INDEX($A$2:$A$14, MATCH(0,COUNTIF($E$2:E2, $A$2:$A$14), 0)),"")}

 with cell `E2` as the new dataframe containing unique ids and `A2:A14` 
 as the source list

此命令在新的数据框中生成唯一 ID 列表。但是,该命令只能作为数组公式执行,需要很长时间才能加载。此外,我无法使用 VBA,因为我正在使用 Sharepoint

不过,我仍在努力制定公式来计算每个唯一 ID 的出现accept次数reject

答案1

在 Excel 365 中,您可以轻松生成一个唯一的列表*:

=UNIQUE($A$2:$A$14)

计算被接受和被拒绝的细胞

=COUNTIFS($A$2:$A$14,E2,$B$2:$B$14,"accept")
=COUNTIFS($A$2:$A$14,E2,$B$2:$B$14,"reject")

*如果您只想要一个肯定至少有一个“接受”的唯一 ID 列表,那么

=UNIQUE(FILTER($A$2:$A$14,$B$2:$B$14="accept"))

在较旧的 Excel 版本中无需 FILTER 或 UNIQUE,从 E2 开始

=IFERROR(INDEX($A$2:$A$14, MATCH(0,COUNTIF($E$1:E1, $A$2:$A$14), 0)),"")

针对所有唯一 ID 或仅针对“接受”ID

=IFERROR(INDEX($A$2:$A$14, MATCH(0,COUNTIF($E$1:E1, $A$2:$A$14)+($B$2:$B$14="reject"), 0)),"")

答案2

也许您可以过滤表格来找出具有“接受”值的 ID。

然后将屏幕上显示的 ID 复制到另一个列,转到“数据”选项卡 >“数据工具”组 >“删除重复项”,获取具有“接受”值的唯一 ID。

在此处输入图片描述

然后使用公式=IFERROR(INDEX($A$2:$A$14,SMALL(IF(COUNTIF($D$2:$D$4,A$2:A$14)=0,ROW($2:$14)-1,10^4),ROW(A1)))&"","")并向下拖动以找出 A 列中但不包含在 D 列中的 ID。请不要忘记按 Ctrl+Shift+Enter 键,因为它是一个数组公式。

在此处输入图片描述

但由于结果有重复的 ID,您可以复制数据并再次使用“删除重复项”功能。或者使用公式=UNIQUE(G2:G5,FALSE,FALSE)获取每个条目具有“拒绝”值的唯一 ID。

在此处输入图片描述

然后使用公式=COUNTIFS(A$2:A$14,D2,B$2:B$14,"accept")获取接受的条目数(基于最终列)。

在此处输入图片描述

使用公式=COUNTIFS(A$2:A$14,I2,B$2:B$14,"reject")获取被拒绝的条目数。

在此处输入图片描述

相关内容