【エクセル2003】入力規則のリストから土日のセルを取り除きたい。

このQ&Aのポイント
  • エクセル2003を使用して、入力規則のリストから土日のセルを取り除きたい場合、以下の手順を実行します。まず、作成しているカレンダーを使用してリストを作成します。
  • 次に、営業日以外の日付を抜き取りたい場合は、作業列を使用して営業日以外の日付を「-」にしたリストを作成します。
  • その後、リストをドロップダウンリストとして使用することができます。ドロップダウンリストでは、営業日以外の日付は空欄("")として表示されます。
回答を見る
  • ベストアンサー

【エクセル2003】入力規則のリストから土日のセルを取り除きたい。

仕事でエクセルを使って、「各営業所の最大繁忙日」データを収集しているのですが、 各営業所の担当者に毎月一番忙しかった日付をエクセルへ入力してもらおうとすると、 「4月13日」や「4/13」など、ばらばらの書き方になってしまうので、 入力規則のリストを使って、日付を選択する方法にしようと思いました。 既に作成してあるカレンダーを使い、リストを作ることは問題なくできたのですが、 通常のカレンダーなので土日や休業日も入ってしまっています。 せっかくなので、リストから関係のない 営業日以外の日付 を抜き取りたいのですが、 特定のセルだけ抜き取ったリストを作ることは可能なのでしょうか? いろいろ考えたのですが、作業列を使って、 営業日以外の日付を「-」にしたリストをつくり、 視覚的に土日を選ばないようにするのが限界でした。 【参考】 Q列にカレンダーがあり、Q1は年、Q2は月、Q3~Q33に日付が入っています。 ※ Q3には、=DATE($Q$1,$Q$2,1)と入力してあり、Q4にはQ3+1、Q5にはQ4+1・・・と入っていて、 Q1、Q2の数値だけを変えるだけでカレンダー全体が変わるようになっています。 これが上記文章中で言う「通常のカレンダー」になります。 このカレンダーを使い、X3~X33をリスト用カレンダーにするため、 X3以降に下記のように入力し、営業日以外を「-」となるようにしました。 =IF(AND(COUNTIF($V$2:$W$33,$Q3)=0,MOD($Q3,7)<>0,MOD($Q3,7)<>1,MONTH($Q3)=$Q$2),$Q3,"-") 「$V$2:$W$33(祝日リスト)になく土曜でも日曜でもない」=営業日 で、 かつ、Q2と同じ月の日付を返し、それ以外を「-」と返すことで、 視覚的に該当月の営業日のみを選べるようなリストを作りました。 ドロップダウンリスト例) 4/1 4/2 - - 4/5 4/6 ・ ・ ・ この「-」の部分を空欄("")にして、入力規則の「空白を無視する」にチェックを入れれば、 自動的にリストが詰まるのかと思ったのですが、そういったチェックではないんですね・・・。 そのようなリストを作ることは可能なのでしょうか? 分かりにくい説明で申し訳ございませんが、ご教授お願い致します。

  • PPMD
  • お礼率34% (8/23)

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

ANo.1です。 さっきの回答は後からのメンテナンスを考えると面倒でしたね。 営業日のリストを作る方法も……。 W3に =IF(ISNUMBER(X3),MAX(W$2:W2)+1,"") と、入れてW33までオートフィル。 次にAA3 に =IF((ROW()-2)<=MAX(W3:W33),VLOOKUP((ROW()-2),W3:X33,2,FALSE),"") と入れてAA33までオートフィル。 これで営業日だけのリストが出来ました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

次のようにしてはどうでしょう。 通常の日付カレンダーがQ列に有るのですね。そこでリストを作成するためにもう一つ作業列を設けてX3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(COUNTIF(V$1:W$100,Q3)>0,WEEKDAY(Q3)=1,WEEKDAY(Q3)=7),"",MAX(X$2:X2)+1) もう一つ作業列を設け、Y1セルは空白のままでY2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(X:X,ROW(A1))=0,"",INDEX(Q:Q,MATCH(ROW(A1),X:X,0))) この列がリスト作成の基になります。表示形式を日付で望みの表示形式にします。 リスト作成の際の元の値には=Y:Yと入力すればよいでしょう。

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

できるだけ簡単な方法で。 1.ツールメニューのアドインで分析ツールのチェックを入れる(全員) 2.X3セルに =IF(MONTH(WORKDAY(DATE($Q$1,$Q$2,0),ROW(X1),$V$2:$W$33))<>$Q$2,"",WORKDAY(DATE($Q$1,$Q$2,0),ROW(X1),$V$2:$W$33)) と入れて,X33セルまでコピーする 3.挿入メニューの名前の定義を開始し  名前 稼働日  参照範囲 =OFFSET(Sheet1!$X$3,0,NOW()*0,COUNT(Sheet1!$X$3:$X$33),1) と入れて追加する 4.入力規則を開始し  種類 リスト  元の値 =稼働日  とする 以上です。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

リストではないですが、入力値の種類を日付にして以下の様な設定を行う事で営業日のみ入力可能に出来ます。 以下の例では、AA1のセルに入力規則を設定しています。 入力地の種類:日付 データ:次の値に等しくない 日付: =IF(OR(MIN(X3:X33)>AA1,MAX(X3:X33)<AA1,COUNTIF(X3:X33,AA1)<1),AA1,0) 日付に入れる式では、X3:X33の最大値最小値の範囲に収まっていない場合と、入力した日付がX3:X33に無い場合、AA1の日付をそのまま返しています。

関連するQ&A

  • エクセルで条件書式と入力規則を使い、カレンダーを作りたい!

    仕事でエクセルを使って、 「各営業所における営業日の実績データ」を収集しているのですが、 PCを得意としていない人たちが入力していることもあり、 休業日など目的と違うところにデータを入力してしまうことがあります。 そこで、視覚的に入力するところを分かりやすくし、 それでも間違ったところに入力してしまうのを防ぐため、 条件書式と入力規則を使って、カレンダーを作りました。 年月を入力すれば自動的に日付が変わるカレンダーを作り、 日付は正しく反映されているのですが、 営業日と休業日が上手く反映されず、その原因が分かりません・・・。 当社の営業日設定なのですが、 基本的に平日と日曜が営業日で、休業日は土曜と祝日になります。 ただし、平日が祝日だった場合は休業ですが、 日曜日と祝日が重なった場合は営業日になります。 なお、年末年始(12/31~1/3)は休業日になります。 さらにややこしくなってしまうのですが、 GW中(4/28~5/7)の日曜日、年末年始(12/30~1/5)の日曜日は、 長期連休ということで休業日になっています。 エクセルのデータですが、 列Aには日付(A3が1日)、列Bには曜日が入力してあり、 列Cと列Dに実績データを入力してもらう形にしてあり、 ここに条件書式と入力規則を設定しています。 また、セルV2~W33までに各祝日のリストとその振替休日、 加えてそれ以外の休業日(12/30、1/2、1/3)の日付を記入してあります。 前置きが長くなってしまって申し訳ございません。 以下が、私の考えた条件書式と入力規則の流れです。 まず休業日を考え、入力規則のユーザー設定に、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0 ) (※祝日リストに日付があるか、土曜日である) として、さらにGW・年末年始休業の部分を、 AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)), と考えました。また祝日かつ日曜日は営業日となることを、 AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), と考えて、その逆が休業日であることから、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0, OR(COUNTIF($V$2:$W$33,$A3)=0,MOD($A3,7)<>1), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)) ) 上記を休業日として入力規則に入力しようとしましたが、 長過ぎて入らないようなので、GW・年末年始休業の部分を、 必要な該当月ごとに書き換えてみましたが、うまくいきませんでした。 ちなみに、その逆が営業日であるので、条件付き書式の数式に、 =AND( COUNTIF($V$2:$W$33,$A3)=0, MOD($A3,7)<>0, AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), OR(MOD($A3,7)<>1,OR(MONTH($A3)<>12,DAY($A3)<30)) ) と入力し、確認しましたが、やはりダメでした。 (ちなみに、「祝日かつ日曜日」があり「年末年始休業日」もある  2012年12月に設定を入力しながら結果を確認していました。) いろいろ試行錯誤した結果、一つ一つはどうやら正しいので、 組み合わせたときに、「祝日かつ日曜日」と「祝日でない」が 同居しているのが悪いと思うのですが、何か解決策はないでしょうか? 長い文章になってしまい恐縮ですが、ご教授お願い致します。

  • Excel2002 休日の入力を禁止したい

    A1に任意の日付を入力して、B1に2営業日後の日付を表示させます。 シート2は「休日カレンダー」という名前にし、 A1からT20まで数年分の休日の一覧がのっています。 休日を避けた営業日のみ表示する為に B1には以下のような関数があって問題なく営業日のみ表示されています。 =WORKDAY(A1,2,休日カレンダー!A1:T20) ここでA1も休日の場合入力出来ないようにしたいのです。 希望としては任意の日付を直接A1に入力して それが休日だった場合翌営業日にしたいのですが 休日カレンダーを利用して入力規制で「リストに乗った日付が選択された場合は エラーメッセージが表示される」でも構いません。 何か方法はあるでしょうか。

  • エクセル:入力規則のリストとセルの関数は同居できますか?

    エクセル:入力規則のリストとセルの関数は同居できますか? 普通にやるとセルの計算式はリストを選んだ時点でリストの文字に上書きされてしまうので困っています。 (例)   A              B         C 1 2008/08/02        =TODAY 2 ▽リスト           OK 3                NG 4 A2のセルにに =IF(A1>B1,"")と書いたとします。 で、さらにA2のセルに入力規則>リストで範囲B2:B4と設定したとします。 要は、A1に記入した日付が未来の場合は、 A2でリストで選択した文字を空白にしたいのです。 が、どうしてもリストの文字に上書きされてしまうので困っています。 やはり、関数を書いてあるセルに文字を書くと上書きされるのと同じですかね? なるべくVBA以外でなんとかしたいのですが、、、。(でもVBAでも可です)

  • エクセル:日数を求める。

    会社が完全週休2日ではなく、会社カレンダーにて営業しています。 パートさんが在職中(または任意の期間)に会社営業日(所定労働日数)が何日あるのかを算出したいと思っています。 対象者が200名近くいるため、会社カレンダー1つを作成し、後は、個人データとして開始日から終了日を入力すると指定した期間の会社営業日が出せる表を作りたいと思っています。 イメージしては・・・ 【sheet1】          【sheet2】 A列(日付)  B列 2007/4/1    休       A氏 4/2~4/6 =4日 2007/4/2    営業日     B氏 4/1~4/8 =5日 2007/4/3    営業日     C氏 4/4~4/6 =2日 2007/4/4    営業日         ・  2007/4/5    休           ・ 2007/4/6    営業日         ・ 2007/4/7    営業日 2007/4/8    休  ・  ・  ・

  • Excel 営業日のカウント

    Excelについて質問させてください。 ファイルを開く際に、当日の日付と営業日のメッセージを表示させたいと思っています。 当日の日付の表示の仕方はわかるのですが、その日が当該月の何営業日目にあたるのかの表示の方法がわかりません。 シート上に当該月のカレンダーを作っています。そこから計算して営業日を出すのかなぁと思っていますが、検討がつきません。 どなたかお知恵を貸していただけますか?

  • 入力規則の可変リストを作りたい(EXCEL)

    エクセルの初心者です。どなたか教えてください。 添付を見てください。 ●入力リストに「名前」、「申込時期」、「月」、「コース」があります。 ●参照リストにある「申込時期」、「月」、「コース」をそれぞれ入力規則のリストにして 入力リストの名前以外は選択にさせたいのです。 例えば、申込時期の第一期を入力規則のリストから選択すると、月のセルは 自動で7月~9月が設定できるようにしたいです。 都合により、VBAを書くのではなく、関数で実現したいと思ってるんですが これはできないのでしょうか?

  • エクセル関数の日付(長文です)

    セルに年月日で日付が入っています。 同じシートの別のセルにその最初に入ってる日付より2日前の日付を表示させたいのですが、どうしたらいいでしょうか? 最初の日付は別のシートで入力した日付が計算式で入っています。 もう一つの日付は、またさらに別のシートでカレンダーを作成して休日をのぞいたもので入力されています。 最初1営業日前で式が入っているのですが =VLOOKUP(F12,カレンダー,2,FALSE)といった式です。 F12は最初の日付のセルです。 カレンダーは別のシートで作ったカレンダー用のしーとです。 これを2営業日前に変更したいのですが、どこを変えればなりますか? 説明がわかりにくいようでしたらまた補足します。 作った人に聞けば早いのですが、今不在で急いで直さないといけないので。 よろしくお願いします。

  • Excelの入力規則について質問です。

    Excelの入力規則について質問です。 入力規則を日付にしたいのですか、リストの値欄にカンマ区切りで 1,2,3~ 31 と入力するしか方法は無いでしょうか? 1:31の様に、1~31みたいに入力は出来ないものでしょうか? 理想を言えば、月の末日まで表示出来ればうれしいのですが・・・。 ご存知の方、アドバイスよろしくお願いします。

  • リストダウンのセル入力を月日に変換する

    お教えてください。 エクセルのリストダウンで、各セルに数字のみ入力されます。 A1 には年度の2009 、A2には月の1を A3には日付の21 で に2009/1/21になる用にしたいのです。 またはA2 には月の1月をA3には21日 を入力すると2009/1/21を表示する方法。 その後A4には曜日を記入する。間違って月に15などない数字や日にちに34などを入力すると、「再入力してください」の表示がでればなおいいのですが、宜しくお願いします。

  • 入力規則  複数の条件設定する方法を教えてください

    教えてくださいm(_ _)m エクセル2007を利用しています。 今管理している、注文表のメンテを言われ困っています。 表は日付で注文数を管理していますが、 入力規則を利用して、月単位と、日単位で同時に管理できるものに 変更して欲しいといわれました。 1個の入力規則はできるのですが、2個となると??? ユーザー設定などを利用するのかと思うのですが・・・ 月のリスト(B1)を変更すると月単位の実績、日のリスト(C1)を変更すると 日単位の実績を見れるようにしたいです。 *日付欄は、リストからも選べ、直打ち(例:1122)もできるようにしたいです。 実績は、サーバからダウンロードして月3~4万件くらいになります。 それを、(見本のようにSUMIF)を利用して、営業所と商品と日付の検索条件を 固定して集計しています。 何卒、ご教示お願いたします。

専門家に質問してみよう