В формуле вашего листа используется «неявная ссылка» для Листа1!Обычно вы должны использовать
=SUMIF(Sheet2!B:B; Sheet1!A2; Sheet2!C:C)
... в Sheet1! C2 (или любой другой ячейке) и заполнять для Sheet1! A3, Sheet1! A4 и т. Д. В качестве критериев.Не существует «неявной ссылки», потому что вы явно ссылаетесь на одну конкретную ячейку в столбце листа Sheet1. Используя
=SUMIF(Sheet2!B:B; Sheet1!A:A; Sheet2!C:C)
... в качестве стандартной формулы, вы неявно ссылаетесь на ячейку в столбце A, которыйв той же строке листа, что и формула.Когда формула находится в строке 5, в качестве критерия указывается Sheet1! A5;когда она находится в строке 99, критерием становится Sheet1! A99.
Концепция «неявной ссылки» ( aka «предполагаемая ссылка») может быть легко продемонстрирована с помощью этого простого упражнения.
- Поместите 5, 10, 15, ... 40, 45, 50 в ячейки A1: A10.
В любом неиспользуемом столбце справа выберите строку между1 и 10 и вставьте в формулу
=a:a
Результатом будет значение из столбца A в любой строке, в которую вы вводите формулу.
Без ячейки (в VBA, известной как Application.Caller) для предоставления неявной или предполагаемой строки формула становится запутанной в отношении того, на какую ячейку в столбце A неявно ссылаются.Используя приведенный выше упрощенный пример, VBA не имеет ссылки на строку, чтобы определить, как преобразовать A: A в ссылку на одну ячейку.Мое лучшее предположение в том, что он пытается ссылаться на Sheet1! A1 или Sheet1! A1048576 в качестве критерия.
Надеюсь, я достаточно объяснил эту концепцию.Комментарии приветствуются, и я постараюсь ответить.