簡體   English   中英

從文本中解析和串聯Excel中的日期

[英]Parsing and Concatenaing Dates in Excel From Text

我在記事本中有以下文本數據。 我將此數據復制並粘貼到Excel中,每一行占用一個單元格。

    12:07:33 (MLM) TIMESTAMP 8/9/2016  
    11:22:41 (MLM) OUT: 
    11:23:09 (MLM) DENIED: (Licensed number of users already reached. (-4,342:10054 ""))
    11:23:09 (MLM) OUT: 
    11:35:05 (MLM) IN: User 23112
    12:02:50 (MLM) IN:
    12:07:33 (MLM) TIMESTAMP 8/10/2016        
    12:02:50 (MLM) IN: 
    12:02:50 (MLM) IN: 
    12:05:21 (MLM) DENIED:(Licensed number of users already reached. (-4,342))
    12:05:21 (MLM) OUT:   
    12:05:25 (MLM) OUT: 
    12:07:33 (MLM) TIMESTAMP 8/11/2016
    12:11:17 (MLM) OUT: 

我需要通過Excel解析此文本,以便我可以計算出某些術語(例如IN,OUT,DENIED等)出現的頻率,並查看IN和OUT之間的某些會話需要花費多長時間。

我可以使用文本將列拆分為不同的單元格。 但是,我需要連接日期信息。 每次有一個TIMESTAMP術語時,后面的所有時間列都需要有該日期。

因此,我希望時間列不是[Time],而是[Time,Date],其中Date是最新的TIEMSTAMP條目。 我想要類似的東西:

    12:07:33, 8/10/2016 (MLM) TIMESTAMP 8/10/2016        
    12:02:50, 8/10/2016 (MLM) IN: 
    12:02:50, 8/10/2016 (MLM) IN:
    5:07:23, 8/11/2016 (MLM) TIMESTAMP 8/11/2016
    5:11:17, 8/11/2016 (MLM) OUT:      

我如何編寫一個函數來標識TIMESTAMP的發生位置,並將其與時間列連接起來,直到下一次發生TIMESTAMP? 或者,如何使用過濾器來實現此目的?

  • 將時間后的數據分為兩列(A:B)
  • 在A和B之間插入新列
  • 選擇B1 ,定義一個命名公式:

LastWord *Refers to*    =TRIM(RIGHT(SUBSTITUTE(Sheet3!$C1," ",REPT(" ",99)),99))

輸入以下公式:

B1:  =A1+(IF(ISNUMBER(FIND("/",LastWord)),LastWord,INT(OFFSET(B1,-1,0))))

根據需要設置格式。 我使用hh:mm:ss, m/d/yyyy使其看起來像您的示例,但是您可以使用其他格式。

這為您提供了一個“實際”日期時間戳記,您可以將其用作Excel中的日期。

但是,如果您的數據在LastWord中包括任何也包含斜杠/非日期單詞,則此方法將不起作用,並且您將需要使用更復雜的例程。 如果您的Windows區域日期設置與數據中的日期格式不同,也會失敗。

在此處輸入圖片說明

暫無
暫無

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

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