Вопрос или проблема
Можно ли перетаскивать формулу EG. =IF(AC46="","",IF(AC46=1,"W",IF(AC46=0,"L","")))
так, чтобы она увеличивалась на 21 вместо 1, чтобы следующая строка была =IF(AC67="","",IF(AC67=1,"W",IF(AC67=0,"L","")))
, затем =IF(AC88="","",IF(AC88=1,"W",IF(AC88=0,"L","")))
и так далее? Это довольно трудоемко делать для каждой ячейки отдельно.
- Введите то, что указано ниже в ячейку A2,
=OFFSET($A$10,ROWS($A$2:A2)*$B$2,0,1,1)
- и число 1 в ячейку B2
- Затем также в ячейке A11 введите число 1,
- A12:
=A11+1
, - протяните A12 на любое количество ячеек, которое вы хотите
- Протяните A2 до A10.
Измените число в B2, чтобы увидеть, как A2 до A10 изменяют значения.
Успешный тест в LibreOffice
B2 определяет,
какое из значений в A11 и ниже
показать в A2 до A10.
Замените A46
в вашей первой формуле на формулу из шага 1 (очевидно, удалите =
)
Либо замените $B$2
напрямую на 67
,
или поместите 67
в любую ячейку и замените $B$2
на фиксированную ссылку
(абсолютную, с $
, как показано для B2) на эту ячейку.
Ответ или решение
Для того чтобы создать формулу в Microsoft Excel 2010, которая будет автоматически увеличивать номер строки на 21 при перетаскивании, вы можете воспользоваться следующими шагами. Это позволит избежать трудоемкого редактирования каждой ячейки вручную.
-
Ввод Формулы:
В ячейке A2 (или любой другой ячейке, в которую вы хотите поместить формулу) введите следующую формулу:=IF(OFFSET($AC$46, (ROW(A1)-1)*21, 0) = "", "", IF(OFFSET($AC$46, (ROW(A1)-1)*21, 0) = 1, "W", IF(OFFSET($AC$46, (ROW(A1)-1)*21, 0) = 0, "L", "")))
Обратите внимание, что здесь мы используем функцию
OFFSET
, чтобы изменять строку на 21 каждую итерацию, иROW(A1)
, чтобы динамически получать номер текущей строки при копировании вниз. -
Копирование Формулы:
После ввода формулы в A2, вы можете просто перетащить маркер заполнения (маленький квадрат в правом нижнем углу выделенной ячейки) вниз до нужного количества строк. Excel автоматически обновит формулу, увеличивая номер строки на 21 в каждом шаге. -
Пример:
Если вы начнете с ячейки A2, после перетаскивания вы получите:- A2: =IF(OFFSET($AC$46, (ROW(A1)-1)*21, 0) = "", "", IF(…))
- A3: =IF(OFFSET($AC$67, (ROW(A2)-1)*21, 0) = "", "", IF(…))
- A4: =IF(OFFSET($AC$88, (ROW(A3)-1)*21, 0) = "", "", IF(…))
И так далее.
Этот метод позволяет вам эффективно масштабировать формулу, не вводя каждую строку вручную. Вы только должны убедиться, что исходная ячейка (AC46) находится на правильном месте в вашей таблице и содержит корректные данные для обработки.
Примечание: Если у вас есть особые требования к началу с другой строки, просто измените 46 на нужный номер строки в формуле.