如何自動將月份從一種語言翻譯成另一種語言?

如何自動將月份從一種語言翻譯成另一種語言?

我想將帳單報告從葡萄牙語(巴西)翻譯成英文。它的精確度為幾個月,並且是一張自動表格。
合約可能在一月份開始,但通常也在其他 11 個月開始。

如果我將第一個月設定為四月,則右側的其他十一個月將繼續增長(五月、六月、七月......)直到三月。

我創建了這個公式:

=PROPER(TEXT((B1&1)+31;"mmmm")) 

第二個月到第十二個月。

不過我在葡萄牙語(巴西)中使用它,效果非常好。但到了英文月的時候,就真的不起作用了。

我已經嘗試過了[$-409],但它並沒有按照我想要的方式工作。

如果我使用這個,它會像 Janeiro 和二月一樣,並且在接下來的幾個月中出現錯誤。

我想寫下一月並接收二月、三月等等。

它可能適用於您的機器,也請嘗試使用其他語言。

注意:VBA 不起作用,我需要將其發送給我的客戶。

答案1

我認為你想要的東西不可能以你想要的方式實現。

根據您的評論,您無法變更系統區域設置,因為該文件可以在無法選擇此選項的其他電腦上使用

我能想到的唯一解決方案是使用VBa

在此範例中,我正在查看整個工作表並將單字替換為等效的單字

首先,備份檔案。您無法撤銷 VBa

Sub ChangeTheNameMeHearties()

Dim cell As Range

For Each cell In ActiveSheet.UsedRange
    Dim s As String
    Select Case LCase(cell.Value)

        Case cell.Value = "january"
            cell.Value = "Janeiro"

        Case cell.Value = "february"
            cell.Value = "Fevereiro"

    End Select
Next

End Sub

您需要添加其餘的月份,但它應該是直接的,然後考慮它們如何“翻譯”

另請參閱如何在 MS Office 中新增 VBA?

您甚至可以使用類似的 case 語句

    Case cell.Value = "january"
        cell.Value = "Janeiro"

    Case cell.Value = "janeiro"
        cell.Value = "January"

    Case cell.Value = "february"
        cell.Value = "Fevereiro"

    Case cell.Value = "fevereiro"
        cell.Value = "February"

這意味著,每次運行它時,您都會在語言之間切換

答案2

我已經修好了,抱歉遲到了。

我修復了使用

=PROPER(TEXT((DATE(2014,B3,1)),"mmmm"))

其中「B3」是從資料透視表中檢索的月份編號,僅更改一次。

下個月收到+1,而不是「下個月」。

=IF(B3<12,B3+1,1)

如果前一個月已經是 12,則使用 IF 從 1 重新開始。

相關內容