2017-05-16 27 views
1

Excel公式的作品,我希望你能幫助我有一個Excel公式=TEXT('Junk Sheet'!A2,"MM/DD/YYYY")我現在面臨的問題是,我得到不同的結果對來自不同國家的在都柏林,但不是在芬蘭和丹麥

在屏幕截圖這個公式1,你可以從愛爾蘭

看到的結果是在屏幕截圖2你可以從丹麥

在屏幕截圖3你可以從芬蘭

看到的結果看,結果爲了另一個數據庫ŧ o接受此信息我需要公式來返回愛爾蘭產生的結果。其他國家/地區突出顯示使用自定義格式日期MM/DD/YYYY的列不是一個選項,因爲此整個表格需要保留爲TEXT格式以供其他數據庫接受,並且此表單也被隱藏並鎖定以防止人員干預數據。

我需要其他國家返回與愛爾蘭相同的結果,無需人工干預,我的公式可以被操縱,或者可以組合一些VBA,或者如何防止不同國家的不同結果發生在這個公式中?

與往常一樣,所有的幫助,非常感謝。

屏幕快照1

enter image description here

屏幕快照2

enter image description here

屏幕快照3

enter image description here

+1

相關:http://stackoverflow.com/questions/43525469/how-to-get-english-month-name-from-date-in-russian-excel – assylias

+0

什麼是A2的價值,或任何細胞是饋入Text()函數? – teylyn

+0

嗨assylias。謝謝你抽出時間回覆我看了你的鏈接,並試着'= TEXT(B2;「[$ - eng-us] MM/DD/YYYY」),但仍然無效。還有其他解決方案嗎? –

回答

0

日期被存儲爲Excel中的數值,然後根據區域設置進行格式化,使其看起來像該國的觀察者想要看到的那樣。

如果A2擁有一個真實的日期值,那麼你可以只使用一個參考A2這樣

= A2

,並使用「短日期」格式在Excel中,將根據對數據進行格式化打開工作簿的用戶的區域設置。

如果您將Text函數與固定的格式化字符串一起使用,則格式化字符串的字母在不同的語言環境中可能不同。實際上,文本功能具有特定的開關,可將特定於國家/地區的設置應用於格式字符串。

=TEXT(A1,"[$-409]mmmm, yyyy")

的409是美國英語的開關。其他國家可以在互聯網上查詢,例如:https://excelribbon.tips.net/T011782_Specifying_a_Language_for_the_TEXT_Function.html

因此,Text()函數不適用於不同的語言環境。

這就是爲什麼有這樣的事情,「短日期格式」,它會自動考慮到區域設置。

如果您的工作簿中使用不同的設置和語言不同的語言環境中使用,不使用文本()函數來格式化日期與格式字符串纔有意義爲英語。

使用短日期格式,而不是,因爲它能夠處理語言的差異。

編輯:見this question on SuperUser。即使使用lcid,也不能在不同的語言環境中使用TEXT()函數,因爲格式化字符串需要使用打開文件的語言環境的日,月,年的字母。因此,在丹麥語版本的文件中,您需要在日,月,年和芬蘭語版本中使用丹麥語字母,您需要在日,月,年使用芬蘭字符,而這些字符很可能不是「d 「,」m「或」y「。由於格式化字符串是文本,因此在另一種語言版本的Excel中打開該文件時,它將不會被調整爲區域設置。

+0

嗨泰林。再次感謝您提供有用的信息。但如果我格式化短日期的列,那麼我將失去文本格式?這將意味着其他數據庫將拒絕Excel文件。恐怕我不能只是= A2無論是作爲A2是數字和我需要的2017年5月16日的格式文本 –

+0

我添加了一個鏈接到一個類似的問題和一些更多的解釋了爲什麼文本()函數不會爲你的工作場景。 – teylyn