Поиск в Excel в табличном виде - PullRequest
0 голосов
/ 02 июня 2018

У меня есть представленное ниже табличное представление, и мне нужно извлечь значения, которые соответствуют определенным критериям.

  |  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

Формула, которую я пробовал:

Ячейка 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 голосов
/ 02 июня 2018

Другая формула;это все-в-одном и не требует 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

0 голосов
/ 02 июня 2018

Просмотрев старые проекты, я понял, что это можно сделать так:

=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","")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...