#excel
#excel
Вопрос:
Мне нужно скопировать и вставить одну и ту же информацию (по порядку) 1000 раз в один и тот же столбец. Данные будут выполняться с 1990 по 2019 год, разделенные на кварталы…
1990 FY1990 FQ11990 31-Jan-90 1
1990 FY1990 FQ21990 31-Jan-90 2
1990 FY1990 FQ31990 31-Jan-90 3
1990 FY1990 FQ41990 31-Jan-90 4
1990 FY1990 FQ11990 31-Jan-90 1
1990 FY1990 FQ21990 31-Jan-90 2
etc
etc
Есть ли код, который я могу написать для автоматизации этого?
Ответ №1:
Я полагаю, что вы ошибаетесь, я считаю, что ожидаемый результат больше похож:
1990 FY1990 FQ11990 31-Jan-90 1
1990 FY1990 FQ21990 31-Jan-90 2
1990 FY1990 FQ31990 31-Jan-90 3
1990 FY1990 FQ41990 31-Jan-90 4
1991 FY1991 FQ11991 31-Jan-91 1
1991 FY1991 FQ21991 31-Jan-91 2
etc
etc
Для этого вы должны понимать, что ожидаемый результат выглядит следующим образом:
aaaa FYaaaa FQbaaaa 31-Jan-aa b
где:
aaaa
и aa
год, либо в четырех цифрах, либо в двух
b
это номер квартала
Какова связь между aaaa
и aa
? Просто: aa = MOD(aaaa,100)
.
Оттуда вы можете начать (понимая, что в Excel конкатенация чрезвычайно проста: "TotalString" = "Total" amp; "String"
), итак, поехали (псевдокод):
offset_number = 0
for aaaa = 1990 to 2019:
for b = 1 to 4:
resulting_string = aaaa amp; " FY" amp; aaaa amp; " FQ" amp; b amp; aaaa amp; " 31-Jan-" amp; MOD(aaaa,100) amp; " " amp; b
Starting_Cell.Offset(offset_number,0) = resulting_string
offset_number = offset_number 1
Next b
Next aaaa