我有以下数据集(实际数据库有数千行)
我想找出哪些独特的研究没有任何“接受”值,对它们进行计数并排除它们。对于样本数据集,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")
获取被拒绝的条目数。