Как сформулировать динамические диапазоны Excel

#excel

#excel

Вопрос:

 Column C   Column D   Column E
  14          6            1
  11                   16.52
   5                   82.64
  30                       0
  60                       0
  12                       0
   9                       0
   4                       0
  

У меня есть эти три столбца, и все они являются пользовательским вводом, поэтому они численно динамичны.
Столбец C содержит диапазон чисел, несколько меньший, чем значение в столбце D.
Столбец E имеет значения, превышающие 0.
0 в столбце E означает, что не вычисляется одна и та же строка в столбце C.
Что мне нужно сделать, это взять соответствующие ненулевые значения в столбце E и проверить, чтобы значения в столбце C были меньше, чем в столбце D.
Затем возьмите разницу между столбцом D и любыми значениями в столбце C, меньшими, чем в столбце D, и разделите это значение на количество столбцов C, равное или большее, чем в столбце D.
Например, как сейчас. В столбце C я бы не стал оценивать строку 5: 9, потому что в столбце E в этих строках 0.
Строка 4 столбца C — это значение 5, которое на 1 меньше, чем столбец D 6, поэтому разница равна 1. В столбце C есть 2 значения, которые равны или больше столбца D
таким образом, результат равен 1/2 = .5

Другой пример:

 Column C   Column D   Column E
  14          6            1
  11                   16.52
   5                   82.64
  30                       0
  60                       0
  12                       0
   9                       0
   4                   19.56
  

В этом примере в строке 2,3,4,9 столбца C используются 4 значения. Два из значений меньше, чем в столбце D, на D2-C4 D2-C9 = 3.
Результат равен 3/2 = 1.5

Другой пример:

 Column C   Column D   Column E
  14          6            1
  11                   16.52
   5                       0
  30                       0
  60                       0
   6                   18.66
   9                       0
   4                       0
  

Результат равен 0/3 = 0

Я пытался что-то выяснить с помощью INDEX / MATCH, SUMPRODUCT, COUNTIFS, SMALL, INDIRECT, MIN, но это выходит за рамки моих возможностей EXCEL.

Ответ №1:

Этого должно хватить с помощью SUMIFS, пары COUNTIFS и некоторой математики.

 =(D2*COUNTIFS(E:E, "<>"amp;0, C:C, "<"amp;D2)-SUMIFS(C:C, E:E, "<>"amp;0, C:C, "<"amp;D2))/COUNTIFS(E:E, "<>"amp;0, C:C, ">="amp;D2)
  

Комментарии:

1. Привет и спасибо за ваше время. Результат вашей формулы, основанной на моем первом примере, дает мне 1, и это должно быть .5.

2. Привет, я ужесточил диапазоны, и это отлично сработало!! У меня была ложная «5» в E26, которую он подобрал…

3. Спасибо, что прояснили это. Я рад, что у вас все получилось.