Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Минимальное значение из диапазона ячеек вида Число+Число - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Минимальное значение из диапазона ячеек вида Число+Число
dfg_forever Дата: Суббота, 06.09.2014, 09:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте форумчане. Помогите пожалуйста. Долго рылся по инету но ничего не нашел.
Пример и желаемый результат в приложенном файле.
Имею больше 4000 строк с ячейками вида цена+стоимость доставки.
1000+300 2000+200 1500+300
Требуется вытащить в соседнюю ячейку содержание ячейки с минимальным значением, но сохранить вид 1000+300.
Использую + как разделитель потом.

Т.к формула min() выдаст просто 1300.

Не знаю как удобней макрос или формулами.
Заранее спасибо
З.ы.
Сортировка макросом построчно горизонтально не годится, т.к нельзя столбцы перемешивать между собой.
К сообщению приложен файл: PRIMER.xls (7.5 Kb)


Сообщение отредактировал dfg_forever - Суббота, 06.09.2014, 10:05
 
Ответить
СообщениеЗдравствуйте форумчане. Помогите пожалуйста. Долго рылся по инету но ничего не нашел.
Пример и желаемый результат в приложенном файле.
Имею больше 4000 строк с ячейками вида цена+стоимость доставки.
1000+300 2000+200 1500+300
Требуется вытащить в соседнюю ячейку содержание ячейки с минимальным значением, но сохранить вид 1000+300.
Использую + как разделитель потом.

Т.к формула min() выдаст просто 1300.

Не знаю как удобней макрос или формулами.
Заранее спасибо
З.ы.
Сортировка макросом построчно горизонтально не годится, т.к нельзя столбцы перемешивать между собой.

Автор - dfg_forever
Дата добавления - 06.09.2014 в 09:59
alex1248 Дата: Суббота, 06.09.2014, 12:12 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
dfg_forever, а зачем такой сложный ввод данных в виде =1000+300? Почему цена и доставка берутся не из разных ячеек?
И еще, на будущее. А если несколько строк (или столбцов) (у вас в тексте одно, а в примере другое) с одинаковым (минимальным) итоговым значением, что предполагаете делать?


skype alex12481632
Qiwi +79276708519
 
Ответить
Сообщениеdfg_forever, а зачем такой сложный ввод данных в виде =1000+300? Почему цена и доставка берутся не из разных ячеек?
И еще, на будущее. А если несколько строк (или столбцов) (у вас в тексте одно, а в примере другое) с одинаковым (минимальным) итоговым значением, что предполагаете делать?

Автор - alex1248
Дата добавления - 06.09.2014 в 12:12
Serge_007 Дата: Суббота, 06.09.2014, 12:38 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
В Excel 2013 задача легко решается с помощью функции Ф.ТЕКСТ()
В остальных версиях придётся прибегать к использованию макрофункций (см. вложение)
К сообщению приложен файл: dfg_foreverl.xls (27.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВ Excel 2013 задача легко решается с помощью функции Ф.ТЕКСТ()
В остальных версиях придётся прибегать к использованию макрофункций (см. вложение)

Автор - Serge_007
Дата добавления - 06.09.2014 в 12:38
AlexM Дата: Воскресенье, 07.09.2014, 20:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Не уверен что правильно понял задачу.
Формула массива
Код
=ИНДЕКС(C6:F6;ПОИСКПОЗ(МИН(--ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6)));--ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6));))
или так
Код
=ИНДЕКС(C8:F8;ПОИСКПОЗ(МИН(ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПОДСТАВИТЬ(C8:F8;ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))&"+";));ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПОДСТАВИТЬ(C8:F8;ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))&"+";);))
вторая формула чуть короче
Код
=ИНДЕКС(C8:F8;ПОИСКПОЗ(МИН(ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПСТР(C8:F8;ПОИСК("+";C8:F8)+1;9));ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПСТР(C8:F8;ПОИСК("+";C8:F8)+1;9);))
К сообщению приложен файл: PRIMER_1.xls (8.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 07.09.2014, 21:25
 
Ответить
СообщениеНе уверен что правильно понял задачу.
Формула массива
Код
=ИНДЕКС(C6:F6;ПОИСКПОЗ(МИН(--ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6)));--ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6));))
или так
Код
=ИНДЕКС(C8:F8;ПОИСКПОЗ(МИН(ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПОДСТАВИТЬ(C8:F8;ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))&"+";));ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПОДСТАВИТЬ(C8:F8;ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))&"+";);))
вторая формула чуть короче
Код
=ИНДЕКС(C8:F8;ПОИСКПОЗ(МИН(ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПСТР(C8:F8;ПОИСК("+";C8:F8)+1;9));ЛЕВБ(C8:F8;ПОИСК("?+";C8:F8))+ПСТР(C8:F8;ПОИСК("+";C8:F8)+1;9);))

Автор - AlexM
Дата добавления - 07.09.2014 в 20:28
dfg_forever Дата: Воскресенье, 07.09.2014, 23:52 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
AlexM, Прекрасно работает только если нет пустых ячеек в строке,
Подскажите пожалуйста, как подправить чтобы с пустыми ячейками в строке нормально рабоотало.
И если не сложно в двух словах объясните алгоритм работы формулы.
Спасибо. С удовольствием перечислю благодарность.
 
Ответить
СообщениеAlexM, Прекрасно работает только если нет пустых ячеек в строке,
Подскажите пожалуйста, как подправить чтобы с пустыми ячейками в строке нормально рабоотало.
И если не сложно в двух словах объясните алгоритм работы формулы.
Спасибо. С удовольствием перечислю благодарность.

Автор - dfg_forever
Дата добавления - 07.09.2014 в 23:52
AlexM Дата: Понедельник, 08.09.2014, 08:48 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Проверяйте.
Формула массива
Код
=ИНДЕКС(C6:F6;ПОИСКПОЗ(МИН(ЕСЛИ(C6:F6="";9^9;ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6))+ПСТР(C6:F6;ПОИСК("+";C6:F6)+1;9)));ЕСЛИ(C6:F6="";9^9;ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6))+ПСТР(C6:F6;ПОИСК("+";C6:F6)+1;9));))
К сообщению приложен файл: PRIMER_2.xls (8.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПроверяйте.
Формула массива
Код
=ИНДЕКС(C6:F6;ПОИСКПОЗ(МИН(ЕСЛИ(C6:F6="";9^9;ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6))+ПСТР(C6:F6;ПОИСК("+";C6:F6)+1;9)));ЕСЛИ(C6:F6="";9^9;ЛЕВБ(C6:F6;ПОИСК("?+";C6:F6))+ПСТР(C6:F6;ПОИСК("+";C6:F6)+1;9));))

Автор - AlexM
Дата добавления - 08.09.2014 в 08:48
dfg_forever Дата: Понедельник, 08.09.2014, 09:57 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
AlexM, в ПРИМЕРЕ всё работает, вставляю формулы в свой файлик - не работают. Ни с пустыми, ни с заполненными ячейкми.
Подскажите пожалуйста в чем дело, выдает #знач!
Прикрепил рабочий пример
К сообщению приложен файл: Novii_PRIMER.xls (56.5 Kb)
 
Ответить
СообщениеAlexM, в ПРИМЕРЕ всё работает, вставляю формулы в свой файлик - не работают. Ни с пустыми, ни с заполненными ячейкми.
Подскажите пожалуйста в чем дело, выдает #знач!
Прикрепил рабочий пример

Автор - dfg_forever
Дата добавления - 08.09.2014 в 09:57
AlexM Дата: Понедельник, 08.09.2014, 10:14 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Формула массива
Ввод таких формул завершают нажатием трех клавиш 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
[/vba]
К сообщению приложен файл: PRIMER_3.xls (19.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Формула массива
Ввод таких формул завершают нажатием трех клавиш 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
[/vba]

Автор - AlexM
Дата добавления - 08.09.2014 в 10:14
AlexM Дата: Понедельник, 08.09.2014, 10:23 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Из кода функции убрал лишнее.[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
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеИз кода функции убрал лишнее.[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
[/vba]

Автор - AlexM
Дата добавления - 08.09.2014 в 10:23
dfg_forever Дата: Понедельник, 08.09.2014, 10:27 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
AlexM, вот спасибо =)
Хотелось бы вас отблагодарить, скиньте пож-ста номер кошелька.
Если можно, еще хотелось бы обращаться к вам периодически с вопросами подобного плана.
еще раз спасибо.
 
Ответить
СообщениеAlexM, вот спасибо =)
Хотелось бы вас отблагодарить, скиньте пож-ста номер кошелька.
Если можно, еще хотелось бы обращаться к вам периодически с вопросами подобного плана.
еще раз спасибо.

Автор - dfg_forever
Дата добавления - 08.09.2014 в 10:27
AlexM Дата: Понедельник, 08.09.2014, 10:39 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Обращайтесь на форум, так надежнее.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеОбращайтесь на форум, так надежнее.

Автор - AlexM
Дата добавления - 08.09.2014 в 10:39
dfg_forever Дата: Вторник, 20.01.2015, 12:09 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
AlexM, не поможете мне еще раз с написанием другой то ли функции, то ли макроса? не знаю как лучше..
вот тема http://www.excelworld.ru/forum/2-15327-1
спасибо.

[moder]Ну и при чем тут этот пост к Вашей новой теме?
Нарушение п.п.5q
Пользователю замечание![/moder]


Сообщение отредактировал DJ_Marker_MC - Вторник, 20.01.2015, 15:52
 
Ответить
СообщениеAlexM, не поможете мне еще раз с написанием другой то ли функции, то ли макроса? не знаю как лучше..
вот тема http://www.excelworld.ru/forum/2-15327-1
спасибо.

[moder]Ну и при чем тут этот пост к Вашей новой теме?
Нарушение п.п.5q
Пользователю замечание![/moder]

Автор - dfg_forever
Дата добавления - 20.01.2015 в 12:09
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!