Страницы: 1
RSS
Извлечение номеров листов книги
 
Я очень упростил мой файл и поэтому не будет видно, какую задачу я пытаюсь обработать. Так, что не спрашиваете, зачем тебя это функция и т.д...
Короче, в прикрепленном файле на листе "sum" во второй колонке пытаюсь хранить названия право расположенных от него листов.
В третьей колонке расположены числа (100, 200, 300).

проблема 1.
На листах "03.04.2015", "05.04.2015" в ячейках $c$1 должно получатся номера листов (соответственно 1 и 3), но там пишутся 4.
проблема 2.
Кокда я пытаюсь найти ошибку и пользуюсь способом Формулы/вычислить формулы, в последнем шагу оказывается, что 2+1=4 и 0+1=4.
проблема 3.
Теперь пытаюсь по другому найти ошибку. На листе "03.04.2015" в ячейке $b$1 вошел в режим редактирования и просто нажал на клавише ввода. Как будто все исправилось, но теперь если загляните в лист "sum", вы найдете, что оглавление листов исчезло. В формулах оглавлений что все в порядке (по моему!), можно убедится так: надо просто войти в одну из этих ячеек двойном кликом и  нажать на клавише ввода.
И все начинается с начало...

Извините, но я не могу никак объяснить такие поведения Екселя. Может, кто нибудь поможет мне, бедному программисту?
Заранее, всем спасибо :)
 
 
В функции ЯЧЕЙКА() нужен второй аргумент - ссылка на любую ячейку листа, например,
Код
ЯЧЕЙКА("filename";B1)
 
Браво, Pelena!!!
Но почему в синтаксис второй аргумент указан в квадратных скобках? (это так, просто - а главное, что вы мне помогли одним ходом!!!)
Спасибо большое и вам и всем, кто руководит и участвует в форуме!!!
 
Этот аргумент не является обязательным, но из справки
Цитата
Ячейка, сведения о которой требуется получить. Если этот аргумент опущен, сведения, указанные в аргументе тип_сведений, возвращаются для последней измененной ячейки
То есть изменили Вы ячейку на первом листе и все функции ЯЧЕЙКА() без второго аргумента вернули сведения именно об этом листе, а не о том, где написана функция
 
Слов не хватает!!!
Большое спасибо!!!
 
Цитата
Pelena написал: а не о том, где написана функция
Елена, тут момент один. Если не указывать второй аргумент, то функция вернет имя активного листа, а не того, в котором функция.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я так понимаю, что не просто активного, а того, где произошли последние изменения. Но спорить не буду, а проверять уже лень)
Изменено: Pelena - 11.04.2015 23:17:34
 
У меня выводил всегда имя именно активного(по крайней мере не так давно специально проверял на 2010 - Windows). Можешь попробовать с применением VBA. Создать несколько книг, записать формулу. Ничего не меняя в самих книгах просто активировать разные листы и книги, произвести пересчет формул и через Immediate Window вывести значение ячейки с формулой.
Или даже без VBA. Так же создать несколько книг и листов и активировать разные. Произвести пересчет и после каждого пересчета перейти на лист с формулой и посмотреть значение.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Правильно, ключевое слово "пересчёт". В моём понимании пересчёт - это тоже изменение, нет?
Дмитрий, думаю, мы говорим об одном и том же, просто я, видимо, не точно использую терминологию
 
Для меня пересчет - это пересчет формул, без внесения изменений на лист. К тому же, т.к. это все же формула - она должна возвращать значение именно по пересчету. А пересчитываться она может даже при внесении изменений на другом листе-книге. Что может повлечь неверный результат в итоге. Я лишь на этом хотел заострить внимание.
И еще: я, видимо, вчера не совсем внимательно твой ответ прочитал(как-то иначе воспринял) - отсюда и дискуссия :-)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх