Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Жестко=) зафиксировать формулу в Эксель  (Прочитано 9071 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SCRIBE
Гость
« : 28-01-2016 12:46 » 

Привет всем.
Вопрос не совсем для программистов но гугл в ответ на этот вопрос отчаянно рекомендует клавишу F4 и это не поможет=)

Есть такая штука в эксель как Microsoft Query (ODBC). Если кто не знает, ее суть в выполнении вашего запроса к базе данных и возврата результата в ваш любимый эксель. В этой штуке есть возможность указывать значения к аргументам в запросе через ячейки таблицы самого экселя. В итоге получается запрос с условием например:
where arcdate = '2015-12-31'
так вот, если в этом конструкторе запросов значение аргумента указать таким способом:
where arcdate = ?
то появиться возможность назначить на его место просто ячейку и изменяя ее, автоматически изменяется запрос и соответственно результат.

Проблема:
Пока все хорошо, все работает, но мы, к этому результату справа, написали несколько формул и растянули их на весь диапазон результата запроса. Вот мы изменяем дату в ячейке, запрос обновился, подтянулись данные но вот беда, данных на одну строку меньше, формула что получала туда значение поломалась (вместо ячейки напр. "$С5", появилось "#ССЫЛКА"). Даже когда изначальные данные вернуться на место и количество строк результата вернется, там все же останется та "#ССЫЛКА" и пересчета никакого не произойдет.

Вопрос:
Можно ли как-то зафиксировать эту формулу, чтобы она не обращала внимания, какие это данные в этой ячейке, из Microsoft Query или сводной, или любого другого источника.

П.С.
Я вручную писал координаты ячеек, т.е. там нет что-то типа "значение запроса АБРАКАДАБРА", а тупо "$C5".
« Последнее редактирование: 28-01-2016 12:49 от ..::SCRIBE::.. » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 28-01-2016 12:51 » 

это подойдёт ?


* Безымянный.png (11.43 Кб - загружено 1146 раз.)
Записан

SCRIBE
Гость
« Ответ #2 : 28-01-2016 13:01 » 

Нет, проверить что результат ошибочный не составляет труда, беда в том что когда данные слева уже есть, они не будут браться в учет, в формуле стоит уже не ячейка, а #ССЫЛКА.

Добавлено через 13 минут:
Нашел все-таки ответ, есть формула ДВССЫЛ("C5"), "C5" у нас текстовое название ячейки.
В итоге получается в ячейке "A1" храниться само текстовое название ячейки, например "B1", теперь "B1" может быть хоть кем угодно, данные я оттуда получу формулой в ячейке "C1" = ДВССЫЛ(A1). Такой себе интерфейс=)

Добавлено через 5 минут и 44 секунды:
ну как всегда, расписал вопрос, потом понял как его правильно задать гуглу  А черт его знает...
« Последнее редактирование: 28-01-2016 13:20 от SCRIBE » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 29-01-2016 05:54 » 

..::SCRIBE::.., а я так и не понял, в чём была проблема Отлично
Записан

HandKot
Молодой специалист

ru
Offline Offline

« Ответ #4 : 29-01-2016 09:32 » 

я тоже.
Для того чтобы при протягивании формулы или удаления строк формула не менялась, ставят "якоря"
для примера "$С$5"
Но если решение нашлось, то и ладушки  Ага
Записан

I Have Nine Lives You Have One Only
THINK!
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 29-01-2016 11:44 » 

HandKot, ну, судя по
"$C5".
- я так понимаю, что он в курсе про якоря.
Записан

SCRIBE
Гость
« Ответ #6 : 29-01-2016 12:12 » new

Ну мне честно лень рисовать gif анимацию  Отлично
Вот вместо ваших якорей с ссылкой на ячейку, появляется просто #ССЫЛКА. Было =ВПР($C$5;..., стало =ВПР(#ССЫЛКА;... Оно никуда не ведет и ничего по ней не считается, и не подтягивает. Лечиться только если формулу заново протянуть ну или сделать как я выше.

Добавлено через 26 минут и 53 секунды:
Изначальные данные:
Запрос там примерно такой: "select top 5 from whatever where arcdate = ?"

Меняю запрос на: "select top 3 from whatever where arcdate = ?"

Зафиксировать их якорями нельзя никак, даже если попытаться. Что прикольно оно их даже сдвигает вниз. Такая вот особенность.
« Последнее редактирование: 29-01-2016 12:39 от SCRIBE » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines