Excel - 从具有条件的列表中获取 x 个值

Excel - get x number of values from a list with conditions

我现在正在 Excel 中的不同选项卡上进行偏差和质量检查 sheet,但我似乎无法使其正常工作。

我使用三列进行倾斜 - 参考号、分配人员、状态(示例:10/24 完成)- A1 到 C1。要获取 QC 选项卡的值,我在同一个 sheet (F2:H2) 中有一个单独的 table,它表示我应该检查每个分配人员的参考号数。我需要一个公式来处理单元格中的值,以说明此人(已分配人员列)在该日期(状态)完成了多少项目,它会自动从列表中获取 x 项目数。

如果我需要在 G2 中输入一个数字怎么办 - 假设我只想检查指定人员 1 的 2 个参考编号中的 1 个。如果我在 G2 中输入 1 或任何数字,那么它会自动在不同的列中提取相同数量的参考数字。我该怎么做?

我附上了我的 Excel 文件的屏幕截图。

提前致谢!

尝试 =countifs(B:B,F2,C:C,$G$1) 然后为每个人向下拖动。拖到 Done 10/24 并将 $G$1 引用更新为 $H$1 引用。

B:B 是基于示例的列数,只需使其和 C 列引用您 sheet 上的那个。

我想我明白你现在想要什么了。可能有更好的方法来解决这个问题,但我不知道。所以这是我的复杂设置。

我必须分多个阶段来做这件事。这使用 randarray 所以我建议将公式更改为手动计算,并在点击计算复制和值后粘贴数字,这样它们就不会改变你。

也可以单独添加步骤 1 和 2 sheet,然后将其隐藏。

第 1 阶段: Image of first formula =SORTBY(UNIQUE(FILTER($A:$A,($B:$B=$H$1)($C:$C=$E$2))),RANDARRAY(COUNTA(UNIQUE(FILTER ($A:$A,($B:$B=$H$1)($C:$C=$E$2)))))

这将列出人员 1 的所有唯一参考编号并标记为“10/23 完成”。我知道所有 ref# 都是独一无二的,这正是我获取列表的方式。 sortby, randarray 将随机化 ref#s.

第 2 步:Image of second formula =IF($F$3>I1,"",I1)

在数组左侧两列添加一个数字列。无论您的文件有多大,从 1 开始。 将 if 公式添加到此列的右侧将为我们提供在步骤 3 中使用的筛选条件。因此,如果您需要 13 个 Ref#s,这将从数组的第一行向下添加 13 到第 13 行。

第 3 步:Image of third formula =唯一(过滤器(H3:H9,($G$3:$G$9=$I$1)))

根据您输入的数字,此公式只会 return 左侧带有标准的 ref#s。所以在图像中我将它设置为需要 6,所以我只得到前 6 个数字。但是,如果您需要比标记更多的 ref#,您将在数组末尾获得 0。如果没有 ref#,它 return 就是错误。只需添加一个 Iferror 语句。

如果您需要将 10/23 和 10/24 都放在同一列中,只需更改第一步中的过滤条件即可。

我假设您需要随机参考号来进行质量控制检查,但我仍然无法理解您的需求。

如果我正确理解问题,您可以使用下面的公式。如果没有,也许您可​​以调整它以适应您想要的结果。

我在插图下方将公式列为文本。

=COUNTIFS($C:$C,F,$B:$B,$E4)

=UNIQUE(IF((B3:$B=$I3)*($C:$C=J),$A:$A,""))

=OFFSET(G9#,0,0,$J,1)