Скопируйте и вставьте строки в один столбец X раз, по одной строке за раз

#excel #vba #dataset #copy-paste

Вопрос:

Я пытаюсь создать набор данных Excel и ищу код VBA для выполнения следующих действий. У меня уже есть столбцы идентификатора и имени, но мне нужно скопировать/вставить столбец состояния следующим образом:

ID Имя Государство
1 Гомер Симпсон Аризона
2 Нед Фландерс Аризона
3 Барни Гамбл Аризона
4 Вэйлон Смитерс Аризона
1 Гомер Симпсон Юта
2 Нед Фландерс Юта
3 Барни Гамбл Юта
4 Вэйлон Смитерс Юта
1 Гомер Симпсон Калифорния
2 Нед Фландерс Калифорния
3 Барни Гамбл Калифорния
4 Вэйлон Смитерс Калифорния
1 Гомер Симпсон НЬЮ-ЙОРК
2 Нед Фландерс НЬЮ-ЙОРК
3 Барни Гамбл НЬЮ-ЙОРК
4 Вэйлон Смитерс НЬЮ-ЙОРК

У меня есть состояния на том же листе/вкладке, как показано ниже:

Государство
Аризона
Юта
Калифорния
НЬЮ-ЙОРК

Спасибо.

Комментарии:

1. И в чем же проблема?

2. Извините, я только что отредактировал его. Ищу код VBA для этого. Спасибо

3. Вы специально хотите просто копировать данные из одного столбца в другой, но вставлять каждую запись 4 раза? Или есть какие-то другие условия?

Ответ №1:

Формулу в C2 и скопируйте вниз

 =IF(A2=1,INDEX($F$2:$F$17,COUNTIF($A$1:A2,1)),C1)
 

введите описание изображения здесь

Комментарии:

1. Большое спасибо. Работает как заклинание. Я попробовал =ЕСЛИ(A2=1,ИНДЕКС($F$2:$F$5,ПОДСЧЕТ($A$1:A2,1)),C1) тоже, и это тоже работает. Гений 🙂

2. @HTMLHelpMe.. Рад возглавить это 🙂 .. да $F$2:$F$5 должно сработать.. Я просто оставил себе дополнительную комнату.