アプリ版:「スタンプのみでお礼する」機能のリリースについて

似たような質問があると思いますが、なかなか合ったものが無かったので質問させていただきます。

1か月の活動内容が記載されたカレンダーがありまして、A列に日付が1か月分入っています。
B列に当番の名前を入れたいのですが、毎日では無くて飛び飛びになっています。
具体的には、火・木・土・日だけしか当番の名前は入りません。
月次の予定表を兼ねているので、火・木・土・日だけの表示にする事はできません。
当番は10人で、1年間同じ順番で回ってきます。
大した数ではないので今まで直接打込んでいましたが
何か自動でできるような便利な方法がありましたら教えてください。

もう一つ、C列には、管理者が入ります。
管理者は火・木担当と、土・日担当がいます。
管理者は、曜日固定でいつも同じ人が入ります
こちらも何か便利な方法があれば教えてください。
よろしくお願いします。

A 回答 (4件)

おっと失礼


式中の閉じ括弧が掛けていました、

改定させて下さい

改定前は
勤務者は
=choose(WEEKUDAY(TODAY(),2,"","A田太一","","B垣一郎","","C根安弘","大D桃子")

管理者は
=choose(WEEKUDAY(TODAY(),2,"","Zさん","","Zさん","","Hさん","Hさん")

正しくは
勤務者は
=choose(WEEKUDAY(TODAY(),2),"","A田太一","","B垣一郎","","C根安弘","大D桃子")

管理者は
=choose(WEEKUDAY(TODAY(),2),"","Zさん","","Zさん","","Hさん","Hさん")

WEEKDAYの閉め括弧が抜けてました。
失礼しました。

この回答への補足

回答ありがとうございます。
入力した数式が正しくない、と出るのですが
どうしてでしょうか?

補足日時:2013/04/09 08:37
    • good
    • 0
この回答へのお礼

私の間違いでした。
回答ありがとうございます。

お礼日時:2013/04/09 09:07

こんばんは!


一案です。
少々泥臭い方法になりますが、
↓の画像のようにSheet2に表を作成しておきます。
質問内容では1月に2回のローテーションはないみたいですので、
とりあえずSheet2のC列に2ローテーション分の表を作成。
D2・D3セルには「管理者」の氏名を!
A列はSheet1に表示するための表で10人分だけ表示!

尚、付きが変わるときには前月の最後の担当者の次からの表示が必要だと思いますので、
月替わりにはSheet1の最終担当者と目視で確認し、A2~A11セルに前月担当者の次の担当者から10人を
B列の表を利用してA2セル以降にコピー&ペーストするようにします。

尚、Sheet1はシリアル値の方が何かと便利だと思いますので、余計なお世話かもしれませんが
カレンダーの作成から説明します。

Sheet1のA1セルに西暦年・C2セルに表示したい月を入力します。
Sheet1のA4セル(セルの表示形式はユーザー定義から d(aaa) としておきます)に
=IF(MONTH(DATE(A$1,C$1,ROW(A1)))=C$1,DATE(A$1,C$1,ROW(A1)),"")

B4セルに
=IF(A4="","",IF(MOD(WEEKDAY(A4),2)=1,INDEX(Sheet2!A$2:A$11,IF(COUNTIF(B$3:B3,"*?")=10,10,MOD(COUNTIF(B$3:B3,"*?"),10))),""))

C4セルに
=IF(B4="","",IF(WEEKDAY(A4,2)>5,Sheet2!D$2,Sheet2!D$3))

最後にA4~C4セルを範囲指定 → C4セルのフィルハンドルで下へ(月末の34行目まで)オートフィルでコピーすると
画像のような感じになります。

以上、長々と書きましたが参考になりますかね?m(_ _)m
「エクセルの当番表を作りたいのですが」の回答画像3
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/04/09 09:05

仮に「A田太一」「B垣一郎」「C根安弘」「大D桃子」の四人がこの順番で勤務に就いているとします。



勤務者は
=choose(WEEKUDAY(TODAY(),2,"","A田太一","","B垣一郎","","C根安弘","大D桃子")

管理者は
=choose(WEEKUDAY(TODAY(),2,"","Zさん","","Zさん","","Hさん","Hさん")

これで如何でしょうか?
簡単明瞭ですね。

名前は実勢に併せて変更して下さい。
TODAY()の部分は 表中の日付を示している場所を指し示し直して下さい。


お役に立てていたならば幸いです。
    • good
    • 0

A1,B1,C1,D1,E1セルに、それぞれ、日付、当番の名前、管理者の名前、当番選択日、管理者選択日、というタイトルを記入しておきます。



A2セルから下に日付があるとして、D2セルに、
=IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=3,WEEKDAY(A2)=5,WEEKDAY(A2)=7),1,"")
と入力して下にドラッグコピーします。これで、火・木・土・日の行は1、他はブランクになります。

次に、D1セルを選んで、昇順に並べ替えます。
これで、選択日の行が最初に並びます。

B2セルから下に、10人の当番の名前を、順番に記入します。

次に、B2からB11までの10人分のセルを選んで、D2セルに1が記入されているところまで、下にドラッグコピーします。
これで、全ての火・木・土・日の行に当番10人の名前が自動的に順番に記入されます。

C2セルから下に、4人分の管理者の名前を、順番に記入します。

次に、C2からC5までの4人分のセルを選んで、D2セルに1が記入されているところまで、下にドラッグコピーします。
これで、全ての火・木・土・日の行に管理者の名前が自動的に順番に記入されます。

あとは、A1セルを選んで、昇順に並べ替えて、日付順の表に戻します。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
非常に分かりやすく簡単なので気に入りました。

お礼日時:2013/04/09 09:10

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

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