Excelの日付が数字になるときの対処法
Excelで日付を入力すると、『41510』のような数字になることがあります。
これはExcel内で日付が1900年1月1日を起点にした日数で日付が管理されているからです。
この数字をシリアル値といいます。
セルごとに変更する方法
数式で変更する方法
C言語やPHPなどで変更する場合
日付は1900年1月1日を1としたときの整数値
時刻は24時間を1としたときの小数値
日時は日付の整数値と時刻の小数値をたしたものになります。
UNIXタイムの起点となる1970年1月1日のシリアル値は『25569』です。
セルごとに変更する方法
数字になってしまったセルを右クリックして、『セルの書式設定』をクリックします。
『表示形式』タブ内の『分類』から『日付』を選択します。
どのような日付形式の表示にするかは『種類』から選択します。
数式で変更する方法
[参考記事] Excelの日付や時間の表示形式(書式記号)の一覧
数式バーなどで
="日付は"&C7&"です"
と入力して表示すると
日付は41510です
と表示されてしまうことがあります。
この場合、TEXT関数を使います。
TEXT関数を使い、
="日付は"&TEXT(C7,"yyyy年m月d日")&"です"
と入力して表示すると
日付は2013年8月24日です
と正しく表示がされるようになります。
C言語やPHPなどで変更する場合
Excel内の日付は1900年1月1日を起点とした日数となるシリアル値で管理されているため、
シリアル値を24時間×60分×60秒とした秒数から1900年1月1日のUNIXタイムを引けば対象となる日付のUNIXタイムが得られるように思います。
しかし1970年1月1日以前の日付のUNIXタイムはmktimeなどでは正しく得られません。
これはC言語やPHPではUNIXタイムが1970年1月1日を起点としていてマイナスのUNIXタイムを扱うことができないからです。
そこで例えば1970年1月1日のシリアル値は『25569』となるので、
対象となる日付のシリアル値から『25569』を引き、1970年1月1日を起点としたシリアル値に変換するといいです。
date("Y-m-d",24*60*60*($date_serial-25569))
ただ対象となる日付のシリアル値から『25569』を引き24時間×60分×60秒をかけた値はたまたま正しく日付が得られているだけです。
実はこれで得られたUNIXタイムは対象の日付の9時となります。
時差が加算されるからです。
2000年1月1日のシリアル値は『36526』なので、
date("Y-m-d",mktime(0,0,0,1,1,2000)+24*60*60*($date_serial-36526))
のようにすると時差を考慮した値が得られます。
関連記事
- Google ChromeでHTTPリクエストヘッダーのAccept-Languageを変更する方法
- Windows10で自動更新を停止させる方法(Windows Updateの停止)
- プログラムでもっとも正確に日本の祝日を求める方法(内閣府公表CSVの過去3度の改訂履歴)
- IntelのCore i CPUの接尾辞(末尾のアルファベット)まとめ
- 4Kモニタで画面がたまに点いたり消えたりしてちらつくときの対処法
- ブラウザでJPG画像を保存しようとすると.jfifの拡張子で保存されるのを.jpgに戻す方法
- /dev/random と /dev/urandom の違い
- 破損したストレージからのデータ復旧
- glibcを更新するとdateコマンドが新元号の令和に対応します
- ata1.00: SRST failed(errno=-16) と出る場合
- Googleカレンダーの共有の予定をiPhoneに表示させる方法
- Googleアカウントのプロフィール画像を削除する方法
- サイトマップ(sitemap.xml)のつくり方とちょっとしたテクニック
- 改行コードのCRとLF (キャリッジは印字ヘッドのことではありません)
- telnetの反応がなくなった時に接続を強制的に切断する方法
- サイトの安全性を確認するサービス McAfee SiteAdvisor
- Yahoo!の検索エンジンの歴史(Inktomi Corporationとは)
- Y!J-BSC/1.0 crawlerの挙動(ページ内のRSSを必ず読みに来る)
- Windows8でOutlook ExpressやWindowsメール、WindowsLiveメールのデータを移行する方法
- いろんな検索エンジンのウェブマスターツールの一覧
- 「ID」や「ID_xxxx」という文字列があるCSVファイルをExcelで開くとSYLKエラーが出る
- Excelの日付や時間の表示形式(書式記号)の一覧
- 64bit版Windowsで32bit用のProgram Filesフォルダのパスを取得する方法
- ユーザーフォルダのパスを取得する方法
- ユーザーアカウント制御(UAC)を無効にする方法(Windows設定の変更通知を無効にする)
- Shift_JISの別名、EUC-JPの別名
- 64bit版か32bit版のどちらかを調べる方法
- サイトの削除されたページや、ページの過去の状態を見る方法
- オープンソースライセンスの一覧と日本語訳(全52種類)
- Google Chromeで一部の文字だけ四角記号に文字化けするときの対処法
- Google Chromeでテキストエリアtextareaのサイズ変更をさせない方法
- Outlook ExpressからWindows Liveメールにメールを移行する方法
- Windows Liveメールのバックアップと復元 エクスポート・インポート
- Windows Liveメールで差出人をメールアドレスでの振り分けができない
- Windows Liveメールでメールの振り分けをする メッセージのルール
- PNG画像の特徴
- JPEG画像の特徴
- Failed to get proc address for D3DPERF_SetOptions (d3d9.dll)
- 東芝のPCでリカバリディスク作成ツールを使用する方法(TOSHIBA Recovery Disc Creator)
- Windows Updateができないときの対処法(エラー番号:80072F8F)
- 上書きしてしまったファイルを復元する方法
- Windows7内で互換モードで動作しないアプリケーションを実行するXPモード
- Thunderbirdのデータをエクスポート、インポートする手順
- 名前が青色や緑色で表示されるファイルやフォルダの意味
- Outlook Expressのバックアップと復元
- 本当のFAQとは 富士サファリパークのCMソング
- Microsoft Security Essentials Alertを偽装した不正プログラム
- ウイルスの種類(マルウェア・トロイの木馬・スパイウェア・アドウェア)
- Googleなどの特定のサイト表示が遅い場合の対処法(Windows7など)
- btdna.exe とは BitTorrent(BitComet)の正しいアンインストール方法
- Messages of type message/partial are not supportedとは
- 日本語変換が急にできなくなる
- Macでスリープにしても勝手に解除される
- GIFファイルの既定のプログラムをWindows フォトビューアーにする方法
- メールやFTP、ベーシック認証のパスワードを忘れたときの対処法
- 『アイコンの整列』でショートカットが2箇所に分かれる
- 1e100.netとは
- メッセンジャーで日本語が入力できない
- FAT32のファイルシステムで扱える最大ファイル数は65,535個?21,845個?
- Thumbs.dbを作成しないようにする設定
- .NET Framework セキュリティ更新プログラム KB928366
- ユーザ会の一覧
- Windows標準以外のデフラグツール
- Firefoxでファイル名を指定して保存する方法
- ExcelのCSV形式で17行目からカラムの数が変わる
- Firefoxの検索バーにあるGoogleのアイコンを新しくする方法
- 踊り字
- 入力フォームの記入例、テスト用のメールアドレスでやってはいけないこと
- Beep音を無効にする
- RSS 2.0の作り方
- ブラウザの一覧
- アクセスするだけでルーターがクラッシュするサイト
- GIF画像の特徴
- WindowsXPの壁紙『草原.bmp』
- 記号の名称(呼び名)
- FlashMXでゲーム6種類 イースターエッグ
- Flash8でゲーム6種類 イースターエッグ
- Windows98のスクリーンセーバー イースターエッグ
- Excel97のフライトシュミレーター イースターエッグ
- Microsoft Outlook 97のスタッフロール イースターエッグ
- Word97でピンボール イースターエッグ
- Windows98 のイースターエッグ WELCOME スタッフロール
- Internet Explorer 5.0 のイースターエッグ Trident team
スポンサーリンク