tatsu99様 昨日は「VBAシフト表における従業員の固定休のプログラムについて」の件ありがとうございました。
従業員の休みに対応したVBAプログラム、活用させていただいております。
昨日の今日で大変申し訳ないのですが、今回の質問は勤務管理表の休み以外のセルに、設定シートにある従業員の担当業務を勤務管理表シートに割り振りするプログラムについてご教示頂きたく質問致しました。

添付した画像を例に構築したいVBAプログラムをご説明させていただきます。
日にちは14日から一ヶ月とします。
上段の設定シートと下段の勤務管理表シートは同じExcelファイルになります。キャプチャする為に分割致しました。
設定シートの表は各従業員の担当業務になります。
それを勤務管理表の「休」以外のセルに優先1の業務をそれぞれの担当者に出力。
一日の業務には必ず「会議」、「事務」、「営業」を組み込みます。
14日を例としますと「営業」担当のCさんが休みの為、Eさんが「営業」担当になります。
17日は「会議」担当のBさんがお休みの為、Aさんが「会議」担当になります。
この様に「休」のセル以外に、担当常務を割り振るプログラムとその担当者が休みの場合に違う担当者が変わりを勤めるプログラムを作成したい内容になります。
また文字の色の条件を「サポート」は赤、「会議」は緑、「営業」は黄色、「事務」は水色と設定をしたいです。
勤務管理表の休みの関係で担当業務の「会議」、「営業」、「事務」を出力した際に重複があった場合はMsgBoxで「重複があります!」のメッセージを。また背景を赤で表示させたいです。

以上が私が構築したいプログラムの内容になります。

tatsu99様 よろしくお願い致します。

「tatsu99様 VBA勤務管理表の業務」の質問画像

質問者からの補足コメント

  • tatsu99様、設定シートの各従業員担当業務の表の最新キャプチャ画像を添付致しましたのでこれを例にお礼からご説明致します。

    「tatsu99様 VBA勤務管理表の業務」の補足画像1
    No.5の回答に寄せられた補足コメントです。 補足日時:2017/05/15 12:05

A 回答 (18件中1~10件)

下記URLに記述しました。


http://climbi.com/b/10180/0
標準モジュールに登録してください。他のマクロとはべつのモジュールに登録してください。

設定シート記入時の条件です。
1)優先1で業務の重複不可
2)優先1=ヘルプの場合、優先2~優先4は空白扱いとする。(設定しても無視する)
3)優先1=サポートの場合、優先2~優先4迄、全て設定してあることが必須。
4)優先1=会議、又は事務又は営業の場合(以降専従要員とする)
  優先2~優先4は設定してもしなくても良い。
  (優先Nが空白の場合、以降の優先の指定は無視する)

業務を割り付けるときの手順です。
空白の欄が割りつけ可能なセルになります。このセルに「休」などの文字が設定されている場合は、業務を割りつけません。
「休」以外の文字も割り付け不能なセルとして扱います。
1)1人出勤の場合、
 会議、事務の何れかが割り付け可能なら、優先順位に従い、どちらかを割り付ける。
 上記以外の場合は、空白を割り付ける。
2)2人出勤の場合
 ①会議及び事務の割り付けが可能なら、以下の方法に従う。
  一方がどちらかの業務しか割り当てられない場合は、その業務を割り当て、他方に別の業務を割り当てる。
  両方がどちらの業務も割り当てられるなら、高い方の会議の優先順位を持つものに会議を割り当て、他方に事務を割り当てる。
  会議の優先が両方同じなら、高い方の事務の優先順位を持つものに事務を割り当て、他方に会議を割り当てる。
 ②上記①ができない場合は、以下の処理をする。
  一方が会議も事務も割り付け不能なら空白とし、残りの他方に1人出勤のケースを適用する。
 (他方は会議、事務、空白の何れかになる)
  上記以外は、以下の処理をする。(両方会議のみ割り当て可能、又は両方事務のみ割り当て可能)
  割り当て可能な業務について高い方の優先順位を持つ方にその業務を割り当て、他方は空白とする。
3)3人出勤の場合
 ①1人がヘルプの場合は、その人に空白を割り当てる。残りの2名については2人出勤のケースを適用する。
  上記で終了
 ②専従要員3人の場合、優先1の業務を3人に割り当てる。
  上記で終了
 ③専従要員2人、サポート要員1の場合
  専従要員2人に優先1の業務を割り当て、残りの業務をサポート要員に割り当てる。
  上記で終了。
4)4人出勤の場合
 ①1人がヘルプの場合は、その人にヘルプを割り当てる。残りの3人は、3人出勤のケースを適用する。
  上記で終了
 ②上記以外(専従員3人、サポート要員1人の場合)
  専従要員3人の場合、優先1の業務を3人に割り当てる。サポート要員にはサポートを割り当てる。
  上記で終了
5)5人出勤の場合
 ①専従要員3人に優先1の業務を割り当てる。サポート要員にはサポートを割り当てる。ヘルプ要員にはヘルプを割り当てる。

不具合があれば、連絡ください。できるだけ対応します。但し、仕様の変更及び追加についてはご遠慮ください。
今回は対応しましたが、今後は私宛に質問&依頼をされましても回答できる保証はありませんのでご了承ください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
感激です!
不具合などございません。
活用させて頂きます。
色々と触って勉強致します。
今後の対応の件ご理解致しました。

tatsu99様。
この度は私の質問にお付き合いと、また分り易い丁寧なプログラム説明のご教示を頂きありがとうございました。

お礼日時:2017/05/19 06:11

5人体制にすることにより、かなり、簡単になりましたが、それでもまだ複雑な部分があります。


サポート担当者には、優先2~優先4に全て設定を行う予定でしょうか。(従って、サポート担当者はどの業務も割り当て可能)
もしそうであれば、更に、割り当て方法が簡単になり、更に納期が短縮できますがいかがでしょうか。
優先2~優先4に、会議、事務、営業を設定するときの、優先順位は特に問いません。
    • good
    • 0
この回答へのお礼

No.16の回答にお答え致します。
例として、Cさん、Dさん、Fさん出勤の場合は、
Cさん優先1の「営業」、Dさん優先1の「事務」、Fさんは「会議」の割り当て不能なので空白。・・・・①
となります。
それとも、このケースは、実質的には、2人出勤のケースになるので、「会議」と「事務」を割り当てることが優先されるので、
Cさん優先2の「会議」、Dさん優先1の「事務」、Fさんは「営業」の割り当て不能なので空白。・・・・②

②の方でお願い致します。

Cさん、Dさんの2人出勤の場合は、Cさん優先2の「会議」、Dさん優先1の「事務」・・・③
となります。
はい、そうです!
こちらで問題ございません。

No17の回答
サポート担当者には、優先2~優先4に全て設定を行う予定でしょうか。(従って、サポート担当者はどの業務も割り当て可能)
はい、今後割り当てる予定です。

宜しくお願い致します。

お礼日時:2017/05/17 15:30

>ではtatsu99様、優先1で業務の重複なし「サポート」、「ヘルプ」も重複なしの5人体制でのプログラム作成をお願い致します。


>人件費の問題もありますので5人体制での勤務管理表に致します。

承知いたしました。
念のため、確認しますが、優先1で「ヘルプ」となった人は、他の業務は担当できません。
優先2~優先4は、必ず空白となります。
従って、ヘルプ以外の業務割り当てきません。割り当て結果は、「ヘルプ」か空白の何れかになります。
宜しいでしょうか。


No12で確認の回答をいただいてないものがありますので、再確認します。

あなたが提示された出勤者3名の場合の要件です。
>②ここで重ね条件があり出勤者3名の日の条件は「会議」、「営業」、「事務」を優先番号高い者から割り振る。それ以外は空欄処理。
>例:No5の添付画像を例にします。Aさん、Bさん、Cさんが出勤の場合はBさん優先1の「会議」Cさん優先1の「営業」Aさんは残りの優先3の「事務」を割り当てる。
>例:Aさん、Cさん、Dさんが出勤の場合はCさん優先1の「営業」Dさん優先1の「事務」Aさんは残りの「会議」を割り当て。
>例:Bさん、Dさん、Eさんの出勤の場合はBさん優先1の「会議」Dさん優先1の「事務」Eさんは営業がないので空欄処理。

上記の要件にあてはめると、
例として、Cさん、Dさん、Fさん出勤の場合は、
Cさん優先1の「営業」、Dさん優先1の「事務」、Fさんは「会議」の割り当て不能なので空白。・・・・①
となります。
それとも、このケースは、実質的には、2人出勤のケースになるので、「会議」と「事務」を割り当てることが優先されるので、
Cさん優先2の「会議」、Dさん優先1の「事務」、Fさんは「営業」の割り当て不能なので空白。・・・・②

私が確認したかったのは、①なのか②なのかということです。
あなたが提示された出勤者2名の場合の要件に従うと、「会議」と「事務」が必須で以外は空白です。
Cさん、Dさんの2人出勤の場合は、
Cさん優先2の会議、Dさん優先1の「事務」・・・③
となります。

Cさん、Dさんが2名出勤の状態(③の割り当て)で、役に立たないFさんが出勤すると、①の割り当てと
なってしまうのはいかがなものかと。
    • good
    • 0

ちなみに、優先1で業務の重複なし(サポート、ヘルプも重複なし)なら、5人体制となります。


この条件で良いなら、格段に業務の割り付け方法が簡単になります。
現在、マクロで作成で悩んでいる原因は、優先1にサポートが2名(将来的には3名)になる為です。
    • good
    • 0
この回答へのお礼

ちなみに、優先1で業務の重複なし(サポート、ヘルプも重複なし)なら、5人体制となります。
この条件で良いなら、格段に業務の割り付け方法が簡単になります。
なるほど!
ではtatsu99様、優先1で業務の重複なし「サポート」、「ヘルプ」も重複なしの5人体制でのプログラム作成をお願い致します。
人件費の問題もありますので5人体制での勤務管理表に致します。

よろしくお願い致します。

お礼日時:2017/05/17 04:40

>設定表の従業員の優先1においては重複がおきない様に設定致します。


これが、適用されるのは、会議、事務、営業の3つのみではないでしょうか。
サポート、ヘルプも重複させないなら、6人体制はあり得ません。

No13の例はサポートが2人の場合です。
    • good
    • 0

現在、わかっている範囲で不明なのは、3人体制の以下のケースです。


>ここはNo5の補足の添付画像から
>Aさん 優先1=サポート、優先2=会議、優先3=事務、優先4=営業
>Bさん 優先1=会議、優先2=事務
>Cさん 優先1=営業、優先2=会議
になります。
>Aさん、Bさん、Cさんの場合は3名出勤の条件の3業務を割り振るので、Bさん「事務」、Cさん「会議」、Aさん「営業」にそれぞれ割り振るというものになります。
>Aさん、Bさんの2名の場合は2名出勤の条件の2業務を割り当てるので、Bさん優先2「会議」、Aさん優先3「事務」になります。

私が確認したいのは、添付図の状態ではなくて、設定シート上で
Aさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Bさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Cさん 優先1=ヘルプ
と定義されていた場合で、
Aさん、Bさん、Cさんの3人体制の場合、どうなるのかということです。
(設定シートに上記のような設定はあり得るはずです)

添付図にできるだけ沿った例ならば、(Aさんは優先順位は変更、Eさんは業務が追加されています)
Aさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Eさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Fさん 優先1=ヘルプ
が定義されていて
Aさん、Eさん、Fさんので3人体制のケースです。
(このような設定は実際には行わないかもしれませんが、あり得るはずですのマクロ作成時は考慮しておく必要があります)
    • good
    • 0
この回答へのお礼

あ、なるほど。
上記の例が設定されていた場合の話ですね。
また私の言葉足らずな説明で申し訳ございません。
上記の設定は作らないと思って下さい。
設定表の従業員の優先1においては重複がおきない様に設定致します。
これは1日の業務を重複しない様にする為です。
私の説明で分かりますでしょうか?

お礼日時:2017/05/16 16:28

ほぼ要件は確定したかと思いますので、検討に入りますが、難航しそうです。


現在、わかっている範囲で難航しそうなのは、「最適の業務を優先順位に従い割り付ける方法」です。
これは、割り付け可能なパターンが複数あるとき、どのパターンを採用するかを決める方法です。
例えば、提示例での2人体制でAさん、Bさんの場合、
①Aさん=事務、Bさん=会議
②Aさん=会議、Bさん=事務
の2つが考えられますが、望まれているのは①と考えられる為です。(Bさんの優先1が会議の為)
①②のいずれでもよいなら、多少は容易になりますが、①を期待する場合は、十分検討する必要があります。

又、提示例では、Eさんはサポートのみ、Fさんはヘルプのみですが、将来的には、Aさんのように全ての業務が可能になる
ことを想定してマクロを作成する必要があります。そのような時、「最適の業務を優先順位に従い割り付ける方法」
をきちんと確定しておかないと、「割り付けは間違ってはいないが、期待する割り付けになっていなかった」となる可能性があります。
よって、この割り付けの方法について、十分検討したいので、最大1週間ほど、時間をいただけませんでしょうか。
1週間後に完全に期待する割り付け結果を出力するマクロを提示できる保証はありませんが、検討します。
もし、多少の妥協(スペックダウン)が必要になる場合とか不明点がでた場合、その都度、ご連絡します。

現在、わかっている範囲で不明なのは、3人体制の以下のケースです。
Aさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Bさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Cさん 優先1=ヘルプ
上記の3人体制の場合、
Cさん=空白は、決定できますが、
Aさん、Bさんは何を割り当てるのでしょうか?
①Aさん=営業、Bさん=事務
②Aさん=事務、Bさん=会議
①、②のどちらでしょうか。
要は3人体制で1人が空白の場合は、残りの2人を2人体制の場合のルールを適用するか否かということです。(①なら適用しない、②なら適用する)
(2人体制を適用する場合は、残りの2人は営業を割り当ててはいけない)

又、3人体制で2人が空白の場合は、残りの1人を1人体制のルールを適用して良いでしょうか。
    • good
    • 0
この回答へのお礼

現在、わかっている範囲で不明なのは、3人体制の以下のケースです。
Aさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Bさん 優先1=サポート、優先2=営業、優先3=事務、優先4=会議
Cさん 優先1=ヘルプ
ここはNo5の補足の添付画像から
Aさん 優先1=サポート、優先2=会議、優先3=事務、優先4=営業
Bさん 優先1=会議、優先2=事務
Cさん 優先1=営業、優先2=会議
になります。
Aさん、Bさん、Cさんの場合は3名出勤の条件の3業務を割り振るので、Bさん「事務」、Cさん「会議」、Aさん「営業」にそれぞれ割り振るというものになります。
Aさん、Bさんの2名の場合は2名出勤の条件の2業務を割り当てるので、Bさん優先2「会議」、Aさん優先3「事務」になります。

お礼日時:2017/05/16 14:15

>4名以上出勤の場合は「会議」、「事務」と「会議」、「事務」、「営業」が割り当てられている場合に限りEさんの「サポート」Fさんの「ヘルプ」が出力される処理。

それ以外は空欄処理。

これは、以下の意味と理解しました。
①「会議」と「事務」が割り当て済みなら、「サポート」、「ヘルプ」を出力する。
②「会議」と「事務」と「営業」が割り当て済みなら、「サポート」、「ヘルプ」を出力する。

そうすると、
>Bさん、Dさん、Eさん、Fさんの場合
>Bさん優先1の「会議」Dさん優先1の「事務」Eさん「空欄」Fさん「空欄」処理です。
とありますが、①のケースに該当するので
Bさん優先1の「会議」Dさん優先1の「事務」Eさん「サポート」Fさん「ヘルプ」処理ではないでしょうか?


それとも①は誤りで、②のケースのみが「サポート」「ヘルプ」出力の条件でしょうか。

もし、①も「サポート」「ヘルプ」出力の条件であるなら、3人体制の場合の条件と矛盾するので、
その場合も問題があります。
    • good
    • 0
この回答へのお礼

②のケースのみが「サポート」「ヘルプ」出力の条件でしょうか。
申し訳ございません。はい、tatsu99様の仰る通り②のケースのみが出力条件になります!

お礼日時:2017/05/16 09:47

>空白処理の定義ですが、私が考えたものになりますが設定シート表のG2セルに「条件」とタイトルをつけ、G3セルに「会議」、


>G4セルに「事務」と入力しこのセルに担当者の優先順位から該当しないものは空白処理という事は可能でしょうか?

「会議」と「事務」を外出しにする理由は何でしょうか?
そうするとマクロとしては、G3セルに「ヘルプ」、G4セルに「サポート」が定義された場合、どうなるのか、
G3セルのみ定義され、G4セルが空白ならどうなるのか等のケースも考慮する必要があります。
このようなケースを含めてまで、要件定義をする必要があるのでしょうか。
又、「会議」と「事務」を外出しにすると、3人体制では、「会議」と「事務」と「営業」が必須であるという前提で、
「営業」のみ内部で抱え込みになってしまいます。
又、「ヘルプ」についても優先1にみ定義可能というような、特別な意味を持たせており、この情報も内部で抱え込みです。
その為、一方で内部抱え込みの情報をもち、他方で一部を外出しにすると、整合性が保障されなくなります。
これについては、外出しでなく「会議」と「事務」固定にしていただけませんでしょうか。


現在まで、私が記憶している業務固有の制約については、以下の点ですが、齟齬があれば指摘ください。
①「ヘルプ」は、優先1にのみ定義可能。そして、その場合、優先2~4に他の業務を定義した場合はエラーとする。
②「会議」と「事務」と「営業」は、優先1に1つだけ定義可能。また、各々1つが定義されていない場合は、エラーとする。
 例 Aさん=「会議」、Bさん=「事務」、Cさん=「サポート」、Dさん=「サポート」、Eさん=「サポート」は、エラー。(営業がない為)
 例 Aさん=「会議」、Bさん=「事務」、Cさん=「営業」、Dさん=「営業」、Eさん=「サポート」は、エラー。(営業2つの為)
③「ヘルプ」と「サポート」は優先1に複数回定義可能。0回でもOKとする。(以下の意味です)
 優先1の例
 A=会議、B=事務、C=営業のとき、D=サポート、E=サポート、F=サポートはOK。
 A=会議、B=事務、C=営業のとき、D=ヘルプ、E=ヘルプ、F=ヘルプはOK。
④1人体制では、担当者を「会議」又は「事務」に割り当て不能の場合、空白とする。
⑤2人体制では、担当者を「会議」及び「事務」に割り当て不能の場合、空白とする。(2つとも揃わないと空白)
⑥3人体制では、担当者を「会議」及び「事務」及び「営業」に割り当て不能の場合、空白とする。(3つが揃わないと空白)
 それとも、3人体制でも、「会議」及び「事務」に割り当てができれば、残りは「サポート」又は「ヘルプ」でも良いのでしょうか。
 そうなると、最初に提示された『一日の業務には必ず「会議」、「事務」、「営業」を組み込みます。』の話は、亡くなったのでしょうか。

⑦4人体制でも、担当者を「会議」又は「事務」「営業」に割り当て不能の場合、空白とする。
 例として、Bさん、Dさん、Eさん、Fさんの場合、
 Eさんはサポートのみなので空白、Fさんもヘルプのみなので空白となる。
 それとも、4人体制でも、「会議」及び「事務」に割り当てができれば、残りは「サポート」「ヘルプ」でも良いのでしょうか。
⑧5人体制も⑦と同様。
 (提示例でAさんをサポートだけ定義し、Aさん、Cさん、Dさん、Eさん、Fさん体制のケース)(会議、事務、営業の3業務は割り当て不能)


又、念の為、確認ですが、設定シートに定義可能な業務は、
「会議」、「事務」、「営業」、「サポート」、「ヘルプ」の5業務のみを想定しています。
任意の適当な文字、例えば「待機」の業務を設定シートに定義すれば、勤務管理表に「待機」が表示されるようなことは考えていません。
もし、このようなことを望まれるなら、今までの確認事項を全て破棄して、最初から要件定義に戻る必要があります。
    • good
    • 0
この回答へのお礼

私がVBAの知識不足の為何か良い方法は無いものかと考えた次第でしたがtatsu99様を返って混乱させてしまい申し訳ございません。
下記に条件をまとめさせていただきました。

①それぞれの担当者は優先順位1、2、3、4の順番で業務を割り振る。
例:Aさんの出勤日は「サポート」Bさんの出勤日は「会議」Cさんの出勤日は「営業」Dさんの出勤日は「事務」Eさんは「サポート」Fさんは「ヘルプ」。
②ここで重ね条件があり出勤者3名の日の条件は「会議」、「営業」、「事務」を優先番号高い者から割り振る。それ以外は空欄処理。
例:No5の添付画像を例にします。Aさん、Bさん、Cさんが出勤の場合はBさん優先1の「会議」Cさん優先1の「営業」Aさんは残りの優先3の「事務」を割り当てる。
例:Aさん、Cさん、Dさんが出勤の場合はCさん優先1の「営業」Dさん優先1の「事務」Aさんは残りの「会議」を割り当て。
例:Bさん、Dさん、Eさんの出勤の場合はBさん優先1の「会議」Dさん優先1の「事務」Eさんは営業がないので空欄処理。

2名以下の出勤の条件に「会議」、「事務」を割り当てる。それ以外は空欄。
例:Bさん、Cさんの二人の場合はBさん優先1の「会議」CさんはBさんの会議と重なり「事務」が無いので空欄処理。
例:Aさん、Dさんの場合Dさん優先1の「事務」Aさんは「会議」割り当て。
例:Eさん、Fさんの場合はお互いに無いので空欄処理。

4名以上出勤の場合は「会議」、「事務」と「会議」、「事務」、「営業」が割り当てられている場合に限りEさんの「サポート」Fさんの「ヘルプ」が出力される処理。それ以外は空欄処理。
Bさん、Dさん、Eさん、Fさんの場合
Bさん優先1の「会議」Dさん優先1の「事務」Eさん「空欄」Fさん「空欄」処理です。
Aさん、Dさん、Eさん、Fさんの場合Dさん優先1の「事務」Aさん「会議」Eさん空欄、Fさん空欄処理
5名出勤のAさん、Cさん、Dさん、Eさん、Fさんの場合
Cさんは優先1の「営業」Dさんも優先1の「事務」Aさんが3業務のうちの「会議」Eさんは3名以上で他の方が3業務の条件を満たしているので「サポート」Fさんも「ヘルプ」に割り当て。

以上が業務割り振りの条件式になります。
私の言葉足らずなご説明で誠に申し訳ございません。

お礼日時:2017/05/16 01:44

返信ありがとうございました。


返信で不明な点ついて以下に述べます。

>2)提示例でBさんとCさんの2人体制のとき、BさんとCさんは何の業務をわりあてるのか?
>  Bさんは「会議」、Cさんは「事務」が出来ないので何も入力無し。

念のため確認ですが、Bさんは「事務」、Cさんは「会議」にはしなくて良いのですね。


>4)提示例でEさんとCさんの2人体制のとき、EさんとCさんは何の業務をわりあてるのか?
>  Eさんはそのまま入力なしの、Cさんは「会議」。

Eさんはサポートではないのでしょうか?

>上記の「会議」、「事務」に該当しない場合の処理をそのまま片方、無視するなどの処理は可能でしょうか?
これは、空白出力(入力無し)と理解しましたが、その要件がきちんと定義できれば、可能です。

空白(入力無し)を出力する場合の要件ですが、判らなくなりました。
①Eさん1人体制は、サポートではなく、空白なのですか。
Fさん1人体制は、ヘルプになっていますが、それなら、Fさん1人も空白にならないと矛盾しませんか。
それともヘルプ業務だけの人は、一切他の条件を無視して、「ヘルプ」割り当てですか?

②2人体制で、EさんとFさんの場合も、同様です。
 Eさん、「空白」で、Fさん「ヘルプ」でしょうか。

③3人体制で、Cさん、Eさん、Fさんの場合は、
Cさんは「会議」、Eさんは空白、Fさんは「ヘルプ」ですか。

あなたが考えている、空白出力(入力無し)の要件をきちんと提示していただけると非常にありがたいのですが。
その人が空白(入力無し)になる条件を全て網羅して、いただけませんでしょうか。
    • good
    • 0
この回答へのお礼

不明な点についてご回答申し上げます。
>2)提示例でBさんとCさんの2人体制のとき、BさんとCさんは何の業務をわりあてるのか?
>  Bさんは「会議」、Cさんは「事務」が出来ないので何も入力無し。
念のため確認ですが、Bさんは「事務」、Cさんは「会議」にはしなくて良いのですね。
誠に申し訳ございません。私の回答間違いです。
tatsu99様が仰る通り、Bさんは「事務」、Cさんは「会議」です。

>上記の「会議」、「事務」に該当しない場合の処理をそのまま片方、無視するなどの処理は可能でしょうか?
これは、空白出力(入力無し)と理解しましたが、その要件がきちんと定義できれば、可能です。
可能なのですね!

担当者の業務が空白(入力なし)になる条件を全てご提示致します。
空白処理の定義ですが、私が考えたものになりますが設定シート表のG2セルに「条件」とタイトルをつけ、G3セルに「会議」、G4セルに「事務」と入力しこのセルに担当者の優先順位から該当しないものは空白処理という事は可能でしょうか?
これは「会議」、「事務」が一日の業務の中の絶対条件であるという事になります。
また「会議」、「事務」の片方が重複する場合もその担当者は空白処理。
私の言葉が足りず誠に申し訳ありません。
Eさんが一人体制の場合は「事務」、「会議」が出来ないので「空白処理」。
Eさんは4人以上の時にサポートに割り当てられる。
Fさんが一人の場合もヘルプしか出来ないので空白処理。
申し訳ございません金曜日の図が間違っていました。
正しくはFさんは空白です。
Fさんも4人以上の時にヘルプに割り当て。

以上が空白処理の定義になります。
よろしくお願い致します。

お礼日時:2017/05/15 20:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q売り上げ表の作り方、テンプレート

自営業してます、自動車板金塗装業です。月初めから末締めの売り上げで、請求書書いてます。請求書のテンプレートはありますが、売り上げ表のテンプレートありません
毎日個人、業者から金額まちまちの仕事入ってきます、
末日で締めて゛、一月一月、1月から12月まで毎日売り上げ表につけたいです、エクセルテンプレートありましたら教えてください、
毎日見て書いてると楽しい、張り合いも。

Aベストアンサー

テンプレートではないですが
http://www.excelspeedup.com/uriagesyuukei/
データベース内に特に年月の列を作らなくても
ピボットテーブルでは日付のデータから年月をグループ化して集計も可能です

Amazonの本のカテゴリーで 「Excel 決算」をキーワードに検索するといいかも

Qtatsu99様、何度もすみません

tatsu99様、前々回からお世話になっております。
http://climbi.com/b/10201/0
上記のマクロがようやく期待通りに動いたと思って抽出されたリストをよく見てみたら、
日付で指定した列の抽出データをコピーする際、空白部分を飛ばしてペーストされておりました。
空白部分も含めて列をコピーして貼り付けるようにしていただきたいのですが、可能でしょうか。

Aベストアンサー

いただいたExcelの方を修正しました。下記URLになります。
http://climbi.com/b/10201/1

おみやげ表の使用量が空白の時、各シート(札幌ラーメン等)の受注数には0を格納するようにしました。(これが最も少ない修正量なので)
おみやげ表の緑部分に集計結果を出力しますが、Case 33 等の数値(33)は、その品名に該当する行番号です。実際の設定にあわせてください。
(私の方でいただいたExcelのおみやげ表の緑部分にあわせました)

Q勤怠表のテンプレート

電気工事の会社に勤務してますが、今まで事務の人がいなくて、何をしたらいいのか全然わかりません。職人の勤怠表を就業時間の合計と深夜残業と現場別就業時間の合計を出してくれと言われても前歴の勤怠表もなくて困ってます。勤怠表を簡単に出せるテンプレートまたは、事務に役立つテンプレートがあったら教えて下さい

Aベストアンサー

オフィス
http://office.microsoft.com/japan/TemplateGallery/default.aspx
テンプレートリンク
http://www.yakudarts.com/top3.htm

http://yosisyo.genkicity.or.jp/temprate/excel.html
http://www.shinsyoren.or.jp/ogata/lzh/lzh.html
http://www.vector.co.jp/soft/win95/business/se107272.html
http://www.fukumi.co.jp/tips/excel_tool.htm
http://www.roumu.com/soft/
http://www.pasoq.co.jp/shopping/soft/data/JCN0200.html
http://www.isize.com/computer/download/dir/win95/business/other/08.html


http://www.microsoft.com/japan/Office/2000/BusinessTools/htm/templ.htm
だらだらと書いてしまいました。
お役に立てば幸いです。

オフィス
http://office.microsoft.com/japan/TemplateGallery/default.aspx
テンプレートリンク
http://www.yakudarts.com/top3.htm

http://yosisyo.genkicity.or.jp/temprate/excel.html
http://www.shinsyoren.or.jp/ogata/lzh/lzh.html
http://www.vector.co.jp/soft/win95/business/se107272.html
http://www.fukumi.co.jp/tips/excel_tool.htm
http://www.roumu.com/soft/
http://www.pasoq.co.jp/shopping/soft/data/JCN0200.html
http://www.isize.com/computer/download/dir/win95/business/...続きを読む

Qtatsu99様 先程修正していただいたマクロの件

tatsu99様 先程は大変お世話になりました。
先程修正していただいたマクロを別のブックにコピペして、シート名だけ変更したのですが、最後に返ってくる数値が1以上はある筈なのに、すべて「0」になって帰ってきてしまいました。シート名が英語になってしまったのが原因でしょうか。
何かアドバイスいただけると助かります。

マクロは下記URLにあります。
http://climbi.com/b/10201/0

Aベストアンサー

http://climbi.com/b/10201/0
のソースを確認しました。
誤りはなさそうです。環境に問題があるかも知れません。
1)シート名の両端又は途中に空白などが入っていませんでしょうか。(空白があるとシート名が不一致になります)
2)今回のシート名で、セルの位置が変わったものがないか、又は、セルの値が、(本来あるべきところが)空白になっていないか。
等の確認が必要かと思います。

Qエクセルの表中の数字を消して、テンプレートとしたい

エクセル(version2002)で作った表の、数字だけを効率的に消す方法はありますでしょうか?
数字だけを消して、テンプレートとして保存したいのです。
かなり大きな表で、ひとつひとつ数字を消していては、かなり時間がかかりそうなのです。

宜しくお願いします。

Aベストアンサー

数式が入力されているセルを探す-ジャンプ
http://www.relief.jp/itnote/archives/002032.php

表のセル範囲を選択(Ctrl+Shift+:)し
上記ページの説明で
[選択オプション]ダイアログ-[数式]オプションボタンをOnに

[選択オプション]ダイアログ-[定数]オプションボタンをOnに
として試してください。
データセルが選択されたなら、Deleteキーでデータ消去

QVBAシフト表における従業員の固定休のプログラムについて

VBAの従業員の固定休を求めるプログラムを教えていただきたいご質問になります。
添付した画像を例とします。
シートの名前を勤務管理表とし、A3セルから下にAさん、Bさん、Cさんと入力されています。
ここでは3名とします。
例えば別シートのA1セルにAさん。A2セルに休みの「金」、A3セルに「月」の文字を入力。
それを勤務管理表のAさんのB3セルから左のセル欄に「休」を出力し、またBさん、Cさんも同じ様に入力したい内容になります。

勤務管理表で従業員を50名程作成しなくてはならず作業効率向上の為、一括で入力したいと思いましたので、どなたか詳しい方のご回答をお待ちしております。
よろしくお願い致します。

Aベストアンサー

以下のマクロを標準モジュールへ登録してください。
休みの指定は、添付図のようにB~H迄の列に指定します。
1,2行はマクロ実行前に既に作成されていることが前提、A列の3行以降の従業員名も実行前に作成されていることが前提です。
-----------------------------------------------
Option Explicit
Public Sub 休日割当()
Dim sh1, sh2 As Worksheet
Dim dicT As Object
Dim row, col, maxrow As Long
Dim key, wk As String
Dim i As Long
Set dicT = CreateObject("Scripting.Dictionary")
Set sh1 = Worksheets("休日表")
Set sh2 = Worksheets("勤務管理表")
maxrow = sh1.Cells(Rows.Count, "A").End(xlUp).row 'Sheet1 A列最大行
'従業員の休みの曜日を取得
For row = 1 To maxrow
key = sh1.Cells(row, "A").Value
wk = ""
'B列からH列まで休みの曜日を取得
For col = 2 To 8
If sh1.Cells(row, col).Value = "" Then Exit For
wk = wk + sh1.Cells(row, col).Value
Next
dicT(key) = wk
Next
maxrow = sh2.Cells(Rows.Count, "A").End(xlUp).row 'Sheet2 A列最大行
'休みの設定領域をクリア
sh2.Range("B3:AF" & maxrow).Clear
For row = 3 To maxrow
key = sh2.Cells(row, "A").Value
If dicT.exists(key) = False Then
MsgBox (key & "は休日表に未登録です。処理を打ち切ります。")
Exit Sub
End If
wk = dicT(key)
For i = 1 To 31
col = 2 + i
If sh2.Cells(2, col).Value = "" Then Exit For
If InStr(wk, sh2.Cells(2, col).Value) > 0 Then
sh2.Cells(row, col).Value = "休"
sh2.Cells(row, col).Interior.ThemeColor = xlThemeColorDark1
sh2.Cells(row, col).Interior.TintAndShade = -0.249977111117893
End If
Next
Next
MsgBox ("完了")
End Sub

以下のマクロを標準モジュールへ登録してください。
休みの指定は、添付図のようにB~H迄の列に指定します。
1,2行はマクロ実行前に既に作成されていることが前提、A列の3行以降の従業員名も実行前に作成されていることが前提です。
-----------------------------------------------
Option Explicit
Public Sub 休日割当()
Dim sh1, sh2 As Worksheet
Dim dicT As Object
Dim row, col, maxrow As Long
Dim key, wk As String
Dim i As Long
Set dicT = CreateObject("Scripting.Dicti...続きを読む

Q旅行日程表 テンプレート

旅行会社が発行するような旅行日程表のテンプレートをダウンロードできるサイトはないでしょうか?約1か月間の旅行日程を入れたいのですが。microsoftでも探しましたが気に入ったものがなくてーーー

Aベストアンサー

Microsoft Officeをお持ちでない場合
http://arkr.kingsoft.jp/graduation-trip-schedule-kingsoft-spreadsheets/

お持ちの場合
http://www.ab.auone-net.jp/~over/menu/menuexceroute/

「旅程表 テンプレート ソフト」当たりのキーワードでいくらでも出てきますよ。

QVBAの最終行を求めるプログラムを指定範囲にするプログラム

お世話になっております。
Excelの表でE2セルからE30セルまでデータが入力されており、そのセルの最終行を求めるプログラムをmaxrow=Cells(Rows.Count, "E").End(xlUp).row
としておりました。
しかしE31セルから下に異なるデータを入力する事になり、上記のプログラムですと上書きして出力してしまう問題が起こる為、セルの範囲をE2セルからE30セルまでに指定する方法をご教示いただきたい内容になります。

よろしくお願い致します。

Aベストアンサー

単純にmaxrow=Cells(30, "E").End(xlUp).rowでよいと思います。

この時にE1からE30まで空っぽの場合、maxrowは1を返します。
2-maxrowが0より大きければ、範囲内は空っぽだと判断できると思います。

Q納品書や請求書のテンプレートで表計算できるフリーソフト

納品書や請求書のテンプレートで表計算できるフリーソフト

質問があります。納品書や請求書のテンプレートを探しています。
各項目に金額を打ち込むと、合計の欄で自動的に計算できる
ようにしたいです。こういうのはエクセルで作業するかとは
思いますが、私はエクセルを入れてないので、フリーソフトで
おすすめはありますでしょうか?
宜しくお願いいたします。

Aベストアンサー

7でも大丈夫みたいですよ。

もし、インストールするのがいやなら
ポータブル版もありますよ。
http://freesoft-100.com/usb/office.html

QVBAの指定範囲での指定文字の色変更についてご教示ください

VBAの指定範囲での特定文字の色変更についてご教示をお願い致します。
添付画像を例とします。
A~Cセルまでの範囲で「みかん」=オレンジ、「りんご」=赤、「ぶどう」=紫。
とする為にはFont.colorをどの様に組み合わせればよろしいのでしょうか?

よろしくお願い致します。

Aベストアンサー

Sub sample()

For i = 1 To 3
For j = 1 To 3
Select Case Cells(i, j)
Case "みかん"
Cells(i, j).Font.Color = RGB(255, 55, 0)
Case "りんご"
Cells(i, j).Font.Color = RGB(255, 0, 0)
Case "ぶどう"
Cells(i, j).Font.Color = RGB(128, 0, 128)
Case Else
Cells(i, j).Font.Color = RGB(0, 0, 0)
End Select
Next
Next
End Sub

Sub sample()

For i = 1 To 3
For j = 1 To 3
Select Case Cells(i, j)
Case "みかん"
Cells(i, j).Font.Color = RGB(255, 55, 0)
Case "りんご"
Cells(i, j).Font.Color = RGB(255, 0, 0)
Case "ぶどう"
Cells(i, j).Font.Color = RGB(128, 0, 128)
Case Else
Cells(i, j).Font.Color = RGB(0, 0, 0)
End Select
...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報