Объединение столбцов в Excel

Объединение столбцов в Excel

Нужна помощь в объединении столбцов 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

Связанный контент