[英]Using Unix US Formatted Date-time-year for calculations in Excel
我的日期使用 Bash (echo $date) 的默認時間格式進行格式化,例如:
2021 年 12 月 24 日星期五 07:35:41 EST
我無法更改此行為,因為我無權更改我們的 IT 解決方案。 我需要能夠將這些日期加載到英國本地化的 Excel 中,但是由於日期、時區、時間等原因,任何使用通常的 Text To Columns DMY 方法的嘗試都不起作用。
是提取數據並重新組裝數據的唯一方法還是有更簡單的解決方案?
據我所知,如果我們去掉EST
和工作日FRI
,我們可以獲得一個有效的日期值。 注意:如果您想要工作日,可以使用 function WEEKDAY WEEKDAY()
獲取值6
,即星期五。 (1 是星期日)。
因此,要擺脫工作日,您可以使用RIGHT()
function。 所有工作日都是 3 個字母和一個空格,所以我們需要去掉前 4 個字符,如下所示:
=RIGHT(A1;LEN(A1)-4)
你可以把它放在你的示例時間下面,所以把它放在單元格 A2 中。
要刪除EST
有點棘手,我們需要知道EST
在文本中的位置。 為此,我們使用FIND()
:
=FIND("EST ";A2)
現在我們知道在 A2 中出現文本"EST "
的 position。
然后我們可以使用一個簡單的REPLACE()
function,將“EST”替換為空。 像這樣:
=REPLACE(A2;FIND("EST ";A2);4;"")
注: 4
指的是"EST "
的長度。
這適用於本示例,因此您可以使用不同的數據進行嘗試。 如果它不能正常工作,只需在下面發表評論,以及使用哪些數據,我會調查它。
=RIGHT(A1;LEN(A1)-4)
放入A2=REPLACE(A2;FIND("EST ";A2);4;"")
放入A3您也可以將其合並到 1 個單元格中:
=REPLACE(RIGHT(A1;LEN(A1)-4);FIND("EST ";RIGHT(A1;LEN(A1)-4));4;"")
然后,您可以將其放在 A1 中的日期旁邊,因此在 B1中,然后將此公式向下拖動以獲取所有導入的日期。 現在它應該適用於您的所有日期。
您還可以復制它們的值並替換原始日期,然后刪除公式,您將擁有與一開始所期望的相同的布局和功能!
干杯::)
試試這個 function。 將其寫入模塊並從任何單元格調用。 喜歡 =makeDateFromStr(A1)
Function makeDateFromStr(ByVal someDate As String) As Date
On Error Resume Next
Dim var As Variant, Mu As Long
var = Split(someDate, " ") ' array to hold all parts of the string-date
Mu = (InStr("JanFebMarAprMayJunJulAugSepOctNovDec", var(1)) + 2) / 3 ' a way to make short string month (Dec) to number
makeDateFromStr = DateSerial(var(5), Mu, var(2)) & " " & TimeValue(var(3)) ' putting all together
On Error GoTo 0
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.