在 Microsoft Excel 2010 中使用冒號分隔符號將資料從一個儲存格分割為多個儲存格

在 Microsoft Excel 2010 中使用冒號分隔符號將資料從一個儲存格分割為多個儲存格

我想將冒號後面的單字拉回新的列中,因此從下面的範例中,我希望B 中為Specie,C 中為jehwejkrhwejkrhwe,D 中為07/06/2018,E 中為Kim's Wizard Wand Shop ,F 中為Q18FSESPE00374。

[產品:Specie]、[UMR:jehwejkrhwejkrhwe]、[EffDt:07/06/2018]、[Insd:Kim's Wizard Wand Shop]、[PolNo:Q18FSESPE00374]

答案1

=MID(A1,SEARCH(":",A1)+1,LEN(A1)-(SEARCH(":",A1)+1))

我的公式必須應用於每個單元格中的資料。

如果在sheet2上執行此操作可能會更好,請將其指向sheet1上的資料。

答案2

這可以透過兩種方式之一完成。


1 - 使用輔助行和兩個簡單的公式:

帶有輔助行的公式的螢幕截圖

中的公式B2為:

=FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))

中的公式B3為:

=MID($A$1,B2+1,FIND("]",$A$1,B2)-B2-1)


2 - 沒有輔助行但具有複雜的公式:

沒有輔助行的公式的螢幕截圖

中的公式B2為:

=MID($A$1,FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1-FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1)))

以上公式的美化版本如下:

=
MID(
  $A$1,
  FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,
  FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1
  -FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))
)

筆記

  • CHAR(1)使用它是因為幾乎可以肯定該字元不會出現在字串中。當然,它可以更改為您確信在來源字串中永遠找不到的任何其他字元。

相關內容