1

我在 Excel 中有一种情况,我想将 A 列的所有值组合到 B 列的所有值(我想将 B 的所有值保留为 A 列的所有值)

示例:A 列 - 1 2 3 4 5 6 7 8 B 列 - ABCDEFGH

我想要的结果是 1A 2A 3A 4A 5A 6A 7A 8A 1B 2B 3B 4B 5B 依此类推,直到我达到 8H

我尝试过简单的连接,但显然它花费了太长时间

如果有人可以对此进行调查并为我提供一个公式来帮助我解决此问题,我们将不胜感激。

问候

4

2 回答 2

1

在你的帖子之后,我意识到你真正追求的是什么。

在单元格C1中:

=IF(ROW()-ROW($C$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($C$1))/COUNTA(B:B)+1))&INDEX(B:B,MOD(ROW()-ROW($C$1),COUNTA(B:B))+1))

并向下拖动

在此处输入图像描述

于 2019-06-19T08:38:45.990 回答
0

我找到了这个解决方案,但是在 VBA 中。我希望你没事。这就是它在我的excel上的样子

Sub Merge()

Dim NumberLeng As Range
Dim LetterLeng As Range
Dim LastLetter As Long
Dim LastNumber As Long
Dim sht As Worksheet
Dim LastRow As Long
Dim LastMix As Long
Set sht = ActiveSheet
LastLetter = sht.Cells(sht.Rows.Count, "B").End(xlUp).Row 'last letter
LastNumber = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 'last number

Set NumberRange = sht.Range(Cells(1, 1), Cells(LastNumber, 1)) ' range of numbers
Set LetterRange = sht.Range(Cells(1, 2), Cells(LastLetter, 2)) ' range of letters
X = 0
    For Each Letter In LetterRange

        For Each Number In NumberRange

        Number.Offset(X, 2) = Number & Letter 'Number+Letter

        Next Number

    LastMix = sht.Cells(sht.Rows.Count, "C").End(xlUp).Row 'set new last
    X = LastMix

    Next Letter

End Sub

如果需要任何帮助,请继续询问:)

于 2019-06-19T10:57:07.130 回答