Максимальная цена товара с использованием формулы индекса - PullRequest
1 голос
/ 02 августа 2020

Я хочу найти максимальную цену предмета из списка предметов из столбца B и минимальную цену предмета из столбца C.

Я получаю желаемые результаты, используя формулу массива с MIN и MAX функции. Однако я предпочитаю формулы без массива. Массивы Forumals в F2 и G2 соответственно:

 =MIN(IF(A$2:A$15=E2,C$2:C$15,""))

 =MAX(IF(A$2:A$15=E2,B$2:B$15,""))

Я могу получить желаемые результаты, используя функцию без массива для минимального значения, используя функции Index и MIN. Но стремление получить максимальное значение не дает желаемых результатов. Формула для минимального и максимального значений в H2 и I2 упоминается как минус.

 =MIN(INDEX((C$2:C$15)+(A$2:A$15<>E2)*1E+99, , ))

 =MAX(INDEX((B$2:B$15)+(A$2:A$15<>E2)*1E+99, , ))

Запросите помощь в подходящей модификации в формуле =MAX(INDEX((B$2:B$15)+(A$2:A$15<>E2)*1E+99, , )), чтобы получить максимальное значение элемента из столбца B который в настоящее время дает результат 1E99.

Мои данные и соответствующие результаты упомянуты ниже.

A       B       C          E         F       G          H        I
Prod_ID High_Pr Low_Pr      Prod_ID Min_Pr1  Max_Pr1    Min_Pr2  Max_Pr2
    A1  1050    1050        A1      1038     1058       1038    1E99
    A1  1058    1058        A2      2110     2122       2110    
    A1  1048.5  1048.5      A3      1958     1962       1958    
    A1  1045    1045                        
    A1  1040    1040                        
    A1  1038    1038                        
    A1  1040.99 1039                        
    A2  2122    2115.01                     
    A2  2112    2112                        
    A2  2114.5  2110                        
    A2  2110    2110                        
    A3  1962    1958.1                      
    A3  1960    1958.1                      
    A3  1958    1958    

EDIT

Я определил именованные диапазоны для A2:A15 как Prod_ID и для диапазона B2:B15 как High_Pr. Затем я использовал функцию AGGREGATE в I2, как указано ниже, и скопировал ее ниже. Это дает желаемые результаты. Я все еще надеюсь на лучший подход.

  =AGGREGATE(14,6,High_Pr*(Prod_ID=E2),ROW(E2)-ROW(E1))

Снимок полученных результатов прилагается ниже.

aggregate_approach

1 Ответ

0 голосов
/ 02 августа 2020

Похоже, сводная таблица - это ответ на то, что вы ищете. Я рекомендую посмотреть это и посмотреть, поможет ли он вам:

https://www.youtube.com/watch?v=hO_2nxRcpZg

Кроме того, если вы не возражаете против надстроек, Excel Power Query сделает это за вас. также. Но я думаю, что все, что вам действительно нужно, это сводная таблица, самая недооцененная функция Excel и всех электронных таблиц. :)

введите описание изображения здесь

...