Excel関数を使用して日付を表示し、月の1日や2日を空白にする方法

このQ&Aのポイント
  • Excel関数を使用して日付を表示する方法について説明します。特に、月の1日や2日を空白にする方法に焦点を当てています。
  • 具体的には、DATE関数とIF関数を組み合わせて、指定した日付が月の1日から2日の範囲に該当する場合は空白を表示し、それ以外の場合は指定した日付を表示する方法です。
  • また、WEEKDAY関数を使用して曜日を表示する方法についても触れています。ほかにもExcel関数を使用して日付操作を行う方法がありますので、それについても確認してみてください。
回答を見る
  • ベストアンサー

日付を表示

H3に日付を入力してます。 B6にこの関数を入力してます。 =IF(DATE(YEAR($H$3),MONTH($H$3),1)*DATE(YEAR($H$3),MONTH($H$3),-5+ROW()),DATE(YEAR($H$3),MONTH($H$3),-5+ROW()),"") これをB6~↓にコピペしてます。 なんだか違う気もしますが、無事に表示されてます。 やりたい事は、月によって日数が変わるとき例えば 29日や31日など この時現在は空いたセルによく月の1日や2日が表示されるのを空白にしたいのです。 後上記の関数以外の用方法がありますか! ちなみにC列には、WEEKDAY関数で曜日を表示させてます。 おねがいします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

大分なんだか変な,もとい大変な計算をなさっているようですが, B6を =IF(MONTH($H$3-DAY($H$3)+ROW(B1))=MONTH($H$3),$H$3-DAY($H$3)+ROW(B1),"") などのようにします。 #参考 式中の「H3-DAY(H3)+ROW(B1)」の部分は,あなたがご自分で編んだ「DATE(YEAR(H3),MONTH(H3),ROW()-5)」と書いてももちろん構いません。 #おまけ >ちなみにC列には、WEEKDAY関数で曜日を表示させてます。 大概の場合この書きぶりをなさる人は間違ったやり方をしています。 方法1: C6に =B6 と記入し,セルの書式設定の表示形式のユーザー定義で aaa と設定しておく 方法2: C6に =TEXT(A6,"aaa;;;") のように計算する。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

B6セルを、 =IF(MONTH(DATE(YEAR($H$3),MONTH($H$3),-5+ROW()))=MONTH($H$3),DATE(YEAR($H$3),MONTH($H$3),-5+ROW()),"") にしてB6~↓にコピペ、してみてはいかがでしょう。

BIG1fukuoka
質問者

お礼

回答ありがとうござます。 タッチの差でお礼とさせていただきます。 助かりました!

関連するQ&A

  • 【Excel2000】土・日曜日を考慮した日付+α

    現在セルB1には『A1に入力した日の月末日付+月末休日の場合は前日』が出るようにしてあります。 セルA1 = 日付 セルB1 = IF(WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,0))=1,(DATE(YEAR(A1),MONTH(A1)+1,0))-2,IF(WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,0))=7,(DATE(YEAR(A1),MONTH(A1)+1,0))-1,DATE(YEAR(A1),MONTH(A1)+1,0))) ここに『A1が25日以降の場合は翌月20日+翌月20日が休日の場合は後日』という設定を加えたいのですが、可能でしょうか?  ・A1 = 2011/07/10 → (結果) B1 = 2011/07/29(金)  ・A1 = 2011/07/25 → (結果) B1 = 2011/08/22(月) どうしても不可能であれば別セル(C1など)でも構いません。

  • Excel2007 日付関数について教えて下さい。

    A1に例えば「2012/5/22」と入力すると B2に翌々月10日の日付を入力するため 関数「=DATE(YEAR(A1),MONTH(A1)+2,10)」 と関数を入れました。 A1に日付が入れば翌々月10日の日付を返してくれるのですが A1が空白だと「1900/3/10」の値を返してきます。 日付が入っているとややこしいので消すもしくは日付じゃない値を返すことは出来ないでしょうか よろしくお願いします。

  • 日付表示に関する質問です。

    仮にA1のセルに月の数字「2」と入れた時に、A2~のセルに2月の日付が自動更新されるような関数を他の質問者への回答(下記表記)で一応処理出来ました。 =IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW()-1))=$A$1,TEXT(DATE(YEAR(TODAY()),$A$1,ROW()-1),"m/d"),"") ここで質問なのですが、表示させる"m/d"の状態であれば月の日数分(28or29or30or31)のみの表示でうまく切れるのですが、"m月d日"とすると正式な日数分を超え(例えば30日の月であれば次の月の1日が入る)て入ってしまいます。 これは何故なのでしょうか? また、"m月d日"の形で上記を修正表示する事は可能でしょうか? 当方、関数自体もさほど使った事がなく、限りなく初心者に近いので、分かりやすく教えて頂ければ幸いです。 どうぞよろしくお願いいたします。

  • 行の時の日付表示の仕方

    いつもお世話になります。 WindowsXP Excell2003です。 列での日付の表示で 月ごとに変わる 31、30、28、29日の日付を下記の式で対応をしています。 B1 2010 C1 1 A1 =DATE(B1,C1,1) 2010/1/1 A2 =IF(MONTH(A$1+ROW(A1)-1)=MONTH(A$1),A$1+ROW(A1)-1,"") 01 A3 =IF(MONTH(A$1+ROW(A2)-1)=MONTH(A$1),A$1+ROW(A2)-1,"") 02 ・ ・ ご教示をいただきたいのは 行で A2~ 日付を表示するときの数式です。 B1 2010 C1 1 A1 =DATE(B1,C1,1) 2010/1/1 A2 ~ よろしく御願いします。

  • エクセルの日付の求め方

    いつもお世話になります。 直近の締め日の求め方の質問です。 例えばA1に3/15と入力したらB1に2/20を求めたいのです。 =DATE(YEAR(A1),MONTH(A1)-1,20) としてみたのですが、3/1-3/20までは2/20と求められるのですが、 3/21-3/31に対して3/20と求めたいのに2/20となってしまいます。 IF関数を組み合わせれば良いのかもしれませんが、 わかりません。 宜しくお願いします。

  • Excelで曜日を表示させると、「土」となるエラー

    Excelで、A1に日付を記入して、B1に曜日が表示されるようにB1に関数を =TEXT(A1,"aaa") または =CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") と入力したのですが、A1が空白だと「土」と表示されてしまいます。出来れば何も表示されないようにしたいのですが、 何か、解決する方法はあるのでしょうか? ご回答お待ちしております。よろしくお願いいたします。

  • 月末を動的に表示、非表示にする

    エクセルで、年、月を入力するとその月の日付が動的に表示されるものを作っています。 月末の問題で、31日の日もあれば30日の日もあるため、 DATE(YEAR(年),MONTH(月)+1,1)-1で月末を求め、IF文で制御しようと、 IF((DATE(YEAR(年),MONTH(月)+1,1)-1)=31,"31","")という式を入れているのですが、 30日の月も、31日の月も日が表示がされません。 どこに問題があるのでしょうか。かなり切羽詰っています。 エクセルの関数は苦手のため、 お詳しい方がいらっしゃいましたらご回答お願いします。

  • MONTH関数について

    Excel2007のMONTH関数について教えて下さい。 あるサイトに次のような作り方がありました A1に2012 B1に2 A2に =DATE(A1,B1,1) A3に =IF(MONTH(A$2+ROW(A1))=B$1,A2+1,"") A3をA32までオートフィル 3/1になると空白になる そこで質問です MONTH関数は、「月」の数字を求める関数ですね MONTH関数の括弧の中でROW(A1)を加えるとなぜ月替わりまで 同じ月になるのか 例えば2月の29日までは、「2」 3月1日になると「3」になるのか判りません。 その理由を教えて下さい。

  • Excel2007 毎月の第1月曜日を表示したい。

    Excel2007です。 毎月の第1月曜日を表示するため、調べたところ =DATE(YEAR(B2),MONTH(B2),1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2),1),2)+1の式を見つけました。 ほとんどの月は、うまく表示されるのですが第1月曜日が1日の時がうまく表示されません。 すなわち、 B2に2009 B2に6 として とし2009年6月の第1月曜日を表示させようとすると、2009/6/8と表示され2009/6/1と表示されません。 IF関数等でで第1月曜日が8日のときは、1日とする数式をご教授ください。

  • エクセル関数について

    エクセル関数の使用方法について教えてください。 また、ストップしてしまいました。 日付から曜日を求められるように、CHOOSE関数とWEEKDAY関数を使用して以下のとおり入力しました。 (実際のセルの表示は違うのですが、分かりやすいようにA1とB1にしました) CHOOSE(WEEKDAY(A1),"(日)","(月)","(火)","(水)","(木)","(金)","(土)") 曜日を表示したいセルはB1です。 私としては、A1に日付が入力されていない場合は、関数が入っていても、B1は空白であってほしいのです。 いろいろ調べていたら、IFERROR関数が有効?のようなのですが、ソフトが古いらしく対応しておりません。 このような場合はどのようにしたら解決できるでしょうか。 因みに、IF関数の使用を試みたのですが、うまくいきません。 詳しい方、どうか教えてください。 よろしくお願いします。

専門家に質問してみよう