[英]How can I extract a specific Letter(s) and numbers from a text string via VBA Or excel Formula
[英]How can I extract a text that has a specific pattern from a column of cells using EXCEL formula?
請提供幫助,我有一個數據集,其中包含一列文本,其中包含用戶提及的內容及其推文。 我想提取EXCEL推文中提到的所有用戶。 換句話說,我想執行此任務:對於列中的每一行,如果該行的單元格值包含以@開頭並以空格結尾的文本,則將該字符串值放在另一列中,則每個單元格可能包含更多而不是一次出現字符串(一條推文中提到了多個用戶)。問題是,可能與EXCEL公式有關而不與編碼有關? 如果是,請您指導我使用哪個公式。如果沒有,您是否知道完成此任務的好方法/方法? 如果您有記錄良好的代碼可以完成此任務,或者知道可以執行此操作的軟件/工具,那么請不要給我發送文檔鏈接。 感謝您的幫助。
這只是部分解決方案。 它檢索由“ @”和一個空格限制的文本的第一個實例。 對於A1中的數據,在B1中輸入:
=LEFT(MID(A1,FIND("@",A1)+1,9999),FIND(" ",MID(A1,FIND("@",A1)+1,9999)))
例如:
我建議您將此任務分為多列,以了解公式如何協同工作以獲取答案。
列標題
Column A = Your Data
Column B = First Start = Find the first occurrence of @
Column C = First End = Find the end of the first occurrence with a space
Column D = Second Start = Find the Second occurrence of @
Column E = Second End = Find the end of the second occurrence with a space
Column F = First Twitter Account = MID the First Start/End
Column G = Second Twitter Account = Mid the Second Start/End
公式
Column A = "An Example @Tweet with @two mentions"
Column B = Find("@",A2)
Column C = FIND(" ",A2,B2)
Column D = FIND("@",A3,C3)
Column E = FIND(" ",A3,D3)
Column F = MID(A2,B2,C2-B2)
Column G = MID(A2,D2,E2-D2)
您可以根據需要重復上述模式進行多次“提及”。 您可以通過計算每個字符串中有多少@符號並確保編寫足夠的公式來容納該數字來了解這一點。
您可以將以上所有內容合並為一個公式,但是這將是閱讀的野獸。
同樣要記住,如果在字符串的末尾進行“提及”,則上述公式將不對其進行計數。 即在您的問題中,您提到的提及以空格結尾,如果它發生在推文結尾可能不是這種情況。
盡管標有[excel-vba],但您沒有提供任何代碼,並且標題中確實包含公式 ,因此我建議:
@
替換為|@
,其中第一個字符是唯一字符(處理數據副本,全選,HOME>編輯-查找並選擇,替換...,查找內容: @
替換為: |@
,全部替換。 ) |
,完成。 在第一個完全空的列中:
=IF(LEFT(A1)="@",LEFT(A1,FIND(" ",A1)),"")
復制之前占用的列數,然后將所有公式向下復制以適合。
這應該可以處理任意一個單元格中不確定數量的@
實例,並且在最后一個實例后沒有空格的情況下也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.