Excel に日付を表示する列がありますが、日付形式ではなくテキスト形式であり、月または日に 1 文字が含まれる日付の値の前にゼロが含まれません。
たとえば、2017/1/3 または 2017/11/4 がありますが、これを 2017/01/03 // 2017/11/04 に変更したいとします。
日付形式を使用せずに簡単な方法でこれを行うにはどうすればよいですか? 以下は、長すぎて複雑すぎる私が試した方法です:
- 日付を年、月、日に分割する
- 月の長さが 2 未満の場合、月の前に 0 を追加します。
- 一日の長さが2未満の場合、日の前に0を加える
- 新しく建てられた日付
答え1
例として使用している日付はすべて、Excel で日付として完全に認識できます。したがって、希望どおりにフォーマットでき、Excel で直接計算に使用できる「実際の」日付が必要な場合は、次のようにします。
1) 元のデータを残し、書式設定可能な日付データを利用できるようにするには、作業を行う場所 (複数の列、または別のページなど、スキームに合う場所) で、数式 =A1*1 (日付がセル A1 にある場合) を使用します。また、希望どおりに書式設定します ("yyyy/mm/dd" または "yyyy/dd/mm" — 例では、md と dm のどちらであるかが明確ではありません)。
[この問題では興味がないようですが、テキスト日付があり、それを他の数式で使用したいだけの場合、通常は数式でそれらを参照するだけでうまくいきますが (1 週間後の日付を取得するには ...A1+7... のように)、それを実行しても失敗する奇妙な、さらにはユニークなケースがあるかもしれません。その場合は、この乗算を実行するだけで、上記の例は ... A1*1+7... になります。]
2) 元のデータを「実際の」日付に置き換えたい場合は、日付の範囲を「テキスト」から「yyyy-mm-dd」のカスタム形式に再フォーマットし、どこかのセルに「1」と入力してそのセルをコピーし、日付の範囲を再度選択して、[貼り付け] | [特殊] | [乗算] を選択します。これにより、テキストから数値に変更すると、Excel がそのアイデアで再計算しないという問題が解消されます。単一のセルの場合は、再フォーマット後に F2 キーを押し、次に Enter キーを押す (すぐに、変更を加えずに) と、同じことが面倒なく実行されますが、このような日付が 14,293 個ある場合は...
3) 「テキストを列に」機能を使用して 2) の結果を実現することもできます。データを選択して「テキストを列に」をクリックし、「固定幅」を選択して幅の線マーカーを「10」に配置し、最後に列データ形式として「日付」をクリックします。「完了」を押すと、希望する形式を適用できる実際の日付の列が作成されます。
正直に言うと、1 回限りの使用であれば、3) は 2) よりも簡単そうに見えます。また、3) は「その場で」行われるため、構造を乱すことはありません。しかし、何年もの間、誰かが日付を追加するたびに、それを実行したいとは思わないでしょう。ただし、「1 回限りの使用」は何度も発生する可能性があります。たとえば、データを空にして、毎週新しいセットをロードするとします。その場合、3) は失敗ではありません。また、そのアプローチは、毎回使用するための小さな記録されたマクロを作成する方が簡単です。
さて、ちょっとした答えが少し長くなってしまったので...
答え2
日付はテキスト形式なので、Excel の日付に変換する最も簡単な方法を提案したいと思います。
以下をせよ:
0
セルに入力してコピーするか、空白のセルをコピーすることもできます。- 日付範囲を選択します。
- 右クリックポップアップメニューから貼り付け形式それから手術オプションをクリック 追加& 終了 わかりました。
- これで日付は数値のようになります
43322
。 - 日付はすでに選択されているので、右クリックメニューからクリックセルの書式設定指示。
- 最後に
yyyy/mm/dd
フォーマットを適用して終了わかりました。