Я разработал две формулы для вас. Первый для столбца А. Введите его в A12 и скопируйте 6 строк для каждой строки в вашем диапазоне Item_Sales
.
=IF(MOD(ROW(),6)=0,INDEX(Item_Sales,INT((ROW()-12)/6)+1,1),IFERROR(INDEX({"Total quantity","Total Sales","Total COGS"},MOD(ROW(),6)),""))
Обратите внимание, что число 12, где бы оно ни встречалось в формуле, относится в строке 12, где начинается ваш названный диапазон "Artikel". Это первая строка, где должен появиться первый элемент в «Item_Sales». Число 6 относится к числу строк в одном наборе данных, по существу строк (12:17) для первого набора, строк (18:23) для второго et c. Ваша строка 16 скрыта, строка 17 пуста. Если вы хотите, чтобы формула что-то там записывала, разверните массив {"Total quantity","Total Sales","Total COGS"}
Другая формула для ячейки B13. Оттуда вы можете скопировать его в B14: B15. Вы также можете скопировать B13: B15 в B19, но в ее нынешней форме формула выдаст ошибку в B16: B18.
=INDEX(Item_Sales,INT((ROW()-12)/6)+1,MOD(ROW(),6)+1)*IF(ISNUMBER(B12),B12,1)
Опять же, значения чисел 12 и 6 такие же, как объяснено выше. Вам нужно будет изменить их, если ваши данные или формат отображения изменится в будущем.
Для вашего лучшего понимания я использовал функцию INDEX, которая берет 2D-диапазон и извлекает из него значения на основе координат. INDEX(Item_Sales, 1, 2)
возвращает значение ячейки в первой строке, во втором столбце диапазона, определенного как «Item_Sales». Конечно, эти числа можно вычислить.
Другие используемые мной функции - INT () и MOD (). Int (5/6) возвращает 0, как и INT (1/6). Эта функция может использоваться, чтобы найти первую строку в наборе повторений каждые 6 строк. INT (13/6) возвращает 2, INT (19/6) = 3. Эти вычисления определяют номера строк в Item_Sales
, на которые ссылается Artikel
.
MOD возвращает модуль деления. MOD(5, 6)
возвращает 5, MOD(13,6)
возвращает 1. Если нет модуля, возвращаемое значение равно 0. С помощью этой информации вы можете многократно считать от 0 до 6 и перезапускать с 0.