• ベストアンサー

Excelで一定の数値の場合だけセルを非表示にしたい

Windows98でExcel2000を使っています。 Exceelで勤務集計表を作成し 毎月同じ形式で使っていこうと思っています。 「12/1」という風に日付が横に並んでいて 下段に曜日が並んでいます。 日付と曜日は、報告日を入力すると それぞれ表示されるようになっています。 (関数を使用) また、日曜日は色がつくようにしています。 (条件書式1つ使用) そこで、最後の31日がある月とない月がありますよね。 その場合、翌月の1日が表示されるのですが、 それを非表示にしたいのです。 列自体はあったほうがいいのですが(印刷の為) 日付と曜日のセルだけ空白にしたいのです。 出来れば、マクロの使用は避けたいのですが 仕方ないですかね・・・(泣) どうすればいいでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

再びmaruru01です。 日付のセルが、B2~AF2とします。 B2に、 =IF(MONTH($A$1)=MONTH(DATE(YEAR($A$1),MONTH($A$1)-1,COLUMN(B2)-1)),"",DATE(YEAR($A$1),MONTH($A$1)-1,COLUMN(B2)-1)) と入力して、フィルハンドルでAF2までコピーします。 なお、式中の 「COLUMN(B2)-1」 は、入力するセルの列番号から、日数を出しています。(こうすると、フィルハンドルで一気にコピー出来るので。) 日付のセルがB列(2番目の列)から開始しているので、1を引いているわけです。 もし、日付のセルがC列(3番目の列)から開始しているのであれば、2を引くことになります。 実際の位置で変更して下さい。 ちなみに、曜日は、 =IF(B2="","",TEXT(B2,"aaa")) で表示出来ます。

tamisara
質問者

お礼

早速の回答ありがとうございます! 出来ました。 って当然ですね。こんなに親切丁寧に 回答を頂けば・・・(汗) というわけで解決いたしました。 後は応用出来るようにこれから復習致します。

その他の回答 (4)

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.4

勤務表私も作りました。12枚のシートに一年分入っています。 これは、エクセル関数だけです。ウルー年についても対応しています。 その年の最初の月の1日の日付を入力すれば一年分日付と曜日が自動で出るようにしてあります。 ここで書くと少し長くなるので、下記のURLで一回、回答していますのでそちらを参考にしてください。 もし、疑問があればそのときはまた回答します。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=397463
tamisara
質問者

お礼

返事が遅くなってすいません。 早速の回答ありがとうございました。 無事解決致しました。 参考になりました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 日付を表示するセルにどのような式が入っているか分からないので、安易なIFを使用した方法です。 ところで、2月を考えると29~31日のセルを考えないといけないですよね。 一応それを考慮して、(今入っている式を"関数式"とします。) 29~31日の日付のセルを、 =IF(DAY(関数式)<29,"",関数式) 要は、入力される日付の日が1とか2などの小さい値なら非表示にするということです。(別に29未満でなくても、3以下でもOK) あとは、報告日の月と比較して違ったら非表示とするという方法もあります。 例えば報告日がA1に"2002/12/13"のように入っていたとすると、 =IF(MONTH(関数式)<>MONTH($A$1),"",関数式) この場合1~31日の全部に同じ式を入れても大丈夫ですね。(つまりフィルハンドルでコピー出来る。) 今入っている関数式によってはもっと簡単になるかも知れません。

tamisara
質問者

補足

返事が遅くなってすいません。 ありがとうございます。 >日付を表示するセルにどのような式が入っているか分からないので、安易なIFを>使用した方法です。 日付のセルには1日であれば =DATE(YEAR($A$1),MONTH($A$1)-1,1) というように入っています。 日付に11月が並ぶ時、A1には12月1日が入っています。 教えていただいた式にこれを当てはめると 何やら不思議になってしまいます。 すいませ~ん(涙) 2月のこともうっかりしてました・・・。 申し訳ないですが、もう少し教えて頂けると 嬉しいですぅぅぅるるる(泣)

回答No.2

翌月だったら表示しないのなら、条件つき書式で文字色を白く(または背景と同じ色に) してしまうのはどうでしょう。 数式が: =month(AD1)<>month($B$2) 書式: 文字色=白 ちなみに31日だけじゃなくて29、30、31の3日間に設定しないと、2月に泣きますよ。

tamisara
質問者

補足

返事が遅くなってすいません。 回答ありがとうございます。 例えば 報告日が12/1(C7)、 表の日付が11/1~30(C9~AK9) なんですが・・・。 めちゃくちゃ甘えてしまってすいません(泣) もし良ければ、回答の式の「AD1」と「B2」に 当てはまるセルを頂ければ幸いです。

  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

日付部分はどのように入力されているんでしょうか? 報告日を入力ということは、関数ですよね? 日付部分、曜日部分でIF関数を使われてはどうでしょう。 勤務集計表と言うことは、報告日の前月分になるんでしょうか? 例えば報告日がA1セルに入ってるとして、(報告日の前月の勤務表を作るとして) =if(month(日付部分に入れている関数)=month(A1),"",(日付の関数) という形でになると思います。 曜日は日付から判断していると思いますからこれも =if((日付のセル)="","",(曜日の関数) とします。 分かりにくかったらごめんなさい。 言いたかったことは、日付から月を割り出し、その月が翌月かどうか比較して 翌月の時は空白を返すIF関数を組むと言うことなんですが。

tamisara
質問者

補足

返事が遅くなってすいません。 回答ありがとうございます。 >日付部分はどのように入力されているんでしょうか? G9~AK9に横並びに入れています。 例えばG9には =DATE(YEAR($C$7),MONTH($C$7)-1,1) >報告日を入力ということは、関数ですよね? すいません。間違いで、報告日は手入力してます。 >勤務集計表と言うことは、報告日の前月分になるんでしょうか? そうなんですっ! なんかカユイ所に手が届いた感じです! >=if(month(日付部分に入れている関数)=month(A1),"",(日付の関数) 「日付部分に入れている関数」と「日付の関数」は同じ式を 入れるのでしょうか? 報告日と同じ月だったら空白、違ったら日付を表示してね、っていう 式ですよね。 そのまま当てはめていくと、なんだか上手くいきません。 もし呆れてなかったら、また教えて下さい(泣)

関連するQ&A

  • A1の曜日が(日)の場合、B1にA1の翌日を表示

    A列に 9/4(日) 9/5(月) 9/6(火) と入力されています。書式設定(aaa)で曜日も表示させています。 A1の日付が「日曜日」の場合は、B1にA1の翌日「9/5(月)」と表示させ 月曜日だったら3日後の日付を表示させ、 さらに、火曜日だったら6日後の日付を表示 出来上がりは  A     B 9/4(日) 9/5(月) 9/5(月) 9/8(木) 9/6(火) 9/12(月)  となります。 数式でも、マクロでも可ですが、作り方がわかりません…。

  • [エクセル]チェックしたセルに書かれている文字の合計

    エクセルで年間の行事予定表を作っています。 4月          5月 -----------------  ----------------- 1日 月   空白  1日  木 v ------------------ ----------------- 2日 火   v    2日 金 空白 ------------------ ------------------  3日 水   v   3日  土 v  ------------------ ------------------ というように、横並びで4月から3月までの表です。 各月は日付、曜日、チェック欄の三列からなります。 (この表示フォーマットはかえられません) 各月ごとに、月曜日~日曜日ごとvがついた合計を 集計したいのですが、よくわかりません。 ご存知の方がいらっしゃいましたら、よろしくご教授ください。

  • EXCELで残りの日数を表示させたい

    EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。

  • EXCELで残りの日数を表示させたい 2

    EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。

  • Excelのセルの色が変更できない

    Excel2010を使用しております。 申告用のデータですが、日付のセルの色を変えようとするのですが、色が変わりません。 B列に日、C列に曜日が入っており、土日はセルの色が自動的にピンクになります。 自動的なのですが、表の上に期間を選ぶドロップリストがあり、期間を選ぶと自動でその 日付と曜日が入力されるようになっています。(リスト用にカレンダーのシートが別にあり、そのシートに色の指定等は特にありませんでした。) 色が変わらないと言いましたが、実際には色が変わっており、リストから違う月を選ぶと 曜日が変わり、塗りつぶしを行った箇所が休日でなければ塗りつぶした色になっています。 おそらくマクロも入っていると思われますが、詳しいものがおらずどこを確認すれば良いか わからない状態です。 このデータが最初に作られたのは2001年ということで13年前のデータになります。 構成は2シート、申告用のシートとカレンダーシートになります。 条件付書式を疑ってみましたが、セルを選択しても条件付き書式はグレーのままでした。 1、使用しているのはExcel2010です 2、セルの塗りつぶしは出来ますが、その上に更に色が乗っているような状態です。 3、条件付書式にはなっていないようです。 4、作成した年月は2001年2月です。 必要とする情報がわかっておりません。 これはどうなっているか等あれば、答えるようにいたします。 よろしくお願いいたします。

  • エクセルの関数について

    エクセルで月間予定表を作っています。(縦に1日から末日までを表示) 年と月を入力すると、日付、曜日が自動的に表示されるようにしたいと思い、日付のところは、1日に、DATE関数を使用し、2日は、1日のセル+1とし、3日以降は、2日の書式をコピーしています。 そうすると2004年2月の場合、29日までなので、30,31日のところが、それぞれ1,2と表示されてしまいます。 1,2と表示される時には、セルを空白にしたいのですが、どんな関数を使ったらいいでしょうか? うまく説明できなくて申し訳ありませんが、どうぞよろしくお願い致します。

  • DATE関数 余分な日にちを非表示にさせる方法

    エクセルの達人の方、教えてください。 DATE関数でカレンダーを自動表示させ、ある集計をしています。 A1 に西暦、B1 に月の数値を入れると、以後の列毎に( C1、D1、E1---)1行目に"日付"、2行目に"曜日"を表示させています。 但し、締め日を起点にしている為、毎月16日~翌15日まで表示をさせており、31日分を表示させなければなりませんが、2月は元より、4月、6月、9月、11月の30日の月の表示の際、どうしても翌月が"16日"まで余分に表示してしてしまいます。 "16日"の表示を非表示にする方法を試行錯誤しています。 関数は、日付けと曜日の最初のセルにDATE関数を入れ、順次(=C1+1、=D1+1---)となっています(セルは表示形式と条件書式で日付けと曜日表示させています)。 最後の31個目(31日目)のセルに、条件書式やIF関数を入れてみたのですが、セルの値がシリアル値の為、引数を他の関数でうまく出来ません。 宜しくお願いします。。。

  • エクセル 表示形式について

    先程も実は質問させていただいたのですが、似たような質問を再度させてください。 日付    曜日 2006/4/1    土 とします。 日付は表示形式で「d」にしました。 曜日は「=A1(2006/4/1のセル)」のようにして、更に「aaa」の表示形式を付けました。 そこで、また今度は条件書式を付けたいのです。 「aaa」と掛けた月火水木・・・に「日」は赤にするという条件書式をつけたいのです。 条件はどのようになるのでしょう。 曜日を文字列で入れていたときには 「セルの値が次の値に等しいときに赤にする」のようにして、書式を赤字に設定していました。 でも曜日をaaaと表示形式かけた時にはどうなるんですか。数式は「=A1」とかですし。。。 どなたか教えてください!><

  • 日付と時間をセルの表示されているように変換したい

    Excel2007でマクロを組んでいるのですが、行き詰まっているのでお願いします。 A列に氏名、B列に月日、C列に時間が記入されています。 B列の月日は書式をmm/dd(aaa)として曜日も表示しています。 C列の時間は13:30のように24時間表記にしてあります。 マクロを使って「○○さんの面談時間は4/11(木)の14:00です」という文を作りたいのです。 そのまま cells(2,1) & “さんの面談時間は” & cells(2,2) & “の” & cells(2,3) & “です” としてしまうと日付が2013/4/11と表示され、年が入り曜日が表示されません。時間は0.583333と数字が表示されます。 これを何とか上記のような文にするためにはどのようにしたらいいでしょうか?

  • Excelにて日付と曜日を自動的に表示できるように…

    ひと月につきひとつのファイル(Excel)で、 その中に1日1枚記入するワークシートが1か月分…つまり1から31まであります。 その1枚ずつに日付と曜日を入れるセルがそれぞれあります。 毎月、前月のファイルをコピーして使用するのですが、 そのため入力する度に日付と曜日を変えています。 これを自動的に表示させる方法はないでしょうか? 例えば10月のファイルなら、 12という名前のワークシートは日付が2005/10/12で曜日が(水)と表示されるような… もし何か名案があればよろしくお願いします。

専門家に質問してみよう