Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2012, 23:00   #1
Piano_Dreamer
Пользователь
 
Регистрация: 25.08.2012
Сообщений: 11
Сообщение Выбор значений из диапазонов

Если честно, не могу придумать названия темы, которая однозначно описала бы мою задачу. А суть ее вот в чем:
Есть два списка с полностью одинаковыми столбцами:
! Дата ! Продукция ! Цена !
Во втором списке вводятся даты и изменение цены на определенный товар, а в первом даты и продукция, которая была отпущена. Так вот, мне необходимо в первом списке в столбце цена получить, цену которая была актуальна на момент его продажи ориентируясь на второй список. Необходимо написать такую формулу, которая бы в список №1 возвратила актуальную цену на данный промежуток времени. При чем, если цены на тот момент не было - выдавало определенную строку, а если товар был продан после последнего упоминания о его цене, эта цена была для него актуальной.

Объясню на примере (буду объяснять пошагово, чтоб не запутаться):
1. В списке №2 введено, что [01.09.12], цена на товар "А" была "10 руб.", а [30.09.12] - "15 руб.";
2. В списке №1 указано, что товар "А" был продан [15.08.12], [15.09.12], ,[30.09.12], [15.10.12];
3. Т.е. в данном примере в списке №1, в столбцах должно появиться следующее:
Дата - Продукция - Цена
[15.08.12] - "А" - "Нету цены" (произвольная строка, чтобы показать, что цена не была определена на тот момент);
[15.09.12] - "А" - 10 (в промежутке между [01.09.12] и [30.09.12])
[30.09.12] - "А" - 15 (дата принятия новой цены, для нее эта цена актуальна);
[15.10.12] - "А" - 15 (т.к. данная цена указана после [01.10.12] и является актуальной пока ее не изменят).

Цена меняется не часто, но я всегда знаю дату, продукцию и новую цену.
Вот в общем-то и вся задача, только помимо товара "А", есть и товар "В" и товар "С" и даже еще парочка дополнительных условий, но я думаю если кто поможет разобраться с этой концепцией, дальше можно будет что-то придумать! =)

Честно, просто не очень силен в нестандартном применении формул, хотя уже и просидел несколько часов ковыряя и совмещая СМЕЩ, ПОИСКПОЗ, ИНДЕКС, СУММЕСЛИ, СЧЕТЕСЛИ и т.п., но ни к чему так и не дошел.

Прикрепляю файл пример, с максимально упрощенным примером на листах "Реестр" (список №1) и "Цена" (список №2).

Не знаю даже удастся ли кому помочь, но в любом случае - заранее спасибо!
Вложения
Тип файла: rar Цена.rar (9.4 Кб, 14 просмотров)
Piano_Dreamer вне форума Ответить с цитированием
Старый 20.09.2012, 23:49   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Формула массива (вводится нажатием Ctrl+Shift+Enter)
Код:
=ИНДЕКС(Цена!C$2:C$5;ПОИСКПОЗ(A2;ЕСЛИ(B2=Цена!B$2:B$5;Цена!A$2:A$5)))
PS А что такое "стандартное" применение функций?
Вложения
Тип файла: rar Piano_Dreamer.rar (12.7 Кб, 40 просмотров)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 24.09.2012, 22:24   #3
Piano_Dreamer
Пользователь
 
Регистрация: 25.08.2012
Сообщений: 11
По умолчанию

Гениально! Благодарю!

Наконец-то я таки разобрался, что представляет из себя формула массива, а то раньше для меня это был темный лес, хотя Excel знаю достаточно неплохо! И даже разобрался как добавить еще несколько условий, что-бы результат точно отвечал моей задаче.
Появилось огромное желание изучить Excel с азов, пользуясь какой-то норм. литературой, а то я сразу в VBA полез, а таких мелочей даже не знаю!

P.S.: понятие относительное, но наверное это колеблется где-то в разнице между знаниями и умениями сведущего человека в Excel и начинающего, с точки зрения начинающего естественно! =)

К примеру, для меня до сих пор остается удивительным, как применяется функция "СМЕЩ", "ПОИСКПОЗ" и "СЧЁТЕСЛИ" для создания зависимых выпадающих списков (хотя, к сожалению, только с помощью только этих инструментов бесконечное множество их не создашь, хотя может это я просто не знаю как =) (есть догадка, что можно попробовать что-то типа ВПР или ГПР, только что глянул, можно и ДВССЫЛ использовать, но вариант задания имен, а если еще и на статичные диапазоны - не очень-то привлекателен)).

Последний раз редактировалось Piano_Dreamer; 24.09.2012 в 22:40. Причина: Грамматика... :P
Piano_Dreamer вне форума Ответить с цитированием
Старый 25.09.2012, 08:33   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
=СУММПРОИЗВ((Цена!A$2:A$5=МАКС((Реестр!B2=Цена!B$2:B$5)*(Реестр!A2>=Цена!A$2:A$5)*Цена!A$2:A$5))*(Реестр!B2=Цена!B$2:B$5)*Цена!C$2:C$5)
Вот так можно и без формулы массива сделать.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 26.09.2012, 22:30   #5
Piano_Dreamer
Пользователь
 
Регистрация: 25.08.2012
Сообщений: 11
По умолчанию

Круто! Правда код немного длиннее!

Очень часто вижу когда используют эту функцию, но не всегда въезжаю чем руководствоваться, чтобы прийти к ее использованию. Вот по поводу функции массива уже понял, а это что-то новенькое!
Вы б не могли в двух словах, по-простому, объяснить как она здесь играет!
Спасибо!
Piano_Dreamer вне форума Ответить с цитированием
Старый 26.09.2012, 22:37   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Не массивная.
С2:
Код:
=ПРОСМОТР(A2&B2;Цена!$A$2:Цена!$A$5&Цена!B$2:B$5;Цена!C$2:C$5)
ZORRO2005 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух диапазонов ячеек и выбор из них pavpin Microsoft Office Excel 2 05.09.2012 21:02
выбор значений по критерию Volodymyr Microsoft Office Access 3 30.08.2011 12:29
выбор уникальных значений олег69 Microsoft Office Excel 7 10.03.2011 14:15
Выбор диапазонов диаграмм apfu00 Microsoft Office Excel 4 03.02.2009 17:04
выбор значений в цикле Melok Паскаль, Turbo Pascal, PascalABC.NET 3 15.12.2007 22:56