ある言語から別の言語に月を自動的に翻訳するにはどうすればよいでしょうか?

ある言語から別の言語に月を自動的に翻訳するにはどうすればよいでしょうか?

請求書レポートをポルトガル語 (ブラジル) から英語に翻訳したいと思います。請求書レポートは月ごとに正確で、自動化されたシートです。
契約は 1 月に開始される場合もありますが、通常は他の 11 か月にも開始されます。

最初の月を 4 月に設定すると、右側の他の 11 月 (5 月、6 月、7 月...) は 3 月まで増加し続けます。

次のような式を作成しました:

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

2か月目から12か月目まで。

しかし、私はこれをポルトガル語(ブラジル)で使用しており、非常にうまく機能しています。しかし、英語の月を入力すると、実際には機能しません。

試してみました[$-409]が、思った通りには動作しませんでした。

これを使用すると、Janeiro と February のように表示され、次の月ではエラーになります。

1月を書いて、2月、3月などを受け取りたいです。

あなたのマシンでも動作するかもしれませんので、他の言語でも試してみてください。

注: 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 回だけ変更される月番号です。

翌月は「翌月」ではなく +1 になります。

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

IF は、前の月がすでに 12 の場合に 1 から再開するために使用されます。「if がなければ、13 を超えても増え続けます」

関連情報