Я пытаюсь перетащить данные из главного листа 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))))