Репликация записей в Excel - PullRequest
1 голос
/ 28 октября 2011

У меня есть набор строк в Excel, которые содержат данные за определенный месяц. Месяц определяется столбцом с именем «Месяц», и данные в этом столбце имеют формат mm/yyyy.

Теперь я хотел бы дублировать эти записи по вертикали для каждого из следующих 11 месяцев, и каждый раз, когда он дублируется, строки месяца должны меняться для этого месяца (например, во второй раз, когда они дублируются, строки месяца должны показывать Февраль, а затем в следующий раз март и т. Д.).

Какой лучший способ сделать это, кроме копирования и вставки 11 раз и смены месяцев вручную?

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Подход OFFSET требует только двух формул, скопированных на новый лист, для настройки расширенного набора данных

Этот образец предполагает

  • Ваш текущий лист называется sheet1
  • данные за месяц, мм / гггг начинаются со строки 2 и находятся в столбце A

Изменить имя листа и столбец в двух приведенных ниже формулах легко, если ваши извлекаемые данные начинаются со строки 3, а не со строки 2, а затем измените все значения ROW()-2) на ROW()-3) и т.д.

В то время как первый выглядит более грязным, чем на самом деле (добавить 1 месяц), концепция проста. Подход OFFSET перемещается вниз на одну ячейку с листа 1 только каждые 12 строк, причем каждый месяц настраивается каждая ячейка

  1. В ставке A2, =DATE(YEAR(OFFSET(Sheet1!A$2,INT((ROW()-2)/12),0)),MONTH(OFFSET(Sheet1!A$2,INT((ROW()-2)/12),0))+MOD(ROW()-2,12),DAY(OFFSET(Sheet1!A$2,INT((ROW()-2)/12),0)))
  2. В B2 положите =OFFSET(Sheet1!B$2,INT((ROW()-2)/12),0) и скопируйте столько, сколько у вас есть поля

enter image description here

0 голосов
/ 29 июня 2012

Удивительно, но Excel 2007 (доступен только один из них) воспринимает мм / гггг как дату, поэтому формула =TEXT(DATE(YEAR(A2),MONTH(A2)+1,1),"mm/yyyy") создает следующую дату и может быть скопирована вниз.другие данные будут просто в случае ввода значений как =B2 и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...