web-dev-qa-db-ja.com

Excelでの日付と文字列の連結

Excelに2つのセルがあります。 1つには文字列があり、もう1つには日付があります。 3番目のセルでは、日付と文字列を一緒に配置します。例えば:

A1 = "This "
A2 = "03/03/1982"

私はA3になりたい:

This 03/03/1982

これをA3の式に入れようとすると:= A1 & A2これは、日付の面白い数値を返しますが、リテラルの日付は提供しません。

それが最善の方法かどうかわからないが、私はこれをするだろう:

=A1 & TEXT(A2,"mm/dd/yyyy")

これにより、日付が目的の文字列にフォーマットされます。

編集:あなたが見たその面白い数は、1899年12月31日からあなたの日付までの日数です。これがExcelが日付を保存する方法です。

75
ChrisO

これは、日付の数値表現です。そのような式から日付を参照するときに得られるもの。

あなたがする必要があります:

= A1 & TEXT(A2, "mm/dd/yyyy")

ここでの最大の問題は、書式指定子がロケールに依存することです。別のローカライズされたExcelでファイルを開いた場合、予期したとおりに動作/生成されません。

これで、couldにユーザー定義関数ができました:

public function AsDisplayed(byval c as range) as string
  AsDisplayed = c.Text
end function

その後

= A1 & AsDisplayed(A2)

しかし、Excelにはバグ(機能?)があり、そのため.Textプロパティが突然計算サイクルの特定の段階で 使用不可 になり、数式に#VALUEの代わりに。

つまり、いずれにしても悪いことです。

14
GSerg

別のアプローチ

=CONCATENATE("Age as of ", TEXT(TODAY(),"dd-mmm-yyyy"))

これにより、2013年8月6日時点の年齢が返されます。

6
Gopinath

解決策をありがとう!

それは動作しますが、フランスのExcel環境では、次のようなものを適用する必要があります

TEXTE(F2;"jj/mm/aaaa")

連結後、F2セルに表示されている日付を保存します。宜しくお願いします

3
lhote

この簡単な方法でそれを行うことができます:

A1 =マヒ
A2 = NULL(空白)

選択A2セル​​を右クリック-> セルのフォーマット-> [〜#〜] text [〜#〜]

次に、日付をA2に入れます(A2 = 31/07/1990)

その後、連結して動作します。数式は必要ありません。

= CONCATENATE(A1、A2)

mahi31/07/1990

(これは空のセルで機能します。つまり、セルにDATE値を入力する前に、TEXTにする必要があります)。

2
mahendar kumar