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

Вход

Регистрация

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

 

= Мир MS Excel/сортировка диапазона - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
сортировка диапазона
Nik57 Дата: Суббота, 11.03.2017, 15:51 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Кто может помочь с данный вопросом.
Есть список закупок на складе (диапазон A1:E32). Он по датам дополняется каждый день. Цель на новом листе создать отсортированный список этих покупок, но уже по датам от последней закупки к первой. И содержать этот список должен не больше 20 позиций продукции, но цены и количество должны оставаться в полном объеме.
То есть выглядеть все должно как в диапазоне H1:L32. Только я этот диапазон набрал вручную, а необходимо чтоб он обновлялся автоматически, при внесении новых позиций в начальный список.
К сообщению приложен файл: 1677942.xlsx (11.5 Kb)
 
Ответить
СообщениеЗдравствуйте! Кто может помочь с данный вопросом.
Есть список закупок на складе (диапазон A1:E32). Он по датам дополняется каждый день. Цель на новом листе создать отсортированный список этих покупок, но уже по датам от последней закупки к первой. И содержать этот список должен не больше 20 позиций продукции, но цены и количество должны оставаться в полном объеме.
То есть выглядеть все должно как в диапазоне H1:L32. Только я этот диапазон набрал вручную, а необходимо чтоб он обновлялся автоматически, при внесении новых позиций в начальный список.

Автор - Nik57
Дата добавления - 11.03.2017 в 15:51
Nic70y Дата: Суббота, 11.03.2017, 16:17 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Код
=ИНДЕКС(A:A;ПОИСКПОЗ(9E+307;$A:$A)-СТРОКА()+1)
К сообщению приложен файл: 0979302.xlsx (14.3 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ИНДЕКС(A:A;ПОИСКПОЗ(9E+307;$A:$A)-СТРОКА()+1)

Автор - Nic70y
Дата добавления - 11.03.2017 в 16:17
stjerrymouse Дата: Суббота, 11.03.2017, 16:51 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 1 ±
Замечаний: 20% ±

Excel 2013
Добрый день. Я предполагал, что даты могут повторяться (несколько покупок в один день) и файл заполняется не строго от старых к новым. а отсортирован в произвольном порядке.
Решение в приложении.
К сообщению приложен файл: 1677942-__.xlsx (16.3 Kb)
 
Ответить
СообщениеДобрый день. Я предполагал, что даты могут повторяться (несколько покупок в один день) и файл заполняется не строго от старых к новым. а отсортирован в произвольном порядке.
Решение в приложении.

Автор - stjerrymouse
Дата добавления - 11.03.2017 в 16:51
Che79 Дата: Суббота, 11.03.2017, 23:40 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Интересная задача. Попробовал предложить свой вариант решения, но... :'(
Формула протягиваемая, но последний столбец (из желтых ячеек) у меня возвращается неверно. В принципе, понимаю почему, но как поправить котелок уже не варит. Буду признателен за подсказку от Гуру-формулистов.
Код
=ЕСЛИ(ЕЧИСЛО(A1);ПРОСМОТР(9^9;A:A)-СТРОКА()+1;ГПР("яяя";A:A;ПОИСКПОЗ("";A:A;-1)-СТРОКА()+1))

UPD
А вот так, вроде, пашет, но за уши притянуто капитально. В общем, не особо нравицца. Файл перевложил.
Код
=ЕСЛИ(ЕЧИСЛО(A1);ПРОСМОТР(9^9;A:A)-ЕСЛИ(ПРАВБ(A1;3)="000";1000*(СТРОКА()-1);СТРОКА()-1);ГПР("яяя";A:A;ПОИСКПОЗ("";A:A;-1)-СТРОКА()+1))
К сообщению приложен файл: 9302-1.xlsx (16.1 Kb)


Делай нормально и будет нормально!

Сообщение отредактировал Che79 - Воскресенье, 12.03.2017, 02:02
 
Ответить
СообщениеИнтересная задача. Попробовал предложить свой вариант решения, но... :'(
Формула протягиваемая, но последний столбец (из желтых ячеек) у меня возвращается неверно. В принципе, понимаю почему, но как поправить котелок уже не варит. Буду признателен за подсказку от Гуру-формулистов.
Код
=ЕСЛИ(ЕЧИСЛО(A1);ПРОСМОТР(9^9;A:A)-СТРОКА()+1;ГПР("яяя";A:A;ПОИСКПОЗ("";A:A;-1)-СТРОКА()+1))

UPD
А вот так, вроде, пашет, но за уши притянуто капитально. В общем, не особо нравицца. Файл перевложил.
Код
=ЕСЛИ(ЕЧИСЛО(A1);ПРОСМОТР(9^9;A:A)-ЕСЛИ(ПРАВБ(A1;3)="000";1000*(СТРОКА()-1);СТРОКА()-1);ГПР("яяя";A:A;ПОИСКПОЗ("";A:A;-1)-СТРОКА()+1))

Автор - Che79
Дата добавления - 11.03.2017 в 23:40
Gustav Дата: Воскресенье, 12.03.2017, 00:19 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
[offtop]
Хороший пример для демонстрации отдельных мощных сторон таблиц Google, в которых они пока обходят Excel.

Создайте таблицу Google и скопируйте в нее диапазон A1:E32. Дальше введите в одну-единственную ячейку Н1 такую очень простую формулу:
[vba]
Код
=QUERY(A:E;"order by A desc limit 20")
[/vba]
Впечатляет результат? Очень хочется и в Excel когда-нибудь такую функцию!..


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение[offtop]
Хороший пример для демонстрации отдельных мощных сторон таблиц Google, в которых они пока обходят Excel.

Создайте таблицу Google и скопируйте в нее диапазон A1:E32. Дальше введите в одну-единственную ячейку Н1 такую очень простую формулу:
[vba]
Код
=QUERY(A:E;"order by A desc limit 20")
[/vba]
Впечатляет результат? Очень хочется и в Excel когда-нибудь такую функцию!..

Автор - Gustav
Дата добавления - 12.03.2017 в 00:19
Che79 Дата: Воскресенье, 12.03.2017, 00:36 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
[offtop] Gustav, шикарный вариант! Вот бы в Excel нечто подобное!


Делай нормально и будет нормально!
 
Ответить
Сообщение[offtop] Gustav, шикарный вариант! Вот бы в Excel нечто подобное!

Автор - Che79
Дата добавления - 12.03.2017 в 00:36
Nik57 Дата: Понедельник, 13.03.2017, 16:47 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Nic70y, все здорова у вас получилось, только что то у меня по образцу не получается. поправьте, пожалуйста, формулу. лист 1 и лист 2 в примере.
К сообщению приложен файл: 1890972.xlsx (10.7 Kb)
 
Ответить
СообщениеNic70y, все здорова у вас получилось, только что то у меня по образцу не получается. поправьте, пожалуйста, формулу. лист 1 и лист 2 в примере.

Автор - Nik57
Дата добавления - 13.03.2017 в 16:47
Nik57 Дата: Понедельник, 13.03.2017, 16:49 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Nic70y, извиняюсь, не тот файл приложил))))
исправил файл
К сообщению приложен файл: 7281627.xlsx (9.6 Kb)
 
Ответить
СообщениеNic70y, извиняюсь, не тот файл приложил))))
исправил файл

Автор - Nik57
Дата добавления - 13.03.2017 в 16:49
Nic70y Дата: Понедельник, 13.03.2017, 17:11 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Код
=ИНДЕКС(Лист1!J:J;ПОИСКПОЗ(9E+307;Лист1!$J:$J)-СТРОКА(A1)+1)
если начинаете не с первой строки, то вместо СТРОКА() нужно СТРОКА(A1)
в любом случае это надежне


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ИНДЕКС(Лист1!J:J;ПОИСКПОЗ(9E+307;Лист1!$J:$J)-СТРОКА(A1)+1)
если начинаете не с первой строки, то вместо СТРОКА() нужно СТРОКА(A1)
в любом случае это надежне

Автор - Nic70y
Дата добавления - 13.03.2017 в 17:11
Nik57 Дата: Понедельник, 13.03.2017, 17:28 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Nic70y, спасибо, все получилось! только есть одно но...
немного усложню задачу, что делать если позиций меньше 20 в начальном списке?? он мне выдает сначала нулевые даты, а потом пишет вообще знач. как сделать так, чтобы если позиций в начальном списке меньше 20, ничего не выскакивало, были пустые поля??
пример ниже.
заранее спасибо!
К сообщению приложен файл: 0623292.xlsx (10.1 Kb)
 
Ответить
СообщениеNic70y, спасибо, все получилось! только есть одно но...
немного усложню задачу, что делать если позиций меньше 20 в начальном списке?? он мне выдает сначала нулевые даты, а потом пишет вообще знач. как сделать так, чтобы если позиций в начальном списке меньше 20, ничего не выскакивало, были пустые поля??
пример ниже.
заранее спасибо!

Автор - Nik57
Дата добавления - 13.03.2017 в 17:28
Nic70y Дата: Понедельник, 13.03.2017, 17:55 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
для даты можно так
Код
=ЕСЛИОШИБКА(--(ИНДЕКС(Лист1!J:J;ПОИСКПОЗ(9E+307;Лист1!$J:$J)-СТРОКА(A1)+1)&"");"")
для остального ссылаться не нее
К сообщению приложен файл: 7610820.xlsx (12.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениедля даты можно так
Код
=ЕСЛИОШИБКА(--(ИНДЕКС(Лист1!J:J;ПОИСКПОЗ(9E+307;Лист1!$J:$J)-СТРОКА(A1)+1)&"");"")
для остального ссылаться не нее

Автор - Nic70y
Дата добавления - 13.03.2017 в 17:55
Nik57 Дата: Пятница, 16.06.2017, 10:04 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Nic70y, условия немного изменились. Если встречаются пропуски, как прописать формулу чтоб позиции 15 числа в листе 2 оказались в зеленой строчке, и не было пробела?
К сообщению приложен файл: 4915521.xlsx (11.8 Kb)
 
Ответить
СообщениеNic70y, условия немного изменились. Если встречаются пропуски, как прописать формулу чтоб позиции 15 числа в листе 2 оказались в зеленой строчке, и не было пробела?

Автор - Nik57
Дата добавления - 16.06.2017 в 10:04
Nic70y Дата: Пятница, 16.06.2017, 12:10 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕСЛИОШИБКА(НАИБОЛЬШИЙ(Лист1!J:J;СТРОКА(A1));"")
и т.д.
К сообщению приложен файл: 9467884.xlsx (11.9 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ЕСЛИОШИБКА(НАИБОЛЬШИЙ(Лист1!J:J;СТРОКА(A1));"")
и т.д.

Автор - Nic70y
Дата добавления - 16.06.2017 в 12:10
Gustav Дата: Пятница, 16.06.2017, 12:24 | Сообщение № 14
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
[offtop]
Nic70y, молчу-молчу сегодня про гугл. Мы же из группы "Друзья", мы всегда можем договориться! yes


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение[offtop]
Nic70y, молчу-молчу сегодня про гугл. Мы же из группы "Друзья", мы всегда можем договориться! yes

Автор - Gustav
Дата добавления - 16.06.2017 в 12:24
Nik57 Дата: Пятница, 16.06.2017, 16:41 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Nic70y, отлично, только еще проблема))
почему аналог вашей формулы не работает в диапазоне J9:O15 синего диапазона листа1?
К сообщению приложен файл: 6928187.xlsx (12.2 Kb)
 
Ответить
СообщениеNic70y, отлично, только еще проблема))
почему аналог вашей формулы не работает в диапазоне J9:O15 синего диапазона листа1?

Автор - Nik57
Дата добавления - 16.06.2017 в 16:41
Nic70y Дата: Пятница, 16.06.2017, 21:00 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Код
СТОЛБЕЦ(I1)
=9, а нам нужно 1 (первый столбец просматриваемого диапазона)
Код
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$S:$X;ПОИСКПОЗ($I9;Лист1!$R:$R;);СТОЛБЕЦ(A1));"")
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$S:$X;ПОИСКПОЗ($I9;Лист1!$R:$R;);СТОЛБЕЦ(A1));"")


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 16.06.2017, 21:01
 
Ответить
Сообщение
Код
СТОЛБЕЦ(I1)
=9, а нам нужно 1 (первый столбец просматриваемого диапазона)
Код
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$S:$X;ПОИСКПОЗ($I9;Лист1!$R:$R;);СТОЛБЕЦ(A1));"")
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$S:$X;ПОИСКПОЗ($I9;Лист1!$R:$R;);СТОЛБЕЦ(A1));"")

Автор - Nic70y
Дата добавления - 16.06.2017 в 21:00
Nic70y Дата: Пятница, 16.06.2017, 21:27 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 9129
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Gustav, порассуждаем
http://www.excelworld.ru/forum/5-34164-1#223323
:)


ЮMoney 41001841029809
 
Ответить
СообщениеGustav, порассуждаем
http://www.excelworld.ru/forum/5-34164-1#223323
:)

Автор - Nic70y
Дата добавления - 16.06.2017 в 21:27
  • Страница 1 из 1
  • 1
Поиск:

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