グッドデザイン賞を受賞したウォーターサーバー >>

エクセルでシフトを作成しています。

曜日によって出勤するかしないかがほぼ決まっているので、曜日に応じて休日か出勤かを自動で入力したいのですができますか?

現状、A1に月、C1に年を入力し、それをもとにA4から縦に日付を、B4から縦に曜日を表示させています。

たとえば、ある人は火曜と金曜がお休みなので、
B4が火曜日か金曜日の場合H4に●(休日の意味)を入力それ以外の曜日の場合は1100-2015を入力。
のような感じにしたいです。

また別の人はB4が月・木・金・日の時、N4に●。
B4が火・土の時、N4に1200-2100、
B4が水の時、N4に1800-2100を入力したいです。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

人によっては曜日毎に勤務時間が異なるって事ですね?


それであれば、人と曜日毎の表を作ってそこからシフト表に表示をさせた方が良さそうです。

添付の画像見えますか?
H列の人の一週間のスケジュールをQ4:Q10に、N列の人のスケジュールをR4:R10に入れてます。

シフト表の方は、A列の日付がシリアル値で入っている物として、H4には↓
=INDEX($Q$4:$Q$10,WEEKDAY(A4))

N4には↓
=INDEX($R$4:$R$10,WEEKDAY(A4))

と、入れて下にコピーしています。
    • good
    • 2
この回答へのお礼

教えていただいた方法が最も効率が良さそうでしたので、使ってみました。

この方法なら、時間や出勤日の変更があった時のメンテナンスもしやすいので助かります。

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

お礼日時:2011/02/23 03:16

画像添付し忘れました。

失礼
「エクセルで曜日に応じた文字を自動で入力し」の回答画像6
    • good
    • 1

A4: =IF(MONTH(DATE(C$1,A$1,ROW(A1)))<>A$1,"",DATE(C$1,A$1,ROW(A1)))


  書式 d

B4: =TEXT(A4,"aaa")

H4: =IF(A4="","",IF(OR($B4="火",$B4="金"),"●","1100-2015"))

N4: =IF(A4="","",IF(OR($B4="火",$B4="土"),"1200-2100",IF($B4="水","1800-2100","●")))
    • good
    • 0

多分ご相談で意図しているのは回答2のような数式だとは思いますが,そこを敢えて一つ。



B41セルからB47セルに日月火水木金土を記入
AさんをC列だとすると,C41からC47セルにAさんの●だの1100-2015だのを記入
BさんをD列だとすると,D41からD47セルにBさんの●だのナンだのを記入

するとAさんのC4には
=IF($B4="","",VLOOKUP($B4,$B$41:C$47,COLUMN()-1,FALSE)&"")
と記入して,表範囲にまとめてコピーしておきます。
理屈が判れば標準シフト一覧表はどこに置いてあっても構いません。
    • good
    • 0

IFとOR関数の組み合わせではいけませんか?(条件によっては計算式が長くなりますが)



B列の曜日のデータが漢字1文字であると仮定すると、

H4は、
 =IF(OR(B4="火",B4="金"),"●","1100-2015")

N4は、
 =IF(B4="水","1800-2100",IF(OR(B4="火",B4="土"),"1200-2100","●"))

条件の少ない方から並べると、比較的計算式が短くなります。
以上、参考になれば幸いです。

この回答への補足

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

B列に直接漢字一字を入力した時は、教えていただいた計算式で問題ないのですが、B列の曜日は(DATE(A2,A3,1)をセルに入力し、セルの書式設定の表示形式で曜日の表示にしています。

この場合、=IF(OR(B4="火",B4="金"),"●","1100-2015")の火、金部分には何を入力すれば良いのでしょうか?

色々入れてみましたがダメでした。

補足日時:2011/02/21 21:28
    • good
    • 2

休日に●を表示させるのは簡単ですけど、休日で無い時の値が良く判りません。


補足願います。

この回答への補足

すみません。

1115-2015等は11時15分から20時15分までの意味です。

計算式などではなく、ただの文字列です。

補足日時:2011/02/21 20:25
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

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

QEXCEL関数である曜日のときに、特定の数字を返す方法

EXCEL関数でわからない点があり質問です。

EXCELにて、ある特定の曜日のときに、
特定の数字を返す、という関数を入れようとしているのですが、
なぜかうまくいきません。

まず、B列に入った日付から曜日番号を返す関数をA列に入れて
=WEEKDAY(B4,1)
としています。

その次に、A列のセルが1か2か7の時に、K列の数字を返す、
という関数を入力しました。
=IF(OR(A4="1",A4="2",A4="7"),K4,"")

関数的には間違いがないように思うのですが、
どうも、A4="1"といった関数がうまく動いていないようです。

たとえそれが1であっても、TRUEを返してくれません。

WEEKDAYの番号は数字とは違うのでしょうか?

どなたか、お分かりになる方、
教えてください!

Aベストアンサー

>WEEKDAYの番号は数字とは違うのでしょうか?

数値です。

>=IF(OR(A4="1",A4="2",A4="7"),K4,"")

文字でなく数値なので、「"」で囲むのはやめましょう。

>=IF(OR(A4=1,A4=2,A4=7),K4,"")

Qエクセル 月別シフト表を曜日別固定シフト表へ反映させたい

エクセル 月別シフト表を曜日別固定シフト表へ反映させたいのですが。
月別、曜日別固定シフト表それぞれ何月(図:8月)入力すると自動で曜日、日付がそれぞれ自動で変更するのですが上手くいきません。異なる勤務表に日付が同じ行を見つけ、そのセルに表示させたいんですが。
index matchも使用したのですが、上手くいきません。

月別シフト表をメインに曜日別固定シフト表へ月変更してもそれに合わせて反映させることできないでしょうか?

Aベストアンサー

画像が小さくてよくわかりませんが、根本的な質問です
どちらが「月別シフト表」で、どちらが「曜日別固定シフト表」でしょうか?

>日付がそれぞれ自動で変更するのですが上手くいきません。
日付はシリアル値でしょうか?単純な数値でしょうか?
また、どのような方法で変更させているのでしょうか?

>index matchも使用したのですが、上手くいきません。
うまくいかなかった数式も提示してください。
原因が数式にあるのか、データにあるのか、入力さえできなかったのか、失敗からある程度質問の意図も読み取れる可能性があります。

Qあるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように

お世話になります。

表題の通り、
あるセルに特定の文字列を打つと、
他のセルにあらかじめ決められた文字が自動入力するようにしたいです。

具体的に言うと、
(1)セル(A,1)に「キリン」と打ち込むと

   A   B   C   D
1 キリン
2
3
4

(2)1列目の B,C,Dに予め決めておいた文字が入力されるようにしたい

   A   B   C   D
1 キリン 首  長い  アフリカ
2
3
4

のです。
エクセルで可能でしょうか?
詳しい方よろしくお願いいたします!

Aベストアンサー

出来ます。この場合はキリンがキーになっていますね。
先ずこのキーをもとにSheet2にデータを登録しておきます。
   A   B   C   D
1 キリン 首  長い  アフリカ
2 ゾウ  鼻  長い アフリカ
3 
4
次に表示させたいセルに
 A   B             C           D
1  =VLOOKUP(A1,Sheet2!A:D,2) =VLOOKUP(A1,Sheet2!A:D,3) ″ 
2  =VLOOKUP(A2,Sheet2!A:D,2) =VLOOKUP(A2,Sheet2!A:D,3) ″
3  =VLOOKUP(A3,Sheet2!A:D,2) =VLOOKUP(A3,Sheet2!A:D,3) ″
4  =VLOOKUP(A4,Sheet2!A:D,2) =VLOOKUP(A4,Sheet2!A:D,3) ″

を入れておきます。
これで出来ると思います。
エラー表示がいやな場合は、=IF(A1="","",VLOOKUP(A1,Sheet2!A:D,2)) の様にして下さい。

出来ます。この場合はキリンがキーになっていますね。
先ずこのキーをもとにSheet2にデータを登録しておきます。
   A   B   C   D
1 キリン 首  長い  アフリカ
2 ゾウ  鼻  長い アフリカ
3 
4
次に表示させたいセルに
 A   B             C           D
1  =VLOOKUP(A1,Sheet2!A:D,2) =VLOOKUP(A1,Sheet2!A:D,3) ″ 
2  =VLOOKUP(A2,Sheet2!A:D,2) =VLOOKUP(A2,Sheet2!A:D,3) ″
3  =VLOOKUP(A3,Sheet2!A:D,2) =VLOOKUP(A3,Sheet2!A...続きを読む

QExcelでシフト作成の際の定休日の自動入力関数について

Excelでシフト作成をする際にもっと効率よく出来たらなと試行錯誤しているのですが定休日の方の「休]を関数を使い自動で入力出来たらなと思っています。
図の様にシフト表があるのですが「休」の文字を定休日のセルから関数で求められますでしょうか?
分かる方、詳しい方よろしくお願い致します。

Aベストアンサー

(1) D9セルに次式を入力する。
=IF(COUNTIF($B3,"*"&D$8&"*")=1,"休","")
(2) D9セルを選択して、I9セルまで オートフィルコピーする。
(3) D9セルからI9セルまで選択して、Cさんの行までオートフィルコピーする。
以上

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Q【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;)
分かりにくい質問で恐縮ですが、よろしくお願いします。

現在Excel2003を使っています。
「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。
(できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています)

例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。
(このとき、A1に入力が無ければB1も空白のままにしておきたいのです)

手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

Aベストアンサー

間違えました。

B1 に
=IF(A1="","","様")

でした。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルで指定曜日の縦の列のセルに色をつける

いつもお世話になっています。エクセルに関して質問いたします。
前回の質問(見ていない方は申し訳ありません)で管理表で横列に曜日と日付を自動で
出力させたいの件はおかげさまで解決しました。
次に特定の曜日(土日)の縦の列の選択した範囲でセルに自動で色付けを行いたいと思い各HPを
参考にさせていただていたのですが、今度は横の色付けはあったのですが、縦方向の色付けが
見つかりません。そこでまた皆様のお力をお借りいたします。

例)A1のセルに土B1に日と表示されている場合A1~A10までのセルの色を青、B1~B10までのセルを赤の様に自動で表示させたい。

どうかご教授お願いいたします。

Aベストアンサー

>説明が足りずに申し訳ありません。エクセルのバージョンは2003です。

えっと? それはやり方が判らないのでまた教えて欲しいって事でしょうか。
でしたら,A1とかじゃなくてキチンと「どこの番地」に「何を」計算しているのかから,ご相談で情報提供すべきですね。


再掲:
A1(1行目)に年/月/日を計算し,右に並べておく
1行目の表示は「日」だけ表示にしておくのでかまわない
A2(2行目)に =TEXT(A1,"aaa") を記入して曜日を表示し,右にコピーして並べておく

A1からB10を選択
A1がアクティブセルになっている(選択範囲の中で逆反転状態になっている)ことを確認してから
書式メニューの条件付き書式で
セルの値が → 数式が に変更し
右の空欄に
=OR(A$2="土",A$2="日")
として,書式ボタンで色を塗る。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む


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

人気Q&Aランキング