表格视图中的Excel查找

时间:2018-06-02 07:58:49

标签: excel excel-formula

我有以下表格视图,需要提取符合特定条件的值。

  |  A     |  B     |  C   |  D   |  F   |  G   |  H
1 |  Name  |  Hour  |  d1  |  d2  |  d3  |  d4  |  d5
2 |  M1    |  12:00 |  0   |  12  |  0   |  12  |  0
3 |  M2    |  10:00 |  8   |  4   |  6   |  0   |  8
4 |  M3    |  14:00 |  0   |  6   |  0   |  8   |  0

在另一张表格中,我需要输入一个特定的日子,比方说4,公式应该检索A列中所有名称,其中d4(列G)的值大于0

我尝试过的公式:

Cell C6是一个日期字段,我们只查看当天。我按列修复了它,但我希望它具有动态性,因此当用户更改日期时,我们查看的列也应该更改。

=INDEX(raw!$A$2:$A$4, MATCH(0, IF(raw!$G$2:$G$4>0,COUNTIF($B$10:$B10,raw!$A$2:$A$4),""), 0))

有没有人有想法? 谢谢!

2 个答案:

答案 0 :(得分:1)

在查看旧项目后,我意识到可以这样做:

=IFERROR(INDEX(raw!$A$2:$A$40, MATCH(0, IF(INDIRECT("raw!$"&$F$6&"2:"&"$"&$F$6&"50")>0,COUNTIF($B$10:$B10,raw!$A$2:$A$40),""), 0)),"")

其中单元格F6是:

=SUBSTITUTE(ADDRESS(1,DAY($C$6)+5,4),"1","")

答案 1 :(得分:1)

另一个公式;这是一体化的,不需要CSE。

=IFERROR(INDEX(A:A, AGGREGATE(15, 6, ROW(A$2:INDEX(A:A, MATCH("zzz", A:A)))/(INDEX(C$2:INDEX(G:G, MATCH("zzz", A:A)), 0, MATCH("d"&I$2, C$1:G$1, 0))>0), ROW(1:1))), TEXT(,))

如果您在I2中有实际日期,请将"d"&I$2替换为text(I$2, "\Dd")

此公式旨在动态化。如果添加更多行,则公式会调整以适应,同时保持计算所需的最小行数。

enter image description here