Страницы: 1
RSS
Получить адрес ячейки формулой
 
Всем привет!

Как вставить в адрес ячейки формулу?
Поясню - для использования в качестве диапазона в формуле ПОИСКПОЗ мне нужно получить адрес последней заполненной ячейки
Для этого я использую СЧЁТЗ(), получается адрес А+СЧЁТ()
Как мне это грамотно записать в формуле?
 
Привет. Почитайте тут:
Поиск последнего значения в строке или столбце функцией ПРОСМОТР
или тут:
Динамический диапазон с автоподстройкой размеров
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
для того чтобы в формуле сослаться на ячейку, ядрес которой нужно предварительно вычислить используйте ИНДЕКС
Цитата
portmone написал:
Как мне это грамотно записать в формуле?
любая формула, которая возращает желаемый результат - есть грамотно записанная формула
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо за ответы!

Использую конструкцию с ИНДЕКС, но в моём случае она почему-то не отрабатывает так, как нужно. Поясню - использую конструкцию
Код
=СУММПРОИЗВ((B2:B531=L8)*(--(ПОИСКПОЗ(C2:C531;C2:C531;0)=(СТРОКА(C2:C531)-1)))*(A2:A531>=M8)*(A2:A531<=N8))

для расчёта количества товара в выбранном магазине за период времени. C531 - это конец таблицы, последнее значение. Если я удаляю или добавляю значения в таблицу - формула не работает, Н/Д (что и правильно). Если я подставляю формулу с ИНДЕКСОМ вместо C531 - ситуация такая же, пока 531 элементов в таблице, всё работает. С А531, В531 такая же ситуация. Что-то удаляю или добавляю, то перестаёт работать. Как мне сделать, чтобы при добавлении или удалении элементов формула сохраняла свою работоспособность?
Изменено: portmone - 07.04.2018 16:29:25
 
напишите в любую ячейку =индекс(С:С;531)
потом добавляйте, удаляйте сколько угодно строк
потом в ячейку С531 напишите Вася
а теперь помотрите что в ячейке,, в которой написано =индекс(С:С;531)
и что там???????????????????????????????????????????????????????
если Вы не умеете написать правильную формулу, это не значит, что Excel не умеет правильно считать.
разницу улавливаете между "Excel не умеет правильно считать" и "я не умею написать правильную формулу"
проблема в том, что "Excel не умеет"  или в том что "кто-то не умеет пользоваться возможностями Excel"?
извините.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
а если конкретно по вопросу
Цитата
portmone написал:
адрес А+СЧЁТ()
то есть ДВССЫЛ("A"&СЧЁТ())
 
Ігор Гончаренко, вдохните, выдохните. Спасибо за Ваш фидбек, но я и не говорил, что Excel не умеет, я прекрасно знаю, что мои навыки работы в этом ПО
не идеальны, поэтому я здесь.
Dima S, спасибо большое!

Все вышеперечисленные способы отлично работают, если их просто вставить в ячейку. Но проблема в том, что если эти формулы вставить в большую формулу, что я указал выше, на выходе формируется ошибка Н/Д. Подскажите, в чем может быть ошибка.

p.s. кажется, разобрался, спасибо всем
Изменено: portmone - 07.04.2018 16:30:07
 
Цитата
portmone написал: кажется, разобрался
Это прекрасно
Цитата
portmone написал: Подскажите, в чем может быть ошибка.
во всем. Начинаем от того что ошибка не прочитать правила форума, до всевозможных проблем с работой INDEX с массивами ....

Не в обиду  Dima S, .ДВССЫЛ("A"&СЧЁТ()) Не лучший вариант и конструкци  C2:index(C:C;Count(C:C)) скорее всего даст результат (без примера не видно) и не будет улетать.  
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
ДВССЫЛ("A"&СЧЁТ()) Не лучший вариант
согласен, но это первое что пришло в голову)
в таких случаях про ИНДЕКС не сразу вспоминаешь)
Страницы: 1
Наверх