Как автоматически заполнить формулу, чтобы пропустить строку

Как автоматически заполнить формулу, чтобы пропустить строку

Я пытаюсь перетащить данные из главного листа Excel в другой файл Excel, но числа пропускаются в каждой строке.

Это то, что я пытаюсь сделать.

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

во время автозаполнения происходит следующее

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E16+'[MASTER ITEM LIST 2024.xlsx]'!$E17

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

Я также пробовал удвоить строки и заставить его распознавать шаблон пропуска, но вот что у меня получилось

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

='[MASTER ITEM LIST 2024.xlsx]'!$E21+'[MASTER ITEM LIST 2024.xlsx]'!$E23

решение1

Вот один из способов решения с использованием INDIRECT()функции:

введите описание изображения здесь


• Формула, используемая в ячейкеA1

=INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2-1)+14)+
 INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&ROW()*2+14)

Или, немного короче:

=SUM(INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2+{-1,0})+14))

Примечание:Вышеуказанная формула вернет ошибку -->, #REF!если MASTER ITEM LIST 2024.xlsxне открыт во время работы с файлом, в который введена формула. Она работает, пока оба файла открыты.

Еще один недостаток - это используемая функция. INDIRECT()Функция изменчива по своей природе, то есть она всегда будет пересчитываться при каждом изменении в любой открытой книге, а также замедляет работу Excel, поскольку она однопоточная. Второй метод использования INDIRECT()потребует нажатия CTRL+ SHIFT+ ENTERпри выходе из режима редактирования, в зависимости от версии.


Альтернативой является использование TOCOL()+ WRAPROWS()с BYROW()функцией.

введите описание изображения здесь


• Формула, используемая в ячейкеA1

=LET(
     x, TOCOL('[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E:$E,1),
     y, ROWS(x),
     BYROW(WRAPROWS(IF(ISEVEN(y),x,VSTACK(x,0)),2),SUM))

Приведенная выше формула работает с , Office Insidersно чтобы она работала для , Current Channel Usersнеобходимо MS365добавитьLAMBDA()

=LET(
     x, TOCOL('[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E:$E,1),
     y, ROWS(x),
     BYROW(WRAPROWS(IF(ISEVEN(y),x,VSTACK(x,0)),2),LAMBDA(a,SUM(a))))

Связанный контент