Необходимо оптимизировать формулы для автоматического обновления по мере добавления листов

#excel

Вопрос:

Итак, в настоящее время у меня есть электронная таблица для ежемесячной отчетности, в которой указаны VLOOKUP месяцы и значения. Данные собираются и представляются ежемесячно, а затем вводятся в основную книгу, которая вычисляет все показатели для основных диаграмм. То, на чем я основывался If(AND) , — это заявление, а затем каждый месяц добавляю новый лист. Формула проверяет столбцы 7 и 8 на наличие значений на каждой странице и использует значение в столбце 8 только в том случае, если значение в столбце 7 >0.

В настоящее время формула выглядит следующим образом:

=IF(AND(VLOOKUP($A2,December_2020!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,January_2021!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,February_2021!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,March_2021!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,April_2021!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,May_2021!$A$5:$AE$62,7,FALSE)>0,VLOOKUP($A2,June_2021!$A$5:$AE$62,7,FALSE)>0),SUM(VLOOKUP($A2,December_2020!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,January_2021!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,February_2021!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,March_2021!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,April_2021!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,May_2021!$A$5:$AE$62,7,FALSE),VLOOKUP($A2,June_2021!$A$5:$AE$62,7,FALSE)),VLOOKUP($A2,INDIRECT(INDEX(wshNamesLast,COUNTA(wshNamesLast) RAND()*0)amp;»!$A$8:$AF$62″),8,FALSE))

Мне нужно убедиться, что он автоматически вычисляет лист. Обновление формулы каждый месяц утомительно и подвержено человеческим ошибкам, но добавление месяцев для чистых листов сбивает мои расчеты, так как я получаю отчеты из двух разных источников для каждой учетной записи.

Вопрос: Как я могу упростить эту формулу, чтобы листы по-прежнему могли правильно вычисляться с любым количеством листов в книге?

Комментарии:

1. проверьте, возвращает ли 3d -суммирование значение, большее 0?

2. Составьте список имен листов и создайте vlookup с помощью косвенного(). Затем просто проверьте список результатов — что if() неуклюж и потерпит неудачу…