提取单个单元格的内容并相应地分离和重命名?

Extract content of a single cell and separate and rename accordingly?

所以我有这个大 excel 文件,超过 7000 行,我需要做的是从列中的单元格中选取内容,例如 A2,并将其内容提取到 A3

内容是缩写,如 PRD 表示句点,或 CLS 表示 class,所有缩写都由下划线分隔,没有特定的顺序,例如 A2 可以只说 PRD 但 B2 会说 PRD_CLS_PPRD_ADVAN 然后在 C2

上回到 CLS_ADV

我需要的是从每个单元格中提取内容并将其放在另一个单元格中,缩写必须替换为它的原始单词所以应该说 PRD 而不是 PRD,或者 Class 而不是 CLS ,当有下划线时,应将其替换为斜杠。所以总的来说,当 B2 说 PRD_CLS_PPRD_ADVAN 那么 B3 应该说 Period/Class/Pre-Production/Advance

我已经尝试了很多方法来解决这个问题,使用 LEFT、RIGHT、EXTRACT,但都无济于事,如果有任何关于如何解决这个问题的建议,我们将不胜感激

'类似的东西应该让你开始

Public Sub convertCell()
Dim rowmax As Integer
Dim i As Integer
Dim j As Integer
Dim StrArray() As String
Dim wrds As Integer


'replace sheet1 by the name of you sheets

rowmax = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To rowmax
    StrArray = Split(Worksheets("Sheet1").Cells(i, 1), "_")
    wrds = UBound(StrArray)
    
    For j = 0 To wrds
        Worksheets("Sheet1").Cells(i, 2) = Worksheets("Sheet1").Cells(i, 2) & "/" & StrArray(j)
    Next j
    
Next i

结束子

所以使用公式的基本方法:

C2 中的公式:

VLOOKUP(LEFT(A2,FIND("_",A2,1)-1),$E:$F,2,0)

单元格 E2 到 F5 包含缩写,根据需要扩大范围。

所以,更新,一直在玩

刚完成前两个,对数字 3 使用 mid(),对数字 4 使用 right。

因此,使用 find() 的方法略有不同:

C2 的公式:

IFERROR(IF(FIND($E,$A2,1)>0,VLOOKUP($E,$E:$F,2,0),"")&"/","")&IFERROR(IF(FIND($E,$A2,1)>0,VLOOKUP($E,$E:$F,2,0),"")&"/","")&IFERROR(IF(FIND($E,$A2,1)>0,VLOOKUP($E,$E:$F,2,0),"")&"/","")&IFERROR(IF(FIND($E,$A2,1)>0,VLOOKUP($E,$E:$F,2,0),""),"")

让你想想尾随的“/”...