Нужна помощь в объединении столбцов 1 и 2, как показано на скриншоте.
В столбце 2 будут еще записи, возможно, «Синий». Я бы хотел «1 Синий», «2 Синих», «3 Синих» и т. д., начиная с записи «6 Индиго».
Надеюсь, это понятно! Для меня Excel — это нечто новое, и мне нужно как можно скорее разобраться с этим.
EDIT: Мне нужно объединить весь столбец A со всем столбцом B.
решение1
В ячейку C2 вы можете ввести приведенную ниже формулу и заполнить ею ячейки вплоть до C13 (или любой другой).
=OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)&" "&OFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)
Объяснение:
Первая часть OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)
ищет соответствующую ячейку в столбце A. COUNTA(A:A)-1
Подсчитывает количество элементов в столбце A (минус один для заголовка, т.е. строки 1). MOD(ROW()-2,COUNTA(A:A)-1)
Вычисляет остаток при делении текущей строки (C2...C13) на количество элементов в столбце A. Это значение будет отображаться как (0,1,2,3,4,5,0,1,2,3,4,5) в ячейках (C2...C13); смещение этих значений по ссылке $A$2
возвращает правильную строку в столбце A.
&" "&
вставляет пробел между ними.
Вторая часть OFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)
похожа на первую. Однако она вычисляет частное вместо остатка. Соответствующие значения для (C2..C13) будут (0,0,0,0,0,0,1,1,1,1,1,1). Смещение их по ссылке $B$2
возвращает "Violet" или "Indigo" или любой следующий текст.
решение2
Единственный способ, который я могу придумать, — это написать скрипт на VBA (Visual Basic for Applications), который является языком программирования, лежащим в основе макросов в Excel.
Логика этого (извините, я не помню код наизусть) была бы такой:
x = 0
ForEach entry in column a
ForEach entry in column b
Set value of cell c1 + x
x + 1