• ベストアンサー

excel2000 週から日付を出したい

excel2000を利用しています。 自分でなんとかしたかったのですが、うまくいかず、投稿させていただきました。 まずはじめに、下記添付写真を参照願います。 やりたいこと条件 (1)年月と週を指定することで、自動的に、月~日までの日付を表記させたい (2)1日のある週が第一週目という条件 (3)VBAあっても、なくても、どちらでも可 です。 よろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

添付図参照 1.A列の日付は 2012/10/1 のように1日の日付を入力して、年月のみを表示するように書式設定。 2.D~J列は 月日のみを表示するように書式設定。 3.セル D3 に式 =B3+8-WEEKDAY(B3,2)+7*(C3-2) を入力。 4.セル E3 に式 =D3+1 を入力して、此れを右方にズズーッとドラッグ&ペースト

puyopa
質問者

お礼

回答ありがとうございました。 複雑すぎない関数式で、一番求めていたものに近い回答でした。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 各行ごとの4列目(月曜日の日付を表示させるセル)のセルに次の関数を入力してから、4列目のセルをコピーして5~10列のセルに張り付けると良いと思います。 =IF(ISNUMBER(MATCH(RC3,{1,2,3,4,5},0)/DAY(RC2)),DATE(YEAR(RC2),MONTH(RC2),1)-WEEKDAY(DATE(YEAR(RC2),MONTH(RC2),1),2)+(RC3-1)*7+COLUMNS(C4:C),"")

puyopa
質問者

お礼

回答ありがとうございました。 私の理解を超えている内容でした。 勉強して、いずれ理解させていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.1です! 投稿後に気づきました。 7列カレンダーは必要ないですね! No.1は無視してください。 No.3さんと一緒になりますが・・・ ↓の画像でD3セルに =$B3-WEEKDAY($B3,2)+COLUMN(A1)+7*($C3-1) という数式を入れ列方向にオートフィルでコピー! これでOKだと思います。 ※ B2セルの表示形式はユーザー定義から yyyy/m としておき、2012/10 のように入力します。 何度も失礼しました。m(_ _)m

puyopa
質問者

お礼

何度も、ご丁寧に回答頂きありがとうございました。 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

あまりスマートとは言えませんが。   =FLOOR(B3,7)+C3*7 で該当週の土曜日をはじき出します。 他の曜日は足し算引き算ですので、問題なく応用できるでしょう。 B3セルには日付(年月日)が入力されているが、表示形式でYYYY年M月にしている と言うのが条件ではありますが。 > (3)VBAあっても、なくても、どちらでも可 と言うことですから、関数に関しては解説しなくてもご理解いただけるでしょうし、 上記条件以外の時にも応用できると思いますので、そこには言及しないでおきます。

puyopa
質問者

お礼

回答ありがとうございました。 とても、分かりやすくて、簡単で、いいですね。斬新で面白いって思いました。 No2の方の回答と、どっちを使うか、非常に迷いました。どっちがいいのでしょうね・・? 今回はNo2の方の記述を利用させていただきましたが、何かの機会に活用させていただきたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • TammyG3
  • ベストアンサー率30% (34/111)
回答No.3

VBA可と言うくらいですから、「WEEKDAY()関数を使う」でわかるでしょう。 第1週の月曜日の月日は、1日の曜日をWEEKDAY()関数で知る。 幸い数値が返るので引き算で可能。第2引数を3にすると、シンプル。 先頭の月曜日は、A1が1日、B1が第?週として、 = ( A1- WEEKDAY( A1, 3 ) )+ (B1- 1 )* 7                              鎌倉 曽野蜩  

puyopa
質問者

お礼

回答ありがとうございました。 今回は関数の記述で対応させていただきました。 しかし、VBAの記述も教わることが出来て、良かったです。 機会があれば活用させていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一案です。 ↓の画像のように7列のカレンダーを利用する方法です。 (画像では同Sheetにしていますが、目障りであれば別Sheetに作成します) B3セルの表示形式はユーザー定義から yyyy年m月 としておきます。 仮に 2012/10 とだけ入力すれば 2012/10/1 のシリアル値になります。 D6セル(表示形式は好みで!)に =$B$3-WEEKDAY($B$3,2)+COLUMN(A1)+7*(ROW(A1)-1) という数式を入れ列方向・行方向にオートフィルでコピーすると 7列カレンダーが作成されます。 C6セルから下に向かって第何週か?の数値を入力 (必ず1日がカレンダーの1週目になります) 最後にD3セル(こちらの表示形式は好みで!)に =INDEX(D6:D11,$C3) という数式を入れ列方向にオートフィルでコピーすると 画像のような感じになります。 これでB3・C3セルを変更すればご希望通りにならないでしょうか?m(_ _)m

puyopa
質問者

お礼

回答ありがとうございました。 今回利用は見送らせていただきましたが、カレンダー作成の際に使える内容でした。 何かの際に是非活用させていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Excel】日付に関する関数について

    はじめまして。初めて投稿いたします。 下記、わかる方いらっしゃいましたら教えていただきたいです。 指定の2つの日付があります。(日付①、日付②とします) 日付②が、日付①の週の日曜〜土曜の7日間におさまっているかをチェックする関数が知りたいです。 例えば、 指定の日付: ①2024/3/7 ②2024/3/18 ①の週にある日曜(3/3)〜土曜(3/9)に、②の日付がおさまっているかを調べる効率の良い関数はないでしょうか。 (この場合、おさまっていないので×と表示させたいです) もう一つの例 指定の日付: ①2024/3/3 ②2024/3/9 この場合は②が①の週の日曜〜土曜におさまっているので◯と表示させたいです。 関数は必ずしも1つにまとめる必要はなく、何段階になっても構いません。 Excelが得意な方々ご教示よろしくお願いいたしますm(__)m

  • Excel2002の日付け

    MacでExcel2002使用しています。 出納帳を作っていますが、分らない問題が2つあります。 入金のあった際、例えば9/4のように日付けを入力すると9月4日のようにや小数点で変換されてしまうのが一つ。 もう一つは日付けが計算に影響を与えてしまうと言う事です。 例えば各項目を全部足して行くようにSUMを指定すると日付けまで足してしまいます。 日付けの数値は無視するようにしたいのですが。

  • 【Excel】書式設定で日付を27-1-1にする

    書式設定の表示形式にない場合、 たとえば平成27年1月1日を書式設定で 27-1-1 という形にするにはどうしたらよいのでしょうか? またこれには条件があり、リアルの日付に自動変換されないことです。 アスタリスクのある形式(*)2015/1/1 などは、「2015-1-1」と入力しても自動的に今日の日付「2015-4-10」になってしまいますが、「27-1-1」の任意の設定も同様に任意の入力のとおりに表示させるという条件です。

  • 【Excel】日付・時刻のアスタリスク形式について

    Excel2007利用です。 「セルの書式設定」の「表示形式」についてです。 (1)まず時刻についての表示がうまくいきません。 [日付]では「*2001/3/14」で設定すると例えば「2016-1-1」と入力すれば「2016/1/1」と表記されます。 しかし[時刻]についてはできず、例えば「13:30」で設定し、「13-30」と入力しても「13-30」と表記されるだけです。 次にアスタリスクの形式によって変わることについてです。 ------------------------------------------------------------------------------------------------------------------------- [時刻]は、日付/時刻のシリアル値を時刻形式で表示します。 アスタリスク(*)で始まる時刻形式は、オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わります。 アスタリスクのない形式は、オペレーティングシステムの設定が変わってもそのままです。 ------------------------------------------------------------------------------------------------------------------------- [日付]に[時刻]を入れ替えるだけで同じ説明文ですが、双方ともアスタリスクのことについて書かれています。 (2)シリアル値で日付を入れる場合、たとえば「1900年4月9日」を表記させる場合「100」と入力するようですが、http://www3.tokai.or.jp/excel/kansu/hiduke.htm 「シリアル値とは1900年1月1日を1とし、その日からの通算日数と時刻を表す値」ということであり、任意の日数を入れたい場合には、いちいち起算日から数えて入力しなければならないのでしょうか。 シリアル値を使うことはありませんが、どのような目的のためにあるのでしょうか?具体例を教えてください。 (3)アスタリスクの有無は、オペレーティングシステムでの設定によって変化に違いがあるいうことだと思いますが、 *あり➡「オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わる」 *なし➡「オペレーティングシステムの設定が変わってもそのまま」 それぞれの「種類」で設定しても何も変わりませんでしたが、これらの違いについて教えてください。

  • [VBA] 年度を指定し、以降の日付を表示する

    いつも大変お世話になっております。 しばらく、EXCEL担当になり、頻繁にご質問させていただくかもしれませんが、 宜しくお願いいたします。 回答をくださる方々にはいつも大変感謝をしております。 今回は、年度を指定し、以降の日曜日から始まる日付を取得できるVBAを考えております。 プルダウンで年度を指定すると、日曜から始まる日付が「~週」とプルダウンで表示され、 選択すると、固定セル(どこでも可)に 2012/8/15といった形式で、入力されるというものです。 年度指定時に、本日付近の週が表示されるとなお良いです。 追伸 実は、このあと、もう少しややこしい難題がありますので、再度投稿させていただきますが、併せて宜しくお願いいたします。 それでは、何卒宜しくお願いいたします。

  • 【Excel】日付の一桁の数字に自動で0をつける

    ユーザー定義の「日付」では、「2001年3月14日」という(アスタリスクのつかない)書式がありますが、一桁の数字に0がありません。 この日付の書式にするにはたとえば「19-7-19」と打てば自動で「2019年7月19日」と表記されますが、この入力方法で一桁の数字の場合「07月」というように表記される方法がありましたら教えてください。 Excel2007利用です。

  • 指定した日付が、その月の第何週かを求める方法

    月曜から日曜の作業内容を 書く報告書作成画面の作成をしています。 処理の一つに、 作成したい週の月曜の年月日を入力し、 日曜までの日付を自動的に画面に出す、 というものがあります。 さらに自動的に出した日曜日の日付から、 報告書作成週はその月の第何週かを求める、 (今月ですと10/6は第1週、10/13は第2週、 10/20は第3週、10/27は第4週、となります) という処理を作成したいのですが、 良いロジックが思い浮かびません。 (処理する月の日付と曜日を配列に入れて、 ループカウントで第何週かを求める、という 方法は思いついたのですが、効率が悪いと思うので…) 何か良いロジックがありましたら、 書き込みをお願い致します。

  • excel:曜日と日付に色を付ける

    excel2003を使い出勤表を作っているのですが、 日曜日の日付と曜日のFONTを赤にしたいのです。 ログを探してみましたが探し方がへたくそなのか、 見つかりませんので、新規で質問をさせていただきます。 条件付書式で曜日だけFONTの色を赤に変える事は出来たのですが、 これだと日付の色は変わりません。 ちなみに、日付のセル(A6)に当月を入力すると、 日付(Bセル)・曜日(Cセル)が自動的に変わるようにしてあります。 当月の日付を変えたら、日曜日のセルだけ自動的に、 日付・曜日を赤のFONTにすることは可能でしょうか? excelはまだまだ初心者な者で、どなたか教えていただけると助かります。 よろしくお願いします。

  • Excel2003 チェックすると日付が自動表示(日付をチェック日のままに)

    Excel2003で、町内回覧のチェック表を作成したとします。 その際、チェックボックスにチェックをすると、横の閲覧日に自動的に日付が表示されるようにしました。 しかし、エクセルの表を翌日に開くと日付も更新されて、常に「今日」(TODAY)が表示される状態です。 閲覧日=チェックした日の日付のままにする、具体的に教えて下さい。 こちらで検索したところVBAを使えばいいようですが・・・ ■エクセルでの、日付の自動入力について   http://okwave.jp/qa1211065.html

  • 【Excel】日付の西暦を前年のものに変えるには

    Excel2007利用です。 セルの書式設定の表示形式「日付」で入力すると当年(2017年)と自動で入力されますが、2016年12月以前の前年のデータも当年のものになってしまいます。 2016年のデータの日付をその年のものに変える方法を教えてください。

このQ&Aのポイント
  • 塗装業者に依頼してサイディングの塗装を行いましたが、繋ぎ目の塗装が不十分な状態です。
  • 近くで見ると、サイディングの上下の繋ぎ目の塗装が虫食い状態で、小さな穴が開いています。
  • 塗料の不十分な塗装によって、埃や汚れが付きやすくなる可能性があります。塗装業者に指摘するべき問題です。
回答を見る

専門家に質問してみよう