【问题标题】:Excel find repeated value based on another conditionExcel根据另一个条件查找重复值
【发布时间】:2013-08-28 04:51:35
【问题描述】:

我在 Excel 中有以下列的值,但列 C 的值正在改变,我需要根据列 c 找到具有值的行 注册号、姓名、状态

A       B               C     
XAX2    ABCABCABC   Rejected
XAX3    YYY         Rejected
XAX2    ABCABCABC   Rejected
XAX5    YYY         Rejected
XAX2    ABCABCABC   Approved
XAX7    YYY         Rejected
XAXW    ABCABCABC   Rejected
XAXW    ABCABCABC   Approved

搜索“拒绝”后,只需要显示“XAX3 YYYY REJECTED”、“XAX5 YYY Rejected”和“XAX7 YYY Rejected”仅最新更新的行 搜索“已批准”后,只需要显示“XAX2 ABCABCABC 已批准”和“XAXW ABCABCABC 已批准”最后一行。如何在excel中制作这个公式

【问题讨论】:

  • 为什么搜索“拒绝”只显示“XAX3 YYYY REJECTED”而不显示其他?
  • 抱歉忘记添加被拒绝的结果将是 XAX3、XAX5 和 XAX7,名称为 YYY ......ABCABCABC (XAX2), (XAXW) 第 4 次获得批准,因此不会出现

标签: excel vba excel-formula


【解决方案1】:

如果我理解你的要求,你可以使用这样的布局:

单元格F1中的公式为:

=IFERROR(INDEX(A$1:A$8,SMALL(IF($E$1="Rejected",IF(($B$1:$B$8="YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999),IF(($B$1:$B$8<>"YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999)),ROW())),"")

只有在按下 Ctrl+Shift+Enter 时才能正常工作,然后您可以向下拖动公式以填充其他单元格。如果您将 E1 的值更改为 Rejected 或 Approved,则 F、G 和 H 列中的列表将相应更改。

G1和H1中的公式分别为:

=IFERROR(INDEX(B$1:B$8,SMALL(IF($E$1="Rejected",IF(($B$1:$B$8="YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999),IF(($B$1:$B$8<>"YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999)),ROW())),"")

=IFERROR(INDEX(C$1:C$8,SMALL(IF($E$1="Rejected",IF(($B$1:$B$8="YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999),IF(($B$1:$B$8<>"YYY")*($C$1:$C$8=$E$1)=1,ROW(A$1:A$8),999)),ROW())),"")

您可以在屏幕截图here 中获取我的excel 文件(我将在一周左右将其删除)。

注意:如果 B 列中的内容无关紧要,请使用以下内容:

=IFERROR(INDEX(A$1:A$8,SMALL(IF($E$1="Rejected",IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999),IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999)),ROW())),"")

=IFERROR(INDEX(B$1:B$8,SMALL(IF($E$1="Rejected",IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999),IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999)),ROW())),"")

=IFERROR(INDEX(C$1:C$8,SMALL(IF($E$1="Rejected",IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999),IF($C$1:$C$8=$E$1,ROW(A$1:A$8),999)),ROW())),"")

【讨论】:

  • 在公式中我可以看到“YYY”这是否会在 2300 行的表格中导致任何冲突..???
  • @DavidJohn 不,只需确保参考已调整。例如。对于 2800 行,A$1:A$8 将变为 A$1:A$2800。如果您有标题,则除了引用之外,您还需要在公式中进一步调整。
  • Checked and "Rejected" 仅在其匹配列 B 为 YYY 时显示,2800 行没有问题,但由于上述原因,结果未显示...
  • @DavidJohn 哦等等,你的意思是你需要看到 all 在选择被拒绝时被拒绝,并且在选择被批准时看到 all 被批准,不管是什么在 B 列?我编辑了答案以包含此内容,并更新了您可以下载的 Excel。
  • 正确,我需要得到所有被拒绝和全部被批准,如果 XX2 (cloum A) 被拒绝 2 次并被批准 1 次,这将只出现在批准列表中,即如果列 A 号码得到一个一生中的批准,无论过去是否被拒绝,它都将保持批准...对于拒绝场景也是如此...所有基础都是列 A 和列 C(列 B 只是名称)
猜你喜欢
  • 2020-02-13
  • 1970-01-01
  • 2021-12-27
  • 2022-12-09
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 2010-12-17
相关资源
最近更新 更多