web-dev-qa-db-ja.com

yyyymmddからmm / dd / yyyyへのExcel日付変換

私はExcelでこれを行う方法について約1時間探していました。

古いシステムから作成されたExcelファイルがあり、SQL Serverデータベースから情報を取得しています。情報をSQL Serverデータベースに入力し直し、日付を一致させたいと考えています。

カスタム形式を作成しようとしましたが、正しく作成したかどうかはわかりません。 mm/dd/yyyyyyyymmddに逆方向に移動したい場所をいくつか見つけましたが、役に立たなかった。

マイクロソフト製品でVBAを使用することに慣れていない場合は、これは単純なタスクになると確信しています。

変更する必要がある2つの個別の列があります。

(float)yyyymmddから(Date)mm/dd/yyyyに列全体をフォーマットする方法

54
Malachi

セルの横にある次のような式を使用して、値を日付に変換できます。

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

A1は、変換する必要があるフィールドです。

または、VBAで次のコードを使用できます。

Sub ConvertYYYYMMDDToDate()
   Dim c As Range
   For Each c In Selection.Cells
       c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
       'Following line added only to enforce the format.
       c.NumberFormat = "mm/dd/yyyy"
   Next
End Sub

修正したいセルを強調表示して、コードを実行します。

コメントに RJohnson が記載されていることに注意してください。選択したセルの1つが空の場合、このコードはエラーになります。 c.valueに条件を追加して、空の場合は更新をスキップできます。

71
Daniel

あなたが述べたようにデータの列(水平)または列(垂直)がありますか?

後者の場合、「列にテキスト」機能を使用して列全体を「in situ」に変換できます。

[列]> [データ]> [列へのテキスト]> [次へ]> [次へ]を選択し、[列のデータ形式]で[日付]を選択し、ドロップダウンから[YMD]

....それ以外の場合は、式を使用して変換できます

=TEXT(A1,"0000-00-00")+0

必要な日付形式でフォーマットする

26
barry houdini

dd/mm/yyyymm/dd/yyyyに変換するため

=DATE(RIGHT(a1,4),MID(a1,4,2),LEFT(a1,2))
6
user2027618

これは必要最低限​​のバージョンです:

セルA1に、記述した形式の日付があるとします。例:19760210

次に、この式はあなたが望む日付を与えます:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)).

私のシステム(Excel 2010)では、文字列またはフロートで動作します。

6
Leo

別の(手動) answer が見つかりました

  1. 列を選択します。
  2. [データ]タブを選択します
  3. 列へのテキスト-新しいボックスを開きます
  4. (区切り記号を選択)、次へ
  5. (すべてのボックスをオフにし、テキスト修飾子に「なし」を使用します)、次へ
  6. 日付ドロップダウンからymdオプションを使用します。
  7. 完了をクリックします
1
rwb