エクセルで日付から週数を求める方法

このQ&Aのポイント
  • エクセル2010を使用して、d/m/yy形式の日付から週数を求める方法について教えてください。
  • データベースから受け取った日付がd/m/yy形式で書かれており、その日付から今日までの週数を小数点以下を切り捨てて求めたいです。
  • 回答の際には、roundup関数やtoday()関数を使用したり、日付の書式変換を試みましたがうまくいきませんでした。
回答を見る
  • ベストアンサー

エクセルでd/m/yy形式の日付から計算する

いつもお世話になっています エクセル2010を使用しています あるデータベースから日付のデータがd/m/yy形式で書かれたデータをいただきました (たとえば、2010年4月15日なら15/4/10となっています) このデータから今日までが、何週間あるのかを、小数点以下の値は切り捨てて求めたいと思いました たとえば、6/11/10(2010年11月8日)から今日(22/11/10(2010年11月22日))なら16日であり、2週間なので、2という数値が出たらうれしいのです roundup関数やtoday()などをつかったり、日付にdate(right(セル番地,2),mid(セル番地,4,2),left(セル番地,2)など、悪戦苦闘しましたが、できませんでした 良い方法はないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • fmasa
  • ベストアンサー率100% (3/3)
回答No.3

一度、「データ」の「区切り位置」の機能で / を判定させて年月日を分けてみてはいかがでしょうか。 その後 = 年 & "/" & 月 & "/" & 日 で戻し、 = int ( DATEDIF(最初の日,最後の日,"d")/7 ) なんかでできると思います。(実際やってみましたができてました。) 頑張ってくださいね。

westonian
質問者

お礼

お答え、ありがとうございました (所用でお礼が遅くなり、失礼しました) 書いていただいた通りの方法で、考えていたことができました わずかに補足すると 1) A1にデータ”14/11/10”(2010年11月14日)が入っていたとすると、A1を選択してから、 2) 「データ」「区切り位置」機能で、ヘルプに従いB1,C1,D1にデータを分割して表示できるようにし、 3) E1に”=date((2000+D1),C1,B1)”といれると、E1に”14/11/10”がひっくり返った2010/11/14が出現し、 4) 最後にF1に”=int((todady()-E1)/7)”で、F1にA1の日付から今日までの週数が切り下げられて、整数値で答えが出ていました datedif関数は、まだ使いこなせていませんが、また使ってみたいと思っています 優しい励ましの言葉に、「よーし、がんばるぞ」という気持ちまでかきたてられて、とっても嬉しいお答えでした。ありがとうございました

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

ANo2 merlionXXです。 先ほどはシリアル値だという前提で回答しましたが、万一、文字列だった場合は =INT((TODAY()-TEXT(A1,"d/m/yy"))/7) でやってみてください。

westonian
質問者

お礼

merlionXXさん、2回目のお答え、ありがとうございました ANo3さんの教えていただいた方法で、何とか答えを出せるとわかり、回答を締切り、ベストアンサーを選び終わった時点で、merlionXXさんの2つ目の答えが出ていたことに気が付きました 教えていただいた方法で計算すると、そのままにきれいに答えが出ました (データが入っていたファイルの上で計算すると、セルの書式が変な設定になっていて、うまく計算できず、それもお礼が遅くなった原因でした) エクセルに精通している方にお聞きすると、かくもスマートな方法が出てくるのだと、感激しました。 素晴らしいお答えだと思います。 また、今後ともよろしくお願いします。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

日付のデータがd/m/yy形式であっても、それは表示形式で、中身はシリアル値の日付なんでしょ? 文字列じゃないですよね? ならば、A1セルにデータがあるなら =INT((TODAY()-A1)/7) でいかがでしょう?

westonian
質問者

お礼

お答えありがとうございました (所用でお礼が遅くなり、失礼しました) merlionXXさんには、後でお答えいただいたのですが、ご推察通り、シリアル値ではなく、文字列データになっていました。 この式では、うまくいきませんでした。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

15/4/10 がA1に入力されているとするわ。 B1に =TEXT(A1,"dd/mm/yy") と入力して御覧なさい。 これでなんとかなるんじゃないかしら?

westonian
質問者

お礼

お答えありがとうございました (所用でお礼が遅くなり、失礼しました) 確かに、この式できちんと計算できるように数値が、普通の年月日のデータに変化しました text関数というものは、今回初めて知りました。勉強になりました またよろしくお願いします。

関連するQ&A

  • エクセルVBAで日付の形式表示が出来ません

    エクセル2000です。 sheet(1)のセルに日付データが代入されています。 そのデータををsheet(2)のセルに代入し、"NumberFormat"を使い表示形式を「**年**月**日」と設定しましたが実際のセルには左詰めで「**/**/**」と表示されてしまいます。 「**年**月**日」と表示させるにはどうしたらいいでしょうか?

  • エクセルで8-8という番地が日付になってしまいます

    郵便番号の更新データ(.csv)をダウンロードし エクセルで開いたいのですが8-8という番地のセルが 8月8日になってしまいました。 書式を文字型にしても日付→文字という変更で 38207と表示されてしまいます。元の8-8にする 方法はありますでしょうか?

  • エクセル日付での質問

    エクセルにて以下の形を作りたいのですがどのようにしたらいいのでしょう?? セル1=「平成17年2月8日」←今日の日付(=today())を使用してます。 それを参照させセル2へ「No050208-01」を日付へ連動して自動入力したい。※最後の「-01」は任意で入力できればベストですが、時間等が参照されてもOKです。 さらにセル3へ「有効期限 平成17年2月末日」と上記日付を参照し自動入力したいわけです。 もうお分かりの通り「見積り書」です。 ・作成日時(現在日時) ・見積り書No ・有効期限(作成日時の末日) を全て自動入力したいです。 宜しくお願いします。

  • Excel 日付

    エクセルで日付順に並べ替えをしたいのですが、 2012年10月30日 2012年11月4日 2012年1月25日 2012年4月14日 2012年7月20日 の様に、10月、11月が優先されてしまいます。 正しく表示されるには、どうしたら良いでしょうか? 西暦と月を別々のセルに表記しなければならないでしょうか? データは“セルの書式設定”で、“日付”を指定しています。

  • Excelにおける日付

    仕事用に他部署からデータをExcelでいただいたのですが、1万件近くのデータが入っており、このデータの日付が全て7桁の数値として入力されているため、活用できず困っています。 Excelに詳しい方のお知恵を拝借したく、質問に参りました。 行いたい処理は、Excelのあるセルに「20050301」という7桁の数字が入力されている場合、これを別の1つのセル内に「2005年3月1日」という日付として認識させたいのです。 そういったことはできるのでしょうか? セルの書式で、表示形式をユーザー定義・####年##月##日とすれば、「2005年03月01日」と表示させることは簡単にできますが、そうではなく、7桁の数字を日付として認識させ、日付関数を使って日数の計算をしたいのです。 A1セルに「20040301」、B1セルに「20050301」と入力されているとしたら、これをそれぞれ「2004年3月1日」、「2005年3月1日」と認識させ、その間の日数が365日という結果を算出するのが目的です。 ダイレクトにできなければ、途中にいくつかの列を経由しても構いません。 よろしくお願いします。

  • excelで日付に関する関数

    excelで以下のようなことができる方法を教えてください。 TODAY関数で今日の日付を取り、一週間以内の指定した曜日の日付を返す方法がわかりません。 例えば今日(2012/2/24)から一週間後の2012/3/2の間での月曜日の日付(2012/2/27)を返すものです。 わかる方がいれば教えてください。

  • EXCEL2007で、セルに「ユ-ザー定義(yy/m/dd)」で日付を入力し保存しましたが、日付がいつの間にか変更されています。

    EXCEL2007を使用しています。 会社の出荷リストとして使っています。 セルの項目は、1列目に下記項目を入れ2列目から実際のデータを入れています。(データは6200行程使っています。) A2(セル番号)・・・製造番号 B2(セル番号)・・・台数 C2(セル番号)・・・支営番号 D2(セル番号)・・・出荷日 E2(セル番号)・・・代理店名 F2~Q2・・・いろいろ セルのD列に、セルの書式設定で「ユ-ザー定義(yy/m/dd)」で日付を入力し、保存しましたが、いつの間にか日付が変更されている箇所があります。 最初は、出荷日や製造番号順に並び替えをするからこのような現象が起こるのかと思いましたが、並び替えをやめても、いつの間にか日付が変更されている箇所があります。 ご存知の方、よろしくお願いいたします。

  • 【エクセル】日付を表示させたいのに割り算になる

    「今日の日付 2012/11/22」(=TODAY())と、その「1か月後の日付 2012/12/22」(=EDATE(A1,1))で、表示させた日付を別の1つのセル上に表示させたいと思っています。 その際、(=A2&A3)というような式を記入するのですが、 表示されるのは「41235 41265」といった、割り算をした結果になってしまいます。 「2012/11/22 2012/12/22」 といったように、日付を同セル上に羅列するにはどうすればよいでしょうか? よろしくお願い致します。

  • エクセルでの日数の計算

     こんばんは。エクセルで指定の日付から今日現在のに数を求めるやり方で分からないことがあり質問します。 ・A1のセルに今日の日付を、 =TODAY() と入れました。 ・A2のセルに指定日の日付(例えば2006/03/15)と入れました。 ・A3のセルに =DATEDIF(A2,$A$1,"D")と入れました。 A3のセルには指定日から今日までの日数が表示されます。  そこで質問ですが、A4のセルに指定日から今日の5日後の日数を、A5のセルに指定日から今日の5日前の日数を表示したいのですが、どの様に入力したらよいのか分かりません。やり方を教えてくださいお願いします。 

  • エクセルで日付から曜日を求めたい

    A1のセルに年月が 2012年6月 A7のセルに日付が 1 とデータが入っています。 B7のセルに曜日を求めたいと思っていますが、式はどう書くのでしょうか?

専門家に質問してみよう