Как вставить строки в столбцы с другого листа?

Я пытаюсь предварительно заполнить шаблон повторяющимися данными в таком столбце: Sheet1:

A1
Offer Name:
Offer URL:
Network:
Payout $:
Share%:

Offer Name:
Offer URL:
Network:
Payout $:
Share%:

...

Я бы хотел вставить данные из Sheet2, который находится в строке: Sheet2:

A1      B1      C1          D1  E1
name1   link1   network1    1   5%
name2   link2   network2    1   5%

и предварительно заполните Sheet1 следующим образом:

A1          B1
Offer Name: name1
Offer URL:  link1
Network:    network1
Payout $:   1
Share%:     5%

Offer Name: name2
Offer URL:  link2
Network:    network2
Payout $:   1
Share%:     5%

Таким образом, я мог перетащить заполнитель вниз на Sheet1 и предварительно заполнить столько содержимого, сколько есть в Sheet2. Я пробовал объединить, но формула не работает.

Можно ли сделать с формулой?


person reizer    schedule 30.10.2015    source источник
comment
Специальная вставка транспонирования приблизит вас, но если вы хотите именно то, что вы описали, вам понадобится немного VBA. Если вы готовы использовать его (VBA), то задача не должна быть большой проблемой.   -  person Hambone    schedule 30.10.2015
comment
да, спасибо, я стараюсь по возможности избегать сценариев, поэтому в будущем я мог бы использовать что-нибудь попроще.   -  person reizer    schedule 31.10.2015


Ответы (2)


Предполагая, что Sheet1 начинается с A1 с Offer Name:, а name1 находится на Sheet2 A1, попробуйте скопировать Sheet1 B1, чтобы он соответствовал:

=OFFSET(Sheet2!A$1,INT(ROW()/6),MOD(ROW()-1,6))  

Вы можете последовательно заполнить Sheet1 ColumnA, выбрав A1: A12 и перетащив маркер заполнения вниз в нужное положение. Если необходимо удалить 0 из B6, B12 и т. Д., Отфильтруйте столбец A, чтобы выбрать (Blanks) и удалить нули. Также используйте фильтр, если необходимо отформатировать проценты.

person pnuts    schedule 31.10.2015
comment
pnuts, это потрясающе, спасибо. Я не мог этого понять. Это действительно работает. Только одно: можно ли вставить пустую ячейку при копировании вместо значения 0 в каждую 6-ю строку? - person reizer; 31.10.2015

Если вы любите упорядочивать свой Sheet1 по вертикали, при этом все еще перечисляя свои поля по вертикали, вам придется сделать некоторые поправки. Как и предположил Хэмбон, в VBA это будет сделано более строго. Если вы по-прежнему предпочитаете просто использовать формулы, вот потенциальное решение. Для каждого элемента строки в Sheet1 вы должны использовать следующую формулу:

="Offer Name: "&Sheet2!A1&CHAR(10)&"Offer URL: "&Sheet2!B1&CHAR(10)&"Network: "&Sheet2!C1&CHAR(10)&"Payout $: "&Sheet2!D1&CHAR(10)&"Share%: "&Sheet2!E1

Подразумевается, что это отобразит все поля для каждого элемента в 1 ячейке с принудительным возвратом каретки между ними. Это позволяет перетащить формулу вниз и зафиксировать все элементы. Вы должны настроить свои ячейки на перенос текста, чтобы иметь возможность правильно просматривать. Надеюсь это поможет. С уважением,

person nbayly    schedule 30.10.2015