Здравствуйте форумчане. Помогите пожалуйста. Долго рылся по инету но ничего не нашел. Пример и желаемый результат в приложенном файле. Имею больше 4000 строк с ячейками вида цена+стоимость доставки. 1000+300 2000+200 1500+300 Требуется вытащить в соседнюю ячейку содержание ячейки с минимальным значением, но сохранить вид 1000+300. Использую + как разделитель потом.
Т.к формула min() выдаст просто 1300.
Не знаю как удобней макрос или формулами. Заранее спасибо З.ы. Сортировка макросом построчно горизонтально не годится, т.к нельзя столбцы перемешивать между собой.
Здравствуйте форумчане. Помогите пожалуйста. Долго рылся по инету но ничего не нашел. Пример и желаемый результат в приложенном файле. Имею больше 4000 строк с ячейками вида цена+стоимость доставки. 1000+300 2000+200 1500+300 Требуется вытащить в соседнюю ячейку содержание ячейки с минимальным значением, но сохранить вид 1000+300. Использую + как разделитель потом.
Т.к формула min() выдаст просто 1300.
Не знаю как удобней макрос или формулами. Заранее спасибо З.ы. Сортировка макросом построчно горизонтально не годится, т.к нельзя столбцы перемешивать между собой.dfg_forever
dfg_forever, а зачем такой сложный ввод данных в виде =1000+300? Почему цена и доставка берутся не из разных ячеек? И еще, на будущее. А если несколько строк (или столбцов) (у вас в тексте одно, а в примере другое) с одинаковым (минимальным) итоговым значением, что предполагаете делать?
dfg_forever, а зачем такой сложный ввод данных в виде =1000+300? Почему цена и доставка берутся не из разных ячеек? И еще, на будущее. А если несколько строк (или столбцов) (у вас в тексте одно, а в примере другое) с одинаковым (минимальным) итоговым значением, что предполагаете делать?alex1248
В Excel 2013 задача легко решается с помощью функции Ф.ТЕКСТ() В остальных версиях придётся прибегать к использованию макрофункций (см. вложение)
В Excel 2013 задача легко решается с помощью функции Ф.ТЕКСТ() В остальных версиях придётся прибегать к использованию макрофункций (см. вложение)Serge_007
AlexM, Прекрасно работает только если нет пустых ячеек в строке, Подскажите пожалуйста, как подправить чтобы с пустыми ячейками в строке нормально рабоотало. И если не сложно в двух словах объясните алгоритм работы формулы. Спасибо. С удовольствием перечислю благодарность.
AlexM, Прекрасно работает только если нет пустых ячеек в строке, Подскажите пожалуйста, как подправить чтобы с пустыми ячейками в строке нормально рабоотало. И если не сложно в двух словах объясните алгоритм работы формулы. Спасибо. С удовольствием перечислю благодарность.dfg_forever
AlexM, в ПРИМЕРЕ всё работает, вставляю формулы в свой файлик - не работают. Ни с пустыми, ни с заполненными ячейкми. Подскажите пожалуйста в чем дело, выдает #знач! Прикрепил рабочий пример
AlexM, в ПРИМЕРЕ всё работает, вставляю формулы в свой файлик - не работают. Ни с пустыми, ни с заполненными ячейкми. Подскажите пожалуйста в чем дело, выдает #знач! Прикрепил рабочий примерdfg_forever
Ввод таких формул завершают нажатием трех клавиш Ctrl+Shift+Enter. При таком вводе формула будет обрамлена фигурными скобками. Еще вариант с функцией пользователя[vba]
Код
Function MINIMUM$(r As Range) Dim i As Long, p As Long, M As Single p = 1: M = Evaluate(r(p).Value) For i = 2 To r.Count If r(i) <> Empty Then If M > Evaluate(r(i).Value) Then p = i: M = Evaluate(r(p).Value) Next i MINIMUM = r(p) End Function
Ввод таких формул завершают нажатием трех клавиш Ctrl+Shift+Enter. При таком вводе формула будет обрамлена фигурными скобками. Еще вариант с функцией пользователя[vba]
Код
Function MINIMUM$(r As Range) Dim i As Long, p As Long, M As Single p = 1: M = Evaluate(r(p).Value) For i = 2 To r.Count If r(i) <> Empty Then If M > Evaluate(r(i).Value) Then p = i: M = Evaluate(r(p).Value) Next i MINIMUM = r(p) End Function
Function MINIMUM$(r As Range) Dim i As Long, M As Single M = Evaluate(r(1).Value) For i = 2 To r.Count If r(i) <> Empty Then If M > Evaluate(r(i).Value) Then M = Evaluate(r(i).Value): MINIMUM = r(i) Next i End Function
[/vba]
Из кода функции убрал лишнее.[vba]
Код
Function MINIMUM$(r As Range) Dim i As Long, M As Single M = Evaluate(r(1).Value) For i = 2 To r.Count If r(i) <> Empty Then If M > Evaluate(r(i).Value) Then M = Evaluate(r(i).Value): MINIMUM = r(i) Next i End Function
AlexM, вот спасибо =) Хотелось бы вас отблагодарить, скиньте пож-ста номер кошелька. Если можно, еще хотелось бы обращаться к вам периодически с вопросами подобного плана. еще раз спасибо.
AlexM, вот спасибо =) Хотелось бы вас отблагодарить, скиньте пож-ста номер кошелька. Если можно, еще хотелось бы обращаться к вам периодически с вопросами подобного плана. еще раз спасибо.dfg_forever