簡體   English   中英

提取 excel 中的文本

[英]Extracting text in excel

我每天都會收到一些需要分開的短信。 我有數百行類似於下面的摘錄:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40

我需要從該文本中提取單個片段,因此對於單獨單元格中的每個片段,我的結果需要是日期、月份、公司、大小和價格。 在這種情況下,結果將是:

FEB50-40
APR
COMPANY A
100
0.40

我正在努力解決的問題是一致性。 例如,一條線可能有FEB50-FEB40 、另一條FEB5-FEB40FEB50-FEB4 另一個讓我感到困難的例子是,某些行可能有'COMPANY A'和另一個'COMPANYA' (一個詞而不是兩個)。

有任何想法嗎? 我一直在嘗試以下組合,但我無法獲得統一的結果。

=TRIM(MID(SUBSTITUTE($D7," ",REPT(" ",LEN($D7))), (5)*LEN($D7)+1,LEN($D7))) 
=MID($D7,20,21-10)
=TRIM(RIGHT(SUBSTITUTE($D6,"$",REPT("$",2)),4))

有時我得到

FEB40-50(' OR 'FEB40-FEB5' 

什么時候應該

'FEB40-FEB50'`

謝謝誰能幫忙。

在這種情況下,您可能會遇到公式的限制,但使用 Power Query,您仍然可以工作。

如我所見,您希望應用以下邏輯從該字符串中提取文本:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40
  • 第一個之后的文本:和第一個(
  • 括號之間的文字
  • 在單詞OFFERS之后和AT之前的文本
  • “AT”后的文字

這些可以很容易地轉化為 Power Query 中的幾個“拆分”場景。

  • 由自定義分隔符分割: - 這是冒號和空格 - 每次出現
  • 刪除第一列
  • (分割新的第一列 - 那是空格和括號 - 最左邊
  • )替換為第二列中的任何內容
  • 通過分隔符OFFERS拆分第三列
  • 用分隔符AT拆分新的第四列

屏幕截圖顯示了在重命名列之后和將查詢加載到工作表之前 Power Query 編輯器中的輸入數據和結果。

加載查詢后,您可以在輸入表中添加/刪除數據,只需刷新查詢即可獲得結果。 沒有公式,只需單擊功能區命令。

在此處輸入圖像描述

您可以通過從列中刪除“KB”,將其轉換為數字,除以 100 來進一步實現這一點。您的業務處理邏輯將推動您想要做的事情。 一步一步來。

暫無
暫無

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

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