Страницы: 1
RSS
Как отсортировать горизонтально расположенные данные (каждую строку отдельно)
 
Как отсортировать в эксель чтоб из зеленой таблицы получить то что вышло в желтой? А также если будут добавляться новые строчки можно ли сделать формулу так чтоб растягивать и она на новые строчки тоже распространялась (формула сортировки от меньшего к большему)
 
Через Индекс Наименьший. Сейчас попробую описать код

Для столбцов яблоки
=НАИМЕНЬШИЙ($C$3:$F$3;1)
=НАИМЕНЬШИЙ($C$3:$F$3;2)
=НАИМЕНЬШИЙ($C$3:$F$3;3)
=НАИМЕНЬШИЙ($C$3:$F$3;4)
Изменено: Macedon - 21.06.2017 18:24:14
 
Macedon, немного модернизировал Вашу формулу - без вспомогательной строки.
 
что-то я никак не могу понять как у вас это полуичлось+не могу понять как это растянуть на остальные строчки чтоб действовало?
Заранее спасибо!
 
Цитата
Сергей П написал: немного модернизировал... формулу
Сергей,огромное вам спасибо за ответ,только подскажите в какой строке вы написали эту формулу и что именно вы написали....к сожалению сама только начинаю изучать все..
Заранее спасибо за ответ!=)
 
limon, используется формула НАИМЕНЬШИЙ, которая находит в выделенной диапазоне наименьшее значение и отражает его первым, но для этого ему надо задать эту единицу, для этого используется формула СТОЛБЕЦ, которая вычисляет номер столбца для ячейки А3 - номер столбца А всегда 1, у В 2, у С 3 и т.д.
В ячейку I5 записана формула =НАИМЕНЬШИЙ($C5:$F5;СТОЛБЕЦ(A3)), в которой сначала вычисляется номер столбца = 1, затем НАИМЕНЬШИЙ отображает первое наименьшее значение из массива $C5:$F5.
По всему столбцу I будет браться первое значение, сдвигаясь вправо, в J5 столбец будет уже 2 и наименьшее значение Excel покажет второе по нарастающей и т.д.
Протягивайте формулу вправо и вниз.

Если Вас смущает СТОЛБЕЦ(A3) - поставьте руками 1, но надо будет в каждой ячейке справа увеличивать это число 2, 3, 4 и т.д., как это было у Macedon
 
См. вариант с макросом.
 
Макросная формула:
Код
Sub SMALL()
Dim sml, i&, lstr&
Application.ScreenUpdating = False
lstr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lstr
    sml = Application.Evaluate("INDEX(SMALL(" & Range(Cells(i, 2), Cells(i, 5)).Address & ",COLUMN(A1:D1)),)")
    Range("B" & i).Resize(1, 4) = sml
Next
Application.ScreenUpdating = True
End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
limon, учтите что при наличии в исходном массиве пустых ячеек данные формулы и макросы будут выдавать ошибки, а не нули.
Изменено: PooHkrd - 22.06.2017 10:16:28
Вот горшок пустой, он предмет простой...
Страницы: 1
Читают тему
Наверх