[Excel] Как заставить формулу всегда ссылаться на последний лист?



Answers

Вы можете использовать обходное решение XLM / Range Name для этого, а не VBA, если вы предпочитаете

  1. Определите имя диапазона, wshNames, чтобы удерживать массив имен листов
    =RIGHT(GET.WORKBOOK(1),LEN(GET.WORKBOOK(1))-FIND("]",GET.WORKBOOK(1)))
    Использует технику Дэвида Хагера
  2. Используйте эту формулу Excel для извлечения последнего имени листа из массива имен листов
    =INDEX(wshNames,COUNTA(wshNames)+RAND()*0)

Эта формула говорит о всех листах, а затем возвращает последний (используя COUNTA). Часть RAND()*0) гарантирует, что эта формула является изменчивой и обновляется, когда Excel делает

Если вы используете VBA, вам нужно будет убедиться, что функция GETLASTWSNAME нестабильна, то есть она обновляется, когда происходят изменения.

Question

У меня в настоящее время есть 2 листа в моем файле excel.

Первый лист известен как страница «Сводка», на которой отображается итоговый результат второго листа.

Второй лист известен как необработанные данные. Примером может служить столбец Fruits.

Apple
Apple
Apple
Banana
Banana
Pear

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

=COUNTIF(Fruits!A2:A7,"Apple")
=COUNTIF(Fruits!A2:A7,"Banana")

Я хочу сделать это, возможно ли мне запрограммировать формулу так, чтобы каждый раз, когда я добавляю новый лист необработанных данных (3-й лист), статистика на первом листе может ссылаться на последний лист, чтобы получить информацию.

(Предполагая, что позиционирование данных и все они совпадают со вторым листом).

Я сделал до сих пор функцию GETLASTWSNAME() которая всегда может получить имя последнего рабочего листа. но мне кажется невозможным вложить функцию внутри самой формулы countif.

=COUNTIF((GETLASTWSNAME())!A2:A7,"Apple)

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

Приветствуются любые комментарии. Благодаря!