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

Вход

Регистрация

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

 

= Мир MS Excel/Курс доллара по дате и времени - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Курс доллара по дате и времени
Mark17 Дата: Пятница, 05.10.2012, 21:51 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте!
Не могу решить задачу.
Курс доллара поступает в таблицу excel ежедневно 2 раза в день в 14:00 и 16:30.
Необходимо чтобы в ячейку по заданной дате и времени помещался курс доллара соответствующему периоду. Функция ВПР со значением ИСТИНА не помогает т.к. даты расположены в убывающем порядке (переделывать в возрастающий не надо). Мои попытки сделать не получились, файл приложил. Помогите решить задачу.
К сообщению приложен файл: 5774215.xls (46.0 Kb)
 
Ответить
СообщениеЗдравствуйте!
Не могу решить задачу.
Курс доллара поступает в таблицу excel ежедневно 2 раза в день в 14:00 и 16:30.
Необходимо чтобы в ячейку по заданной дате и времени помещался курс доллара соответствующему периоду. Функция ВПР со значением ИСТИНА не помогает т.к. даты расположены в убывающем порядке (переделывать в возрастающий не надо). Мои попытки сделать не получились, файл приложил. Помогите решить задачу.

Автор - Mark17
Дата добавления - 05.10.2012 в 21:51
vikttur Дата: Пятница, 05.10.2012, 22:27 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Code
=ВПР(ЕСЛИ(B2>B6;A2+B6;ЕСЛИ(B2>B7;A2+B7;A2-1+B6));'Курсы доллара'!B2:C1000;2;)

В6 и В7 - время "снятия пробы" (16:30 и 14:00)
 
Ответить
Сообщение
Code
=ВПР(ЕСЛИ(B2>B6;A2+B6;ЕСЛИ(B2>B7;A2+B7;A2-1+B6));'Курсы доллара'!B2:C1000;2;)

В6 и В7 - время "снятия пробы" (16:30 и 14:00)

Автор - vikttur
Дата добавления - 05.10.2012 в 22:27
Mark17 Дата: Понедельник, 08.10.2012, 11:05 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Спасибо за идею "снятие пробы",
в формулу добавил только знак >= чтобы значение когда время ставлю ровно 14:00 или в 16:30 соответствовало уже актуальному курсу, а не предыдущему, но это мелочь.
=ВПР(ЕСЛИ(B2>=B6;A2+B6;ЕСЛИ(B2>=B7;A2+B7;A2-1+B6));'Курсы доллара'!B2:C1000;2;)
Но все равно задача решена не полностью, так если ставить дату например после выходных или праздников, то уже нет данных A2-1+B6 т.к. нет курсов доллара предыдущего дня.
Можно ли сделать, так чтобы при времени до 14:00 курс брался не с A2-1+B6, а со следующей строки ячейки т.е. предыдущего курса.
Или есть другой вариант, чтобы учитывались выходные и праздничные дни?
К сообщению приложен файл: 5774215_1.xls (47.5 Kb)


Сообщение отредактировал Mark17 - Понедельник, 08.10.2012, 11:07
 
Ответить
СообщениеСпасибо за идею "снятие пробы",
в формулу добавил только знак >= чтобы значение когда время ставлю ровно 14:00 или в 16:30 соответствовало уже актуальному курсу, а не предыдущему, но это мелочь.
=ВПР(ЕСЛИ(B2>=B6;A2+B6;ЕСЛИ(B2>=B7;A2+B7;A2-1+B6));'Курсы доллара'!B2:C1000;2;)
Но все равно задача решена не полностью, так если ставить дату например после выходных или праздников, то уже нет данных A2-1+B6 т.к. нет курсов доллара предыдущего дня.
Можно ли сделать, так чтобы при времени до 14:00 курс брался не с A2-1+B6, а со следующей строки ячейки т.е. предыдущего курса.
Или есть другой вариант, чтобы учитывались выходные и праздничные дни?

Автор - Mark17
Дата добавления - 08.10.2012 в 11:05
vikttur Дата: Понедельник, 08.10.2012, 12:06 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

A2-1+B6
1 (определение количества дней "назад") заменить на
Code
МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(A2-{1;2;3};'Курсы доллара'!B2:B1000;1));{1;2;3}))


Но это только выходные. Для учета праздников нужна формула массива:
Code
=ВПР(МАКС(ЕСЛИ('Курсы доллара'!B2:B1000<=A2+B2;'Курсы доллара'!B2:B1000));'Курсы доллара'!B2:C1000;2;)


Сообщение отредактировал vikttur - Понедельник, 08.10.2012, 12:15
 
Ответить
СообщениеA2-1+B6
1 (определение количества дней "назад") заменить на
Code
МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(A2-{1;2;3};'Курсы доллара'!B2:B1000;1));{1;2;3}))


Но это только выходные. Для учета праздников нужна формула массива:
Code
=ВПР(МАКС(ЕСЛИ('Курсы доллара'!B2:B1000<=A2+B2;'Курсы доллара'!B2:B1000));'Курсы доллара'!B2:C1000;2;)

Автор - vikttur
Дата добавления - 08.10.2012 в 12:06
_Boroda_ Дата: Понедельник, 08.10.2012, 12:17 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
а если так?
Code
=ИНДЕКС('Курсы доллара'!C2:C999;ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B999;-1)+1)
К сообщению приложен файл: 5774215_2.xls (64.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениеа если так?
Code
=ИНДЕКС('Курсы доллара'!C2:C999;ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B999;-1)+1)

Автор - _Boroda_
Дата добавления - 08.10.2012 в 12:17
vikttur Дата: Понедельник, 08.10.2012, 12:27 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

И то! Совсем забыл про "-1" smile
 
Ответить
СообщениеИ то! Совсем забыл про "-1" smile

Автор - vikttur
Дата добавления - 08.10.2012 в 12:27
Gustav Дата: Понедельник, 08.10.2012, 12:56 | Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10 и 07.10, который должен быть равен курсу 16:30 05.10

т.е. хорошо бы ПОИСКПОЗ в ЕСЛИОШИБКА(..., 1) завернуть... правда, не знаю, какой Excel у ТС

P.S. А что если рядом с полученными данными по курсу расположить динамическую таблицу, разворачивающую эти данные на 180 градусов с помощью функции НАИМЕНЬШИЙ? Тогда искалка c ВПР становится очень простой... (см. в файле)
К сообщению приложен файл: 5774215_03.xls (87.0 Kb)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 08.10.2012, 13:02
 
Ответить
Сообщение-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10 и 07.10, который должен быть равен курсу 16:30 05.10

т.е. хорошо бы ПОИСКПОЗ в ЕСЛИОШИБКА(..., 1) завернуть... правда, не знаю, какой Excel у ТС

P.S. А что если рядом с полученными данными по курсу расположить динамическую таблицу, разворачивающую эти данные на 180 градусов с помощью функции НАИМЕНЬШИЙ? Тогда искалка c ВПР становится очень простой... (см. в файле)

Автор - Gustav
Дата добавления - 08.10.2012 в 12:56
vikttur Дата: Понедельник, 08.10.2012, 13:24 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Quote (Gustav)
-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10...

Добавить проверку на максимальную дату.
Вариант _Boroda_ самый простой и удобный для реализации.
 
Ответить
Сообщение
Quote (Gustav)
-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10...

Добавить проверку на максимальную дату.
Вариант _Boroda_ самый простой и удобный для реализации.

Автор - vikttur
Дата добавления - 08.10.2012 в 13:24
Mark17 Дата: Понедельник, 08.10.2012, 15:34 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

У меня Excel 2003.
Quote
-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10 и 07.10, который должен быть равен курсу 16:30 05.10

у меня 6.10 и 7.10 показывает нормально курс на 16:30 05.10,
но не показывает на сегодняшнее число 8.10.12 после 14:00 пишет "нет данных"
я думаю потому что нет наименьшего значения, которое больше либо равно чем искомое_значение, настоящее время всегда больше времени чем в таблице курсов.
в хелпе на команду ПОИСКПОЗ написано:
Если тип_сопоставления равен -1, то функция ПОИСКПОЗ находит наименьшее значение, которое больше либо равно чем искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию
И еще одна проблема возникла, курсы доллара поступают в виде: где десятичная часть разделяется точкой, а не запятой и поэтому excel определяет курс в виде текста, а не числа и следовательно не пригодны для дальнейшего вычисления, как с этим разобраться?
К сообщению приложен файл: 5774215_4.xls (58.0 Kb)
 
Ответить
СообщениеУ меня Excel 2003.
Quote
-1 конечно хорошо, но только она не дает курс, например, на прошедшие выходные 06.10 и 07.10, который должен быть равен курсу 16:30 05.10

у меня 6.10 и 7.10 показывает нормально курс на 16:30 05.10,
но не показывает на сегодняшнее число 8.10.12 после 14:00 пишет "нет данных"
я думаю потому что нет наименьшего значения, которое больше либо равно чем искомое_значение, настоящее время всегда больше времени чем в таблице курсов.
в хелпе на команду ПОИСКПОЗ написано:
Если тип_сопоставления равен -1, то функция ПОИСКПОЗ находит наименьшее значение, которое больше либо равно чем искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию
И еще одна проблема возникла, курсы доллара поступают в виде: где десятичная часть разделяется точкой, а не запятой и поэтому excel определяет курс в виде текста, а не числа и следовательно не пригодны для дальнейшего вычисления, как с этим разобраться?

Автор - Mark17
Дата добавления - 08.10.2012 в 15:34
vikttur Дата: Понедельник, 08.10.2012, 15:44 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Quote (Mark17)
excel определяет курс в виде текста, а не числа

Проверяем на Вашем последнем файле:
=ЕЧИСЛО(B2)=ИСТИНА
Вывод: или Вы нас пытаетесь запутать, или не показываете истинные данные.
 
Ответить
Сообщение
Quote (Mark17)
excel определяет курс в виде текста, а не числа

Проверяем на Вашем последнем файле:
=ЕЧИСЛО(B2)=ИСТИНА
Вывод: или Вы нас пытаетесь запутать, или не показываете истинные данные.

Автор - vikttur
Дата добавления - 08.10.2012 в 15:44
Mark17 Дата: Понедельник, 08.10.2012, 16:07 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Спасибо всем за помощь, путать никого не собираюсь, к тому уже у вас указана ячейка B2 где находится время, а я про ячейку C2 где курс $
вот она показывает ЛОЖЬ
=ЕЧИСЛО(C2)
Мне нужны перевести пункты в рубли
по формуле
=пункты*курс$/50
файл приложил, где указана ошибка #ЗНАЧ
К сообщению приложен файл: 5774215_5.xls (58.5 Kb)
 
Ответить
СообщениеСпасибо всем за помощь, путать никого не собираюсь, к тому уже у вас указана ячейка B2 где находится время, а я про ячейку C2 где курс $
вот она показывает ЛОЖЬ
=ЕЧИСЛО(C2)
Мне нужны перевести пункты в рубли
по формуле
=пункты*курс$/50
файл приложил, где указана ошибка #ЗНАЧ

Автор - Mark17
Дата добавления - 08.10.2012 в 16:07
vikttur Дата: Понедельник, 08.10.2012, 16:11 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Извините, не так понял.
Code
=F6*ПОДСТАВИТЬ(C2;".";",")/50


Сообщение отредактировал vikttur - Понедельник, 08.10.2012, 16:13
 
Ответить
СообщениеИзвините, не так понял.
Code
=F6*ПОДСТАВИТЬ(C2;".";",")/50

Автор - vikttur
Дата добавления - 08.10.2012 в 16:11
Serge_007 Дата: Понедельник, 08.10.2012, 16:13 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Mark17)
я про ячейку C2 где курс $
вот она показывает ЛОЖЬ

Замените точки на запятые на листе Курсы доллара
К сообщению приложен файл: Mark17.xls (68.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Mark17)
я про ячейку C2 где курс $
вот она показывает ЛОЖЬ

Замените точки на запятые на листе Курсы доллара

Автор - Serge_007
Дата добавления - 08.10.2012 в 16:13
vikttur Дата: Понедельник, 08.10.2012, 16:19 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Сергей, данные динамичные, просто НАЙТИ/ЗАМЕНИТЬ не поможет.
 
Ответить
СообщениеСергей, данные динамичные, просто НАЙТИ/ЗАМЕНИТЬ не поможет.

Автор - vikttur
Дата добавления - 08.10.2012 в 16:19
Serge_007 Дата: Понедельник, 08.10.2012, 16:51 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
А макросом 2 раза в день в 14:00 и 16:30? wink


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеА макросом 2 раза в день в 14:00 и 16:30? wink

Автор - Serge_007
Дата добавления - 08.10.2012 в 16:51
Mark17 Дата: Понедельник, 08.10.2012, 16:55 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

http://www.excelworld.ru/forum/2-2507-27777-16-1349696056
в этом посте описал несостыковку курса доллара на время, которое позже последнего т.е. сейчас
Quote
но не показывает на сегодняшнее число 8.10.12 после 14:00 пишет "нет данных"

уже показывает т.к. появился курс на 16:30, но опять нет курса доллара на сейчас.
 
Ответить
Сообщениеhttp://www.excelworld.ru/forum/2-2507-27777-16-1349696056
в этом посте описал несостыковку курса доллара на время, которое позже последнего т.е. сейчас
Quote
но не показывает на сегодняшнее число 8.10.12 после 14:00 пишет "нет данных"

уже показывает т.к. появился курс на 16:30, но опять нет курса доллара на сейчас.

Автор - Mark17
Дата добавления - 08.10.2012 в 16:55
_Boroda_ Дата: Понедельник, 08.10.2012, 17:09 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Код
=ИНДЕКС('Курсы доллара'!C2:C1001;ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B1001;-1));ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B1001;-1))+1)


Добавлено
При использовании ПОДСТАВИТЬ на тексте (да и не только на тексте, в общем-то) получаем текст. А преобразовать его в число можно, совершив над ним какое-либо арифметическое действие. Что мы как раз и делаем.
К сообщению приложен файл: 5774215_6.xls (57.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Код
=ИНДЕКС('Курсы доллара'!C2:C1001;ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B1001;-1));ПОИСКПОЗ(A2+B2;'Курсы доллара'!B2:B1001;-1))+1)


Добавлено
При использовании ПОДСТАВИТЬ на тексте (да и не только на тексте, в общем-то) получаем текст. А преобразовать его в число можно, совершив над ним какое-либо арифметическое действие. Что мы как раз и делаем.

Автор - _Boroda_
Дата добавления - 08.10.2012 в 17:09
Mark17 Дата: Понедельник, 08.10.2012, 20:54 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

супер! всем спасибо
 
Ответить
Сообщениесупер! всем спасибо

Автор - Mark17
Дата добавления - 08.10.2012 в 20:54
Mark17 Дата: Вторник, 09.10.2012, 10:01 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Что-то не пойму, с помощью команды ПОДСТАВИТЬ в ячейке D2 меняю точку на запятую, значение почему-то не меняется на числовое
и при проверке в ячейке F2 функцией ЕЧИСЛО показывает ЛОЖЬ,
а при использовании этого значения в формуле для перевода пункты-рубли все нормально принимает как число.
Почему так?
К сообщению приложен файл: 5774215_7.xls (58.5 Kb)
 
Ответить
СообщениеЧто-то не пойму, с помощью команды ПОДСТАВИТЬ в ячейке D2 меняю точку на запятую, значение почему-то не меняется на числовое
и при проверке в ячейке F2 функцией ЕЧИСЛО показывает ЛОЖЬ,
а при использовании этого значения в формуле для перевода пункты-рубли все нормально принимает как число.
Почему так?

Автор - Mark17
Дата добавления - 09.10.2012 в 10:01
  • Страница 1 из 1
  • 1
Поиск:

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