ここから本文です

エクセルを使用して当番表を作成したいのですが良い方法がわかりません。エクセル...

質問者

hei279904さん

2012/5/1201:25:53

エクセルを使用して当番表を作成したいのですが良い方法がわかりません。エクセルはネットでやりかたを検索しながらこなせる程度です。
どのような関数の使い方をすればよいのでしょうか?

条件1 月曜~日曜までの7日間サイクルを40名で均等に週2回は当番に当たるようにしたいのです。一日あたりの当番の人数は11~12人。

条件2 且つ中2日は空ける。


例:月曜日に当たった人は火曜、水曜日には当たらない。日曜日に当たった人は月、火曜日当番にならない。



A B C D E F G
1 月 火 水 木 金 土 日
2 田中 山本 佐藤
3
4
5
6
7
8
9
10
11
12

上記でたとえると「田中」は月、火、水、土、日はNGで月曜に当番をしたので木、金のいずれかに当番になります。

条件付き書式の重複に色づけを考えておりますが
例えばA2:C12に田中が重複すればセルの色が変化する等、範囲での重複チェックのやりかたがわかりません。
よろしくお願いいたします。

補足wassamu197様の回答を試しましたがリストの参照するほうほうがわかりませんでした。

質問の条件付き書式の重複に色づけを考えておりますが・・・・
例えばA2:C12に田中が重複すればセルの色が変化する等、範囲での重複チェックのやりかたがわかりません。
こちらもよろしくお願いいたします。

閲覧数:
5,123
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

naruyucchiさん

編集あり2012/5/1903:28:56

40名週2回当番表です。

L列にスタッフリスト40名を作成します。
現在は3名だけ名前で、他は「S」+番号が入ってます。

この式では、メンバーを正しくセットすれば、重複などを気にする必要は有りません。
[A2]式
=IF(AND(ROW(A1)>11,MOD(MIN(COLUMN(A1),6),2)=0),"",INDEX($L$2:$L$41,MOD(ROW(A1)+(COLUMN(A1)-1)*11+INT(COLUMN(A1)/2)-1,40)+1))

この式をA2にコピーし、A2セルを右、下へコピーして下さい。
最後の、G13セルだけは、クリアして下さい。

≪修正≫式を改良しました。G13をクリアしなくても、空白にするよう修正しました。

投稿画像

この質問は投票によってベストアンサーに選ばれました!

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜1件/1件中

wassamu197さん

編集あり2012/5/1423:10:17

I2セルからI41セルに40人のリストを作ります。
J2セルに次式
=RAND()
K2セルに次式
=RANK(J2,$J$2:$J$41)

A2セルに次式を入力します。
=MATCH(MOD(INT((ROW(I1)+COLUMN(I1)*12.5-12-INT(COLUMN(I1)/2))*0.96),40)+1,$K$2:$K$41,0)
G13セルまで、縦横にコピーします。
A13・C13・E13・G13の4セルをクリアします。

このままでは、Enterキーを押したり、F9キーを押すたびに値が変化します。

要領はお分かりと思いますので、K2セルの値のみL列などに貼り付けて、最後の数式ではL列を参照するように変えるなどしてください。



p.s. この方法では、重複は出ないです。
条件付書式で重複をチェックするときは、以下のようにします。


A2:C12を選択して、
条件付書式
数式が
数式欄に次式を入力します。
=COUNTIF($A$2:$C$12,A2)>1
書式を設定してOKします。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する