Excel女士:需要替換最後一個字元並製作單一列表

Excel女士:需要替換最後一個字元並製作單一列表

我在替換 Excel 工作表中的最後一個字元時遇到問題。

例如

input1: 34553CHP01A , input2: C

output: 34553CHP01A
        34553CHP01B
        34553CHP01C
input: columnA,columnB, output: columnC

我必須像這樣替換多行。

請幫助我。謝謝.....

答案1

試著把這個使用者定義函數標準公共模組程式碼表中的程式碼,然後像使用工作表上的任何本機 Excel 函數一樣使用它。

Option Explicit

Function EXPAND_PARTNO(pno As String, n As String, _
                       Optional delim As String = " ")

    Dim m As String, i As Long, pnos As Variant

    pno = Trim(pno)
    m = Right(pno, 1)
    pno = Left(pno, Len(pno) - 1)
    ReDim pnos(Asc(m) To Asc(n))

    For i = Asc(m) To Asc(n)
        pnos(i) = pno & Chr(i)
    Next i

    EXPAND_PARTNO = Join(pnos, delim)

End Function

在此輸入影像描述

答案2

如果有 TEXTJOIN 那麼可以使用:

 =TEXTJOIN(" ",,LEFT(A2,LEN(A2)-1)&CHAR(ROW(INDEX($ZZ:$ZZ,CODE(RIGHT(A2))):INDEX($ZZ:$ZZ,CODE(B2)))))

根據 Excel 版本的不同,退出編輯模式時可能需要使用 Ctrl-Shift-Enter(而非 Enter)進行確認。

在此輸入影像描述

如果希望同一儲存格中的值彼此位於同一儲存格中," "則將CHAR(10)

在此輸入影像描述

如果它們位於單獨的單元格中,則一個單元格位於另一個單元格下面,並且一個單元格具有動態數組公式,則只需將其放在頂部單元格中:

=LEFT(A2,LEN(A2)-1)&CHAR(ROW(INDEX($ZZ:$ZZ,CODE(RIGHT(A2))):INDEX($ZZ:$ZZ,CODE(B2))))

Excel 將會溢位。

在此輸入影像描述


如果沒有,並且使用者想要向下填充,則將其放入第一個單元格中並複製/向下拖曳:

=IF(ROW(INDEX($ZY:$ZY,CODE(RIGHT($A$2))))+ROW($A1)-1<=ROW(INDEX($ZY:$ZY,CODE($B$2))), LEFT($A$2,LEN($A$2)-1)&CHAR(ROW(INDEX($ZY:$ZY,CODE(RIGHT($A$2))))+ROW($A1)-1),"")

在此輸入影像描述

相關內容