Страницы: 1
RSS
Ограничение начальной и конечной строки массива по названию в ячейке, ограничение начальной и конечной строки массива по названию в ячейке
 
Здравствуйте!
Мне необходимо ограничить массив данных, например для ВПР, по наименованию внутри ячеек.
У меня есть торговые точки, у каждой точки есть статьи расходов. Названия торговых точек идут по порядку, под каждой торговой точки идут её статьи расходов. Статьи могу повторяться, а могут нет. Если в этом месяце торговая точка что-либо тратила, то строка с соответсвующей статьёй есть, если в предыдущем месяце по данной статье расходов не было, то 1С не выгружает эту строчку вообще. Таким образом количество строк каждый раз разное.

Мне необходимо сравнить данные за разные месяцы или годы.

Я предполагаю, что это можно сделать ВПР, но нужно ограничить верх и них его массива, но не конкретными ячейками (количество строк меняется), а исходя из названий.

Названия всегда одинаковые и всегда по порядку, и можно указать формуле, чтоб искала значения между "Торговая точка 1" и "Торговая точка 2".

Если предложите кардинально другой способ сравнения данных, так же буду крайне признателен!

Извините, если такой вопрос уже обсуждали, но я не смог самостоятельно найти в поиске по нему данных (или не смог правильно сформулировать).  
 
Здравствуйте!
Я думаю что правильнее заказать выписку в другом виде.
А для такой можно написать UDF. Или макросом обработать.
С другой стороны - если у всех точек всегда есть все виды деятельности, то достаточно найти начало диапазона, в помощь ПОИСКПОЗ и ДВССЫЛ.
Хотя если есть полный список точек в правильном порядке  -то и для ВПР можно задать конкретный диапазон используя ПОИСКПОЗ и ДВССЫЛ.
Но ДВССЫЛ летучая, если много формул - -будет подтормаживать.
А для
Цитата
Иван написал:
необходимо сравнить данные за разные месяцы или годы
удобнее использовать что-то из BI.
Изменено: Hugo - 05.11.2020 01:49:07
 
Цитата
Иван написал:
Мне необходимо сравнить данные за разные месяцы или годы.
пример с одним месяцем че сравнивать не понятно
по проблеме самое простое введите доп столбец в котором будут отражаться наименования точек
Лень двигатель прогресса, доказано!!!
 
ну от  INDIRECT не сложно избавится
=VLOOKUP(I2;INDEX(B:B;MATCH(H3;$B$1:$B$130;0)):INDEX(D:D;IFERROR(MATCH(H4;$B$1:$B$130;0);130));3;0)
Но если точки не упорядочены то это не подойдет.

Если список точек имеется, то
=SUM(IFERROR((LOOKUP(ROW(B3:B130);ROW(B3:B130)/COUNTIF(H13:H18;B3:B130);B3:B130)=H3);)*(I2=B3:B130)*D3:D130)
По вопросам из тем форума, личку не читаю.
 
Цитата
Иван написал:
необходимо сравнить данные за разные месяцы или годы
таких данных не нашел. Если один месяц - один лист - возможно будет интересен PQ + сводная
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
возможно будет интересен
- очень интересно, пытаюсь вот изучить.
Но в 2010 ошибка:
Expression.Error: Аргументы 1 были переданы функции, которая ожидает 2.
Сведения:
   Pattern=
   Arguments=List
 
Hugo, на каком шаге ругается?
Соблюдение правил форума не освобождает от модераторского произвола
 
Так в целом запрос с ! и ничего не обновляется.
Хотя если перейти к ошибке - прыгает на начало: http://prntscr.com/vdtu4j
Но возможно потому что у меня 2010 и при открытии всегда предупреждение что проблемы с совместимостью.
Вообще конечно в целом это космос... сам запрос в целом.
И кстати по тексту запроса вопросов нет, синтаксические ошибки не обнаружены.
Изменено: Hugo - 05.11.2020 10:48:21
 
del
Изменено: buchlotnik - 23.08.2021 18:00:08
Соблюдение правил форума не освобождает от модераторского произвола
 
Спасибо, взлетело.
Страницы: 1
Наверх