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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое заполнение сделок в эксел - Страница 3 - Мир MS Excel

Старая форма входа
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: китин, _Boroda_  
Автоматическое заполнение сделок в эксел
Неофит Дата: Пятница, 17.02.2012, 14:59 | Сообщение № 41
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Quote (Jhonson)
Из сообщений и файла совершенно не понятно, что же Вам все таки нужно!


Дык это sad

Quote (Неофит)
нужно отфильтровать следующим образом - значение Open сегодняшнего дня меньше/больше Close вчерашнего дня на N%


Окей, на картинке попробую - значение в красной ячейке (сегодняшнее открытие рынка) сравниваются со значением в зелёной ячейке (вчерашнее закрытие рынка) на предмет наличия РАЗРЫВА (Gap) между этими значениями (больше или равно N%), величину этого разрыва я хотел бы иметь возможность редактировать в фильтре (желательно "больше или равно N%)

Пробовал так: условия сегодняшнего Open ставлю МЕНЬШЕ или БОЛЬШЕ вчерашнего Close, адрес ячейки вчерашнего Close вроде тоже верно (если я ничего не путаю) - но как обусловить РАЗРЫВ в этих значениях на N% ???!!! (вместо одного процента поставил произведение на 1,01 в случае если разрыв БОЛЬШЕ 1% в сторону увеличения значения, и деление на 1,01, в случае если разрыв БОЛЬШЕ 1% в сторону уменьшения.

Типа написал (на картинке) "больше или равно" (R[-1]C[3])*1,01 "или" "меньше или равно" (R[-1]C[3])/1,01

Мобыть я в базовых понятиях путаюсь, дружище ? (что в общем-то немудрено, учитывая мой гуманитарный "скелет" ;))
К сообщению приложен файл: 3998820.jpg (55.0 Kb)


Сообщение отредактировал Неофит - Пятница, 17.02.2012, 15:10
 
Ответить
Сообщение
Quote (Jhonson)
Из сообщений и файла совершенно не понятно, что же Вам все таки нужно!


Дык это sad

Quote (Неофит)
нужно отфильтровать следующим образом - значение Open сегодняшнего дня меньше/больше Close вчерашнего дня на N%


Окей, на картинке попробую - значение в красной ячейке (сегодняшнее открытие рынка) сравниваются со значением в зелёной ячейке (вчерашнее закрытие рынка) на предмет наличия РАЗРЫВА (Gap) между этими значениями (больше или равно N%), величину этого разрыва я хотел бы иметь возможность редактировать в фильтре (желательно "больше или равно N%)

Пробовал так: условия сегодняшнего Open ставлю МЕНЬШЕ или БОЛЬШЕ вчерашнего Close, адрес ячейки вчерашнего Close вроде тоже верно (если я ничего не путаю) - но как обусловить РАЗРЫВ в этих значениях на N% ???!!! (вместо одного процента поставил произведение на 1,01 в случае если разрыв БОЛЬШЕ 1% в сторону увеличения значения, и деление на 1,01, в случае если разрыв БОЛЬШЕ 1% в сторону уменьшения.

Типа написал (на картинке) "больше или равно" (R[-1]C[3])*1,01 "или" "меньше или равно" (R[-1]C[3])/1,01

Мобыть я в базовых понятиях путаюсь, дружище ? (что в общем-то немудрено, учитывая мой гуманитарный "скелет" ;))

Автор - Неофит
Дата добавления - 17.02.2012 в 14:59
Jhonson Дата: Пятница, 17.02.2012, 15:47 | Сообщение № 42
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Так у вас там разница в десятые и даже сотые процента?

Может быть так:
Вводим доп.столбец с формулой:
[vba]
Code
=(B3-E2)/B3
[/vba]
или
[vba]
Code
=(RC[-5]-R[-1]C[-2])/RC[-5]
[/vba]
Это как для
Quote (Неофит)
МЕНЬШЕ или БОЛЬШЕ вчерашнего Close

Далее по доп. столбцу фильтруем.

Quote (Неофит)
(больше или равно N%), величину этого разрыва я хотел бы иметь возможность редактировать в фильтре

При применении фильтра к доп.столбцу Вы будете иметь такую возможность!
К сообщению приложен файл: 6046527.xls (34.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Пятница, 17.02.2012, 16:09
 
Ответить
СообщениеТак у вас там разница в десятые и даже сотые процента?

Может быть так:
Вводим доп.столбец с формулой:
[vba]
Code
=(B3-E2)/B3
[/vba]
или
[vba]
Code
=(RC[-5]-R[-1]C[-2])/RC[-5]
[/vba]
Это как для
Quote (Неофит)
МЕНЬШЕ или БОЛЬШЕ вчерашнего Close

Далее по доп. столбцу фильтруем.

Quote (Неофит)
(больше или равно N%), величину этого разрыва я хотел бы иметь возможность редактировать в фильтре

При применении фильтра к доп.столбцу Вы будете иметь такую возможность!

Автор - Jhonson
Дата добавления - 17.02.2012 в 15:47
Неофит Дата: Суббота, 18.02.2012, 13:46 | Сообщение № 43
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Quote (Jhonson)
Так у вас там разница в десятые и даже сотые процента?


Это особенности инструмента (я взял первый попавший под руку). Валютный спот круглосуточный и на нём серьёзные гэпы редкость, зато с акциями на рынке пауза с вечера до утра, во время которой настроение участников может измениться, и на открытии следующего дня их ждут "сюрпризы" в несколько процентов.

Quote (Jhonson)
Вводим доп.столбец с формулой: =(B3-E2)/B3


Чёрт ! Гениально! Я пытался запихать формулу в фильтр, когда можно просто отфильтровать формулы в отдельном столбце.
Спасибо тебе, дружище!

Это была первая задача, которая стояла передо мной, братцы.

Что же касается второй задачи:

Quote (Неофит)
В идеале же - нужно настроить табличку таким образом, чтобы она могла сканить (по DDE например) каждый день МНОЖЕСТВО инструментов. Не знаю - КАК можно это организовать, но сам механизм видится таким: табличка проверяет входящие данные с нескольких (десятков/сотен) инструментов по вышеуказанному фильтру (открытие сегодняшнего дня меньше/больше закрытия вчерашнего дня на N%), и формирует список этих инструментов в табличку: первый столбец - имя инструмента , второй столбец (Gap) - значение разрыва между Open сегодняшнего дня и Close вчерашнего дня в процентах (которое может фильтроваться пользователем, редактирующим значение N).


В уже решённой уважаемым Jhonson задаче - "история" (список дат), которая может фильтроваться по размеру Гэпа (разрыва между вчерашним закрытием и сегодняшним открытием).

Задача же, которая теперь стоит передо мной - получить таблицу, которая отображает данные только по разрывам сразу по нескольким инструментам.
Своим насквозь гуманитарным мозгом я вижу только один примитивный и тяжёлый (по весу) способ реализации - книга, на "главную" страницу которой выведена табличка с готовыми результатами (гэпами) по каждому инструменту, которые ссылаются на листы с историческими данными. Количество листов равно количеству анализируемых инструментов (а их может быть многие сотни), а каждый такой лист - это та самая табличка, которую любезно создал уважаемый Jhonson.

Думается, что наверняка есть куда более изящное решение второй задачи, ведь нужно получить СКАНЕР, анализирующий не всю чудовищную массу исторических данных, а только САМО НАЛИЧИЕ разрыва (gap) на сегодняшнем открытии рынка по отдельным инструментам.
Я не знаю - КАК работает DDE, и можно ли, подключившись к источнику котировок, подкачивать НЕ ВСЮ историю дневных котиров, а только две последних строки (вчерашний и сегодняшний день), ведь нас интересуют всего только два значения (вчерашний Close и сегодняшний Open, чтобы убедиться в наличии/отсутствия "разрыва".

Попробую набросать своими корявыми руками неизящное решение и выложу на Ваш суд, братцы.

P.S. Ещё раз спасибо Jhonson за простое и эффективное решение первой задачи !
 
Ответить
Сообщение
Quote (Jhonson)
Так у вас там разница в десятые и даже сотые процента?


Это особенности инструмента (я взял первый попавший под руку). Валютный спот круглосуточный и на нём серьёзные гэпы редкость, зато с акциями на рынке пауза с вечера до утра, во время которой настроение участников может измениться, и на открытии следующего дня их ждут "сюрпризы" в несколько процентов.

Quote (Jhonson)
Вводим доп.столбец с формулой: =(B3-E2)/B3


Чёрт ! Гениально! Я пытался запихать формулу в фильтр, когда можно просто отфильтровать формулы в отдельном столбце.
Спасибо тебе, дружище!

Это была первая задача, которая стояла передо мной, братцы.

Что же касается второй задачи:

Quote (Неофит)
В идеале же - нужно настроить табличку таким образом, чтобы она могла сканить (по DDE например) каждый день МНОЖЕСТВО инструментов. Не знаю - КАК можно это организовать, но сам механизм видится таким: табличка проверяет входящие данные с нескольких (десятков/сотен) инструментов по вышеуказанному фильтру (открытие сегодняшнего дня меньше/больше закрытия вчерашнего дня на N%), и формирует список этих инструментов в табличку: первый столбец - имя инструмента , второй столбец (Gap) - значение разрыва между Open сегодняшнего дня и Close вчерашнего дня в процентах (которое может фильтроваться пользователем, редактирующим значение N).


В уже решённой уважаемым Jhonson задаче - "история" (список дат), которая может фильтроваться по размеру Гэпа (разрыва между вчерашним закрытием и сегодняшним открытием).

Задача же, которая теперь стоит передо мной - получить таблицу, которая отображает данные только по разрывам сразу по нескольким инструментам.
Своим насквозь гуманитарным мозгом я вижу только один примитивный и тяжёлый (по весу) способ реализации - книга, на "главную" страницу которой выведена табличка с готовыми результатами (гэпами) по каждому инструменту, которые ссылаются на листы с историческими данными. Количество листов равно количеству анализируемых инструментов (а их может быть многие сотни), а каждый такой лист - это та самая табличка, которую любезно создал уважаемый Jhonson.

Думается, что наверняка есть куда более изящное решение второй задачи, ведь нужно получить СКАНЕР, анализирующий не всю чудовищную массу исторических данных, а только САМО НАЛИЧИЕ разрыва (gap) на сегодняшнем открытии рынка по отдельным инструментам.
Я не знаю - КАК работает DDE, и можно ли, подключившись к источнику котировок, подкачивать НЕ ВСЮ историю дневных котиров, а только две последних строки (вчерашний и сегодняшний день), ведь нас интересуют всего только два значения (вчерашний Close и сегодняшний Open, чтобы убедиться в наличии/отсутствия "разрыва".

Попробую набросать своими корявыми руками неизящное решение и выложу на Ваш суд, братцы.

P.S. Ещё раз спасибо Jhonson за простое и эффективное решение первой задачи !

Автор - Неофит
Дата добавления - 18.02.2012 в 13:46
Неофит Дата: Воскресенье, 19.02.2012, 10:32 | Сообщение № 44
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Вот как-то так получился первый набросок навскидку (вложение).

Понятно, что сам сканер будет потом расширен другими столбцами с разными ссылками и ячейками с интегрированными значениями, но сейчас мне важно получить сам "скелет" будущей таблички, ибо с экселем я пока исключительно на ВЫ (однако, очень надеюсь с ним подружиться) wink

Ещё не нашёл (а очень нужно) - КАК ссылаться на ПОСЛЕДНЮЮ строку диапазона (в смысле - последнюю строку, содержащую значения).
Пока у меня ссылки со страницы "сканер" ведут к конкретным адресам ячеек в последней строке соответствующего листа, но ведь каждый новый день рынок будет открываться, и на каждом листе будет добавляться НОВАЯ строка, инфа из которой нас, собственно, и интересует.

Буду рад любой инфе, братцы. Сам же пока рою дальше, медленно правда, но что делать - "Гуманитарии всех стран - объединяйтесь для изучения Exel, и будет Вам счастье !" wink
К сообщению приложен файл: 6217115.xls (27.0 Kb)


Сообщение отредактировал Неофит - Воскресенье, 19.02.2012, 10:37
 
Ответить
СообщениеВот как-то так получился первый набросок навскидку (вложение).

Понятно, что сам сканер будет потом расширен другими столбцами с разными ссылками и ячейками с интегрированными значениями, но сейчас мне важно получить сам "скелет" будущей таблички, ибо с экселем я пока исключительно на ВЫ (однако, очень надеюсь с ним подружиться) wink

Ещё не нашёл (а очень нужно) - КАК ссылаться на ПОСЛЕДНЮЮ строку диапазона (в смысле - последнюю строку, содержащую значения).
Пока у меня ссылки со страницы "сканер" ведут к конкретным адресам ячеек в последней строке соответствующего листа, но ведь каждый новый день рынок будет открываться, и на каждом листе будет добавляться НОВАЯ строка, инфа из которой нас, собственно, и интересует.

Буду рад любой инфе, братцы. Сам же пока рою дальше, медленно правда, но что делать - "Гуманитарии всех стран - объединяйтесь для изучения Exel, и будет Вам счастье !" wink

Автор - Неофит
Дата добавления - 19.02.2012 в 10:32
Jhonson Дата: Воскресенье, 19.02.2012, 10:57 | Сообщение № 45
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Смотрите так надо:

[vba]
Code
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))
[/vba]
К сообщению приложен файл: 4021532.xls (34.0 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеСмотрите так надо:

[vba]
Code
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))
[/vba]

Автор - Jhonson
Дата добавления - 19.02.2012 в 10:57
Неофит Дата: Воскресенье, 19.02.2012, 11:12 | Сообщение № 46
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Quote (Jhonson)
Смотрите так надо:


Йййййййййййес !!! Очередное спасибо, дружище, за лаконичное решение !!! Именно это и было нужно.

Пойду читать о DDE и вообще.
Наверное, нужно будет облегчить этот сканер, чтобы данные из источника получать только в виде пары последних строк, иначе, учитывая количество инструментов, он станет весить слишком много.

Хотя, если я неправ, и на его весе и быстродействии это не скажется, то иметь в одном файле ещё и исторические данные, наверное, будет удобнее.

Ещё раз спасибо !


Сообщение отредактировал Неофит - Воскресенье, 19.02.2012, 11:16
 
Ответить
Сообщение
Quote (Jhonson)
Смотрите так надо:


Йййййййййййес !!! Очередное спасибо, дружище, за лаконичное решение !!! Именно это и было нужно.

Пойду читать о DDE и вообще.
Наверное, нужно будет облегчить этот сканер, чтобы данные из источника получать только в виде пары последних строк, иначе, учитывая количество инструментов, он станет весить слишком много.

Хотя, если я неправ, и на его весе и быстродействии это не скажется, то иметь в одном файле ещё и исторические данные, наверное, будет удобнее.

Ещё раз спасибо !

Автор - Неофит
Дата добавления - 19.02.2012 в 11:12
kim Дата: Воскресенье, 19.02.2012, 14:33 | Сообщение № 47
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Quote (Jhonson)
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))

Иногда такой способ может давать сбой, на примере показано.
К сообщению приложен файл: 4021532-1-.xls (40.0 Kb)


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
Сообщение
Quote (Jhonson)
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))

Иногда такой способ может давать сбой, на примере показано.

Автор - kim
Дата добавления - 19.02.2012 в 14:33
ferdi Дата: Понедельник, 20.02.2012, 15:26 | Сообщение № 48
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Quote (Неофит)
Ещё не нашёл (а очень нужно) - КАК ссылаться на ПОСЛЕДНЮЮ строку диапазона (в смысле - последнюю строку, содержащую значения).


= ВПР(СЧЁТЕСЛИ(C1:C10;">0")+СЧЁТЕСЛИ(C1:C10;"<0");A1:C10;2;ЛОЖЬ)

Пример прилагается
К сообщению приложен файл: 5384600.xls (18.5 Kb)
 
Ответить
Сообщение
Quote (Неофит)
Ещё не нашёл (а очень нужно) - КАК ссылаться на ПОСЛЕДНЮЮ строку диапазона (в смысле - последнюю строку, содержащую значения).


= ВПР(СЧЁТЕСЛИ(C1:C10;">0")+СЧЁТЕСЛИ(C1:C10;"<0");A1:C10;2;ЛОЖЬ)

Пример прилагается

Автор - ferdi
Дата добавления - 20.02.2012 в 15:26
_Boroda_ Дата: Понедельник, 20.02.2012, 16:13 | Сообщение № 49
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Quote (kim)
Цитата, Jhonson писал(а):
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))
Иногда такой способ может давать сбой, на примере показано.


и ПРОСМОТР тоже иногда сбоит
тогда уж так
Code
{=ИНДЕКС(Газ!G:G;МАКС(ЕСЛИ(Газ!G:G<>"";СТРОКА(D:D))))}
К сообщению приложен файл: 4021532_11.xls (45.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Quote (kim)
Цитата, Jhonson писал(а):
=ИНДЕКС(Газ!G:G;СЧЁТЗ(Газ!A:A))
Иногда такой способ может давать сбой, на примере показано.


и ПРОСМОТР тоже иногда сбоит
тогда уж так
Code
{=ИНДЕКС(Газ!G:G;МАКС(ЕСЛИ(Газ!G:G<>"";СТРОКА(D:D))))}

Автор - _Boroda_
Дата добавления - 20.02.2012 в 16:13
kim Дата: Понедельник, 20.02.2012, 20:46 | Сообщение № 50
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Александр, не сбоит, если правильно задавать диапазоны.
Вот это: =ПРОСМОТР(9E+307;Газ!G:G) будет приблизительно в 50 раз быстрее smile


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеАлександр, не сбоит, если правильно задавать диапазоны.
Вот это: =ПРОСМОТР(9E+307;Газ!G:G) будет приблизительно в 50 раз быстрее smile

Автор - kim
Дата добавления - 20.02.2012 в 20:46
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

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