Excel 2013でテキストと日付を組み合わせたいのですが。
30-10-2014のような日付のセルA2があるとします。次の式でテキストの後に日付を追加しようとしました:_="Some text and a date: "&A2
_
ただし、出力には日付が数値として表示されます:一部のテキストと日付:41942
TEXT
式で試してみました:="Some text and a date: "&TEXT(A2;"dd-mm-yyyy")
しかし、これは一部のテキストと日付:30-10-yyyyを示し、一部のテキストと日付:30-10-2014
または、TEXT
式がどのように機能するか理解していない、またはバグ/問題がここにありますか?
[〜#〜] update [〜#〜]:オランダ語版のWindows(7)が英語版であることが重要なようですこの問題の原因となるExcel(2013)の!
すべての賞賛は@AxelRichterに行きます、Axelに感謝します!
オランダ語版のWindowsで英語版のExcel(2013)を使用している場合、数式が混同されるようです。たとえば、TEXT
(オランダ語ではTEKST
)のような英語の式名はまだありますが、式ではコンマの代わりにコロンを使用する必要があります。 TEXT
の-format_text値は、年によって異なるオランダ語形式を期待しています(yyyyではなく、jjjj)。
したがって、オランダ語版のWindowsと英語版のExcelを使用している場合、一部のテキストとそれに続くフォーマットされた日付の正しい式は次のようになります。
="Some text and a date: "&TEXT(A2;"dd-mm-jjjj")
マイクロソフトがこれを修正してくれることを願っています。これは非常に迷惑です!
私たちの仕事でも同じ問題があり、ウィンドウのローカライズに影響を与えられない場合は、次のような式を使用しています。
="Some text and a date: "&TEXT(A2;"dd-mm-")&YEAR(A2)
「dd」と「mm」が同じなのはおかしいです。
ここのExcelは明らかに失敗します。 TEXTは言語に依存しないものである必要があります。
私が見つけた回避策、特にフォーマットするセルが複数ある場合:
=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";"ДД.ММ.ГГГГ")
必要に応じて、次のような複数のリージョンをサポートするように拡張できます。
=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";IF(TYPE(VALUE(TEXT(DATE_CELL;"ГГ")))=1;"ДД.ММ.ГГГГ";"DD.MM.JJJJ"))
="Date: " & TEXT(DATE_CELL; FORMAT_CELL)
システムまたはキーボードがデンマーク語のときの同じ問題については、jjjjの代わりにååååを使用してください。私もこの鍵を見つけるのに苦労しました。ただし、オランダ語またはデンマーク語以外で同じ問題に直面している人がいる場合は、正しいキーを確認できます。それを見つけるには、任意のセルを右クリックして[セルの書式設定]に移動し、[カスタム]を選択して、ローカル言語で日付関連の書式を見つけます。そこでは、ローカル言語のDATE形式に使用するのに適切なキーを見つけることができます。
「yyyy」の代わりに「e」を使用できるようになりました。 eはyyyy aのユニバーサルバージョンです。
この問題はExcel 2016(または、可能であればOffice 365)にも残っています。 Windowsの異なる言語設定が原因です。これは、年の記号が異なる言語で発生します(オランダ語は「jjjj」、ポルトガル語は「aaaa」)。この問題が発生している場合は、ローカルのWindows言語の年の形式を使用してみてください。
解決策:「jjjj」形式が機能しているかどうかを確認するには:
特定の形式で表示したい日付がA1である
セルA2で、次の式を使用して、特定の形式で表示する日付のセルをセルにリンクします。
=TEXT(A1;"dd/mm/jjjj")
3番目のセルでは、次の式を配置します。
=IF(RIGHT(A2;4)="jjjj";TEXT(A1;"yyyy");TEXT(A1;"jjjj"))
右から4桁が「jjjj」の場合、この式は「yyyy」としてフォーマットされた日付を表示します。それ以外の場合は、「jjjj」のフォーマットが使用されます。