1

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

Это образец моих данных:

0 
1 
1 
3 
2 
4 
5 

Значение, которое мне нужно, это 2

3 ответа3

3

Вот решение с использованием вспомогательных ячеек, таким образом легче увидеть логику, однако вы, конечно, можете объединить все в одну формулу.

  • =COUNTIF(A1:A7,0) - количество ячеек, содержащих 0
  • =COUNTIF(A1:A7,SMALL(A1:A7,D1+1)) - подсчитать количество ячеек, содержащих наименьшее значение (исключая 0)
  • =SMALL(A1:A7,D1+D2+1) - второе наименьшее значение

Большая формула будет выглядеть так:
=SMALL(A1:A7,COUNTIF(A1:A7,0)+COUNTIF(A1:A7,SMALL(A1:A7,COUNTIF(A1:A7,0)+1))+1)

0

Вы можете попробовать:

=IFERROR(AGGREGATE(15,6,1/(1/((COUNTIF(A2:A8,A2:A8)=1)*A2:A8)),2),MAX(A2:A8))
0

Это зависит от того, как вы хотите это сделать, но есть способ: использовать этот снимок экрана в качестве примера (я взял ваш пример, но использовал 3 для второго наименьшего ..)

Предполагая, что у вас все время есть нули, иначе можно добавить ноль ... или добавить еще один тест ...
Снимок экрана Excel

  1. упорядочить столбец с числами от A-> Z (от самого низкого значения до самого высокого)
  2. добавить столбец слева от него с помощью следующего кода
    =IF(F7>F6;1;0)+E6
  3. в ячейке ищите второе значение с помощью vlookup
    =VLOOKUP(2;E6:F13;2;TRUE)

Вы добавляете столбец слева от столбца данных, потому что вам нужен поиск

Вы также можете добавить тест непосредственно к полученным значениям, если IF 2 затем вернуть значение и отфильтровать столбец по этому значению или сделать сумму столбца в ячейке (так как будет только одно значение, он вернет значение)

Надеюсь это поможет

ps: вам может понадобиться использовать запятую вместо ";" в формуле ..

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .