簡體   English   中英

將 A 列數據的行連接到第一行 B 列的單個單元格時遇到問題

[英]Facing issues when joining rows of A column data into single cell at B column of 1st row

我只想將 A 列的大約 14900 行分成 50 組,在 B 列的每一行保持 @ 作為分隔符。 示例:12345@5432333@3232@... 直到 A 列的第 50 行。 就像那樣,我需要在 B 列的每一行中構建 50 組直到 A 列的行數(14900)。

我使用 =TEXTJOIN("@",TRUE,A1:A14900) 開發了相同的代碼,但這是失敗的,可能是由於單個單元格中的長度問題。 我的計划是把這個公式的output分成50組,分別放到B列的每一行。 如果我使用循環使公式動態化然后我再次擔心單元格的長度

    --------     --------
    12345566     12345566@333344444@98ZBRE322@1ZAZAZAQQ...till 50th row
    333344444    next 50 sets
    98ZBRE322    next 50 sets
    1ZAZAZAQQ    next 50 sets

有沒有解決這個問題的最佳方法?

連接范圍

Excel

在單元格B1中使用:

INDEX

=TEXTJOIN("@",TRUE,INDEX(A$1:A$14900,(ROW()-1)*298+1):INDEX(A$1:A$14900,ROW()*298))

OFFSET (易失性)

=TEXTJOIN("@",TRUE,OFFSET(A$1:A$298,(ROW()-1)*298,0))

並向下復制到單元格B50

VBA

Sub ConcatSets()
    With ActiveSheet.Range("B1:B50")
        ' INDEX
        .Formula = "=TEXTJOIN(""@"",TRUE,INDEX(A$1:A$14900,(ROW()-1)*298+1):INDEX(A$1:A$14900,ROW()*298))"
        ' OFFSET (Volatile)
        '.Formula = "=TEXTJOIN(""@"",TRUE,OFFSET($A$1:$A$298,(ROW()-1)*298,0))"
        ' To keep only values use the following:
        '.Value = .Value
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM