У меня есть следующая таблица Excel:

     A            B       C        D      E                F                   G    
1                 Q1     Q2       Q3      Q4    Nearest negative value to 0   -10 
2   Asset 1      -50     85      -90      70    Nearest positive value to 0     5    
3   Asset 2      -28    -80      -45      60          
4   Asset 3      -30     50       55     -10                              
5   Asset 4      -20      5      -80     -15
6   Asset 5       35    -30       27     -98
7 

В Cells A1:E6 у меня есть разные активы с их показателями по сравнению с кварталом Q1-Q4.
Показатели могут быть как положительными, так и отрицательными.

В ячейках G1 и G2 я хочу найти ближайшее отрицательное и положительное значение к 0 в Cells B2:E6.
В данном случае это -10 и 5. Поэтому я попытался использовать решение здесь:

G1 = {MAX(IF($B$2:$E$6<0,1,0)*($B$2:$E$6))}
G2 = {MIN(IF($B$2:$E$6>0,1,0)*($B$2:$E$6))}

Однако обе формулы в результате дают мне 0.

У вас есть идеи, как решить эту проблему?


ПРИМЕЧАНИЕ. Все значения в Cells B2:E6 уникальны.

1
Michi 25 Сен 2018 в 20:40

2 ответа

Лучший ответ

Вам не нужен *:

=MAX(IF($B$2:$E$6<0,$B$2:$E$6))

А также

=MIN(IF($B$2:$E$6>0,$B$2:$E$6))

Это формула массива, которую необходимо подтвердить с помощью Ctrl-Shift-Enter.


Наряду с АГРЕГАТОМ, данным Форвард Эд, если у него есть Office 365 Excel:

=MAXIFS($B$2:$E$6,$B$2:$E$6,"<"0)

А также

=MINIFS($B$2:$E$6,$B$2:$E$6,">"0)
1
Scott Craner 25 Сен 2018 в 17:50

Для наибольшего отрицательного числа

=AGGREGATE(15,6,B2:E6/(B2:E6>0),1)

Для наименьшего положительного числа

=AGGREGATE(14,6,B2:E6/(B2:E6<0),1)
3
Forward Ed 25 Сен 2018 в 17:47