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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранение в ячейке с формулой предыдущего значения. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сохранение в ячейке с формулой предыдущего значения. (Формулы)
Сохранение в ячейке с формулой предыдущего значения.
NIKE Дата: Понедельник, 18.11.2013, 20:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
У меня такая задача: есть три ячейки A1, A2, A3. В ячейках A1 и A2 - данные, в ячейке A3 нужен результат, а именно: если ячейка A1 удовлетворяет условию, то записать в ячейку A3 значение ячейки A2, иначе - оставить в ячейке A3 её предыдущее значение. Желательно без макроса ибо здесь я совсем не соображаю.
К сообщению приложен файл: 0793176.xls (18.5 Kb)
 
Ответить
СообщениеУ меня такая задача: есть три ячейки A1, A2, A3. В ячейках A1 и A2 - данные, в ячейке A3 нужен результат, а именно: если ячейка A1 удовлетворяет условию, то записать в ячейку A3 значение ячейки A2, иначе - оставить в ячейке A3 её предыдущее значение. Желательно без макроса ибо здесь я совсем не соображаю.

Автор - NIKE
Дата добавления - 18.11.2013 в 20:50
Nic70y Дата: Понедельник, 18.11.2013, 21:01 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8770
Репутация: 2277 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕСЛИ(A1=чему_то;A2;предыдущая_ссылка)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ЕСЛИ(A1=чему_то;A2;предыдущая_ссылка)

Автор - Nic70y
Дата добавления - 18.11.2013 в 21:01
NIKE Дата: Понедельник, 18.11.2013, 21:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за быстрый отклик, я наверное плохо написал что нужно. Проблема в том, что предыдущей ссылки нет, в ячейки A1, A2 настроен экспорт из другой программы. Вообще нужно чтобы если в ячейке A1 секунда=59, то в A3 записывается котировка из A2, и меняется значение только через минуту, т. е. когда в A1 секунда снова будет равна 59. Получается что при постоянно изменяющихся данных в A1 и A2, значение в A3 меняется примерно раз в минуту (за исключением, когда в 59 секунду(за 1 секунду) котировка изменилась несколько раз).
 
Ответить
СообщениеСпасибо за быстрый отклик, я наверное плохо написал что нужно. Проблема в том, что предыдущей ссылки нет, в ячейки A1, A2 настроен экспорт из другой программы. Вообще нужно чтобы если в ячейке A1 секунда=59, то в A3 записывается котировка из A2, и меняется значение только через минуту, т. е. когда в A1 секунда снова будет равна 59. Получается что при постоянно изменяющихся данных в A1 и A2, значение в A3 меняется примерно раз в минуту (за исключением, когда в 59 секунду(за 1 секунду) котировка изменилась несколько раз).

Автор - NIKE
Дата добавления - 18.11.2013 в 21:19
AndreTM Дата: Понедельник, 18.11.2013, 22:19 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
NIKE, вы немного не так подходите.
У вас DDE-ссылки на данные внешней программы, соответственно, в Excel вы данные имеете в реалтайме, НО! - формулы здесь неприменимы в принципе. Потому что формулы умеют обрабатывать уже имеющийся набор данных, но не умеют добавлять новые данные (например, вставлять строки, или заполнять ячейки вне самой ячейки с формулой).
Поэтому нормальная реализация DDE-клиента возможна только с использование макросов. Но тогда реализация достаточно проста - реакция настраивается либо на событие изменения данных в ячейке(ах), либо по таймеру. И в момент возникновения события - конкретные текущие значения могут быть соответствующим образом обработаны (переписаны в другие ячейки, сохранены в накопительной базе (/массиве/коллекции/etc)), с ними могут быть проведены необходимые действия по анализу и т.д.
Например, ваша обработка будет заключаться в том, чтобы хранить предыдущее значение даты-времени и котировки, и при изменении значения минуты в DateTime - сбрасывать последнее сохранённое значение котировки в нужную ячейку.

Или я где-то чего-то не понимаю...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеNIKE, вы немного не так подходите.
У вас DDE-ссылки на данные внешней программы, соответственно, в Excel вы данные имеете в реалтайме, НО! - формулы здесь неприменимы в принципе. Потому что формулы умеют обрабатывать уже имеющийся набор данных, но не умеют добавлять новые данные (например, вставлять строки, или заполнять ячейки вне самой ячейки с формулой).
Поэтому нормальная реализация DDE-клиента возможна только с использование макросов. Но тогда реализация достаточно проста - реакция настраивается либо на событие изменения данных в ячейке(ах), либо по таймеру. И в момент возникновения события - конкретные текущие значения могут быть соответствующим образом обработаны (переписаны в другие ячейки, сохранены в накопительной базе (/массиве/коллекции/etc)), с ними могут быть проведены необходимые действия по анализу и т.д.
Например, ваша обработка будет заключаться в том, чтобы хранить предыдущее значение даты-времени и котировки, и при изменении значения минуты в DateTime - сбрасывать последнее сохранённое значение котировки в нужную ячейку.

Или я где-то чего-то не понимаю...

Автор - AndreTM
Дата добавления - 18.11.2013 в 22:19
NIKE Дата: Вторник, 19.11.2013, 14:50 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AndreTM, вы всё правильно поняли. А можете помочь с написанием макроса применимо к моей задаче? Все что мне нужно это как вы написали - "при изменении значения минуты в DateTime - сбрасывать последнее сохранённое значение котировки в нужную ячейку".
 
Ответить
СообщениеAndreTM, вы всё правильно поняли. А можете помочь с написанием макроса применимо к моей задаче? Все что мне нужно это как вы написали - "при изменении значения минуты в DateTime - сбрасывать последнее сохранённое значение котировки в нужную ячейку".

Автор - NIKE
Дата добавления - 19.11.2013 в 14:50
Hugo Дата: Вторник, 19.11.2013, 15:25 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
"событие изменения данных в ячейке(ах), либо по таймеру" - думаю нет.
событие изменения данных не произойдёт, ну а таймер "неповоротлив".
Нужно срабатывать либо по на событие пересчёта (завязать на эту ячейку любую формулу), либо например на событие текстбокса (завязать на ячейку текстбокс).
Есть ещё инструмент SetLinkOnData, но это сложно :(


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение"событие изменения данных в ячейке(ах), либо по таймеру" - думаю нет.
событие изменения данных не произойдёт, ну а таймер "неповоротлив".
Нужно срабатывать либо по на событие пересчёта (завязать на эту ячейку любую формулу), либо например на событие текстбокса (завязать на ячейку текстбокс).
Есть ещё инструмент SetLinkOnData, но это сложно :(

Автор - Hugo
Дата добавления - 19.11.2013 в 15:25
NIKE Дата: Вторник, 19.11.2013, 15:43 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А нельзя сделать так: пусть в ячейку A1 транслируется время, в ячейку A2 транслируется цена. Завести переменную (например - x), в которую будет записываться следующее: если секунда(A1)=59, то x присвоить значение A2. И как -то этот x транслировать в ячейку A3?
 
Ответить
СообщениеА нельзя сделать так: пусть в ячейку A1 транслируется время, в ячейку A2 транслируется цена. Завести переменную (например - x), в которую будет записываться следующее: если секунда(A1)=59, то x присвоить значение A2. И как -то этот x транслировать в ячейку A3?

Автор - NIKE
Дата добавления - 19.11.2013 в 15:43
AndreTM Дата: Вторник, 19.11.2013, 16:13 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Hugo, событие изменения данных точно не происходит при работе с DDE-сервером?
И естественно, можно же завязать копию данных, типа в B1: =A1, и срабатывать уже на ней. В любом случае, путь есть.

NIKE, не упирайтесь со своим вИдением вопроса. Начнём с того, что секунда=59 может и не быть: таймер может перейти сразу с 58-й секунды на новую минуту, могут быть задержки в канале ИНета - и что, пропустите обновление?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеHugo, событие изменения данных точно не происходит при работе с DDE-сервером?
И естественно, можно же завязать копию данных, типа в B1: =A1, и срабатывать уже на ней. В любом случае, путь есть.

NIKE, не упирайтесь со своим вИдением вопроса. Начнём с того, что секунда=59 может и не быть: таймер может перейти сразу с 58-й секунды на новую минуту, могут быть задержки в канале ИНета - и что, пропустите обновление?

Автор - AndreTM
Дата добавления - 19.11.2013 в 16:13
NIKE Дата: Вторник, 19.11.2013, 16:39 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
То что 59 секунды может не быть согласен, но как правило бывает, т. к. инструмент очень ликвидный. (ну да это я так -мои сложности). Вообще рассчитывал что задачка не трудная и решение с ходу найдётся. Может ли кто-то помочь с решением, в виде конкретной реализации с кодом?
 
Ответить
СообщениеТо что 59 секунды может не быть согласен, но как правило бывает, т. к. инструмент очень ликвидный. (ну да это я так -мои сложности). Вообще рассчитывал что задачка не трудная и решение с ходу найдётся. Может ли кто-то помочь с решением, в виде конкретной реализации с кодом?

Автор - NIKE
Дата добавления - 19.11.2013 в 16:39
Hugo Дата: Вторник, 19.11.2013, 16:50 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
типа в B1: =A1, и срабатывать уже на ней.

так тоже не будет события изменения. А вот событие пересчёта будет.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение
типа в B1: =A1, и срабатывать уже на ней.

так тоже не будет события изменения. А вот событие пересчёта будет.

Автор - Hugo
Дата добавления - 19.11.2013 в 16:50
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сохранение в ячейке с формулой предыдущего значения. (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

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