「夫を成功」へ導く妻の秘訣 座談会

現在コピペでやっていますが楽にできる方法が知りたいのでどうぞ宜しくお願いします。


週間勤務表は名前Aさん=B4から~名前Kさん=B14まで
C4:C14~I4:14までアルファーベットの勤務記号を連動したいです。

10/16~11/15勤務表は
Aさん=名前A4  抽出、連動したいアルファーベットの範囲C4~AG4  
Bさん=A7
Cさん=A10
Dさん=A13
Eさん=A16
Fさん=A19
Gさん=A22
Hさん=A25
Iさん=A28
Jさん=A31
Kさん=A34

「エクセルで勤務表を別シートの週間勤務表連」の質問画像

A 回答 (2件)

図の下表(「勤務表」シートとして)2行目の日付がダブらないとして


B4セル =INDEX(勤務表!A$4:A$34,ROW()*3-11)
下へオートフィル

上記数式を踏まえて
C4セル
=INDEX(勤務表!$C$4:$AG$35,ROW()*3-11,MATCH(C$3,勤務表!$C$2:$AG$2,0))

さわりだけ。
    • good
    • 0
この回答へのお礼

ありがとうございました!。図のリンクで並び替え貼り付けで簡略化してできるようになりました。

お礼日時:2013/10/25 12:56

勤務割り付けの規則について述べられていないのでアドバイスが困難です。


「アルファーベットの勤務記号」はAからZまで有るのですか?
1つの勤務は何人で繰り返しに規則性はあるのですか?
責任者は特定のメンバーに限定されますか?
「OFF」とは公休ですか?
施設全体の休業日がありますか?

これらの条件を加味した勤務割り付けの自動化はこのサイトで一括したアドバイスが無理と考えます。
    • good
    • 0

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

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

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

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

Q1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成

1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成したい。

2.別シートの月間予定表(1年分を横に並べている)では、月毎に
(1)当月分の左端に年間予定表の当月分、
(2)その右に、年間予定表の予定項目ごとに[列を与えて]整理して予定を書いている。

3.月間予定表の(1)を年間予定表と連動させたい。
即ち、年間予定表の予定項目を追加、書き換え、削除したとき、月間予定表の(1)が自動的に訂正されるようにしたい。

4.年間予定表は6月分をA4横1ページに、月間予定表は一月分をA4縦1ページにプリントアウトしている。画面で見るだけではなく、プリントも利用している。

 年間予定が時々変更になり、それに合わせて月間予定を書き変えねばならないので、連動すれば大変助かります。よろしくお願いします。






以下は多くの人にとって読む必要はないと思います。

ご助言の参考になればと思い、今使っている年間予定表・月間予定表の実態を示したものです。

☆年間予定表は1行目に月(1月から12月)
2行目以下は月ごとに、最左端(1月の場合A列)に日付、その次の列(1月の場合B列)に曜日 その次の列(1月の場合C列)に年間予定項目(例:箱根ドライブ、九州ドライブ、自治会総会…)を記入する。

☆別シートの月間予定表:
ア:各月ごと(例えば1月)の最初の3列は年間予定表(例えば1月)の月名、日付、曜日、年間予定項目をカット&コピーで張り付ける。
 又は、=関数を使う。即ち月間予定表のa列1行目に=を使って、年間予定表のa列1行目をもってくる。月間予定表のa列1行目を31日までドラッグして年間予定表に同期させる。同様のことを、残りの2列についても実行する。(この方法は1月分に3回、1年分で36回繰り返さなければならない。もっと楽な方法、ありません?)

イ:各月ごとの4列目から概ね10列目に年間予定項目ごとの詳細計画を記入する。
例えば、
4列目の1行目(タイトル行)箱根ドライブ
4列目の2行目以下の該当する日ごとに、(例えば4日)箱根の情報収集、(6日)旅館決定、(15日)ドライブ実施 
5列目の1行目(タイトル行)九州ドライブ
5列目の2行目以下の該当する日ごとに、(例えば8日)九州の情報収集、(10日)旅館決定、(11日)友人に連絡 (25日)ドライブ実施

以上です。

1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成したい。

2.別シートの月間予定表(1年分を横に並べている)では、月毎に
(1)当月分の左端に年間予定表の当月分、
(2)その右に、年間予定表の予定項目ごとに[列を与えて]整理して予定を書いている。

3.月間予定表の(1)を年間予定表と連動させたい。
即ち、年間予定表の予定項目を追加、書き換え、削除したとき、月間予定表の(1)が自動的に訂正されるようにしたい。

4.年間予定表は6月分をA4横1ページに、月間予定表は一月分をA4縦1ペー...続きを読む

Aベストアンサー

>(2)I2セルに  =1*("2010年"&J$1&ROW()-1&"日")
=1*("2010年"&J$1&"1日")
で良いですねm(_ _)m
にしてください。1* を取ると 例として4月なら「2010年4月1日」になるはず。
1をかけることによって、シリアル値(数値)になります。

>I3セルに  =IF(DAY(I2)+1=DAY(I2+1),I2+1,"")
はI2セルがシリアル値なら計算されます。
単純に29日以降の処理なので 28日までは =I2+1だけでも同じ。

>(3)ただし、I2:I32セルの書式設定
問題なし。日付ではなく数値が出てくるので、見た目の問題だけ。
>(4)J2セルに  =IF(I2="","",INDEX(B2:G2,MATCH($J$1,$B$1:$G$1,0))&"")
これがメイン。
J1セル文字列で「4月」、 B1:G1セル文字列で 1月、2月、・・・
「4月」がどこにあるかをMATCH関数で探し、何番目かを数値で返す。
返された値をもとに、B2:G2セルの値を返します
「4月」が全角の「4月」になっていたり、空白が紛れていたりするなど、
完全一致していない可能性もありますので確認してください。

>(5)なお、「J1セルに月を入力すると、予定が切り替わる」ことが一番の望みなので上記のテストをしてみました。
良いと思います。

>ご指摘の「レイアウトが重要な気もしますが?」はその通りです。
レイアウトは、上記回答のレイアウトで目的が達成できそうなら不要です。
どのセルに何を入れているか。がわかれば、それに沿った回答をする。
そのほうが間違いな少なく、効率が良いじゃないですか。

>(2)I2セルに  =1*("2010年"&J$1&ROW()-1&"日")
=1*("2010年"&J$1&"1日")
で良いですねm(_ _)m
にしてください。1* を取ると 例として4月なら「2010年4月1日」になるはず。
1をかけることによって、シリアル値(数値)になります。

>I3セルに  =IF(DAY(I2)+1=DAY(I2+1),I2+1,"")
はI2セルがシリアル値なら計算されます。
単純に29日以降の処理なので 28日までは =I2+1だけでも同じ。

>(3)ただし、I2:I32セルの書式設定
問題なし。日付ではなく数値が出てくるので、見た目の問題だけ。
>(4)J2セルに  =IF(I2="...続きを読む

Qエクセルで、勤務表から 日付別に勤務者と勤務形態を抽出して、別シートに抽出したい

Sheet 1 勤務表(4月)
    A     B     C      D…
        4/1      4/2    4/3 …

1 赤星     早1    夜勤入り  夜勤明け …
2 関本    遅1    早1    早1   …
3 新井    休     遅1    早2   …
4 金本    夜勤入り  夜勤明け  休    …
5 ブラぜル  夜勤明け 休     遅1   …
6 桜井    休     早2    遅2   …
7 鳥谷    早2    遅2    早3   …
8 狩野    遅2    早3    休    …
9 藤川    早3    休     夜勤入り …

以上のような、勤務表、(各列には、日付、各行には、従業員の名前が9人)が、あり、毎日、早番 3種類、遅番 2種類、夜勤入り 1人、夜勤明け 2人、休み、のデータが入っています。(ずれていたら、すいません)
これを、Sheet 2以降に、日付ごとに、出勤している従業員名と、そのとなりのセルに、その従業員の勤務種別を抽出して、表示したいのです。しかも、夜勤入り、夜勤明け、休みは表示させたくありません。)例えば、こんな感じです。

Sheet 2   Sheet 3    Sheet 4
(4月1日)    (4月2日)    (4月3日)
赤星 早1     関本 早1  関本  早1
関本 遅1     新井 遅1  新井  早2
鳥谷 早2     桜井 早2   ブラぜル 遅1
狩野 遅2     鳥谷 遅2   桜井  遅2
藤川 早3     狩野 早3    鳥谷  早3 

いろいろとムシのいい話を書いて申し訳ありませんが、当方vbaの初心者で、このような場合、何から手を付けて良いのか分からず、困っております。どうか、なにとぞ、ご教授下さい。

Sheet 1 勤務表(4月)
    A     B     C      D…
        4/1      4/2    4/3 …

1 赤星     早1    夜勤入り  夜勤明け …
2 関本    遅1    早1    早1   …
3 新井    休     遅1    早2   …
4 金本    夜勤入り  夜勤明け  休    …
5 ブラぜル  夜勤明け 休     遅1   …
6 桜井    休     早2    遅2   …
7 鳥谷...続きを読む

Aベストアンサー

回答No3です。
ごめんなさい。肝心の式の表示が抜けておりました。
A15セルには次の式を入力し、下方にオートフィルドラッグします。
=ROW(A3)
B15セルには次の式を入力し右方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。
=IF((IF(B3="早1",1,0)+IF(B3="早2",1,0)+IF(B3="早3",1,0)+IF(B3="遅1",1,0)+IF(B3="遅2",1,0))=0,"",MAX(B$14:B14)+1)

Qカレンダー作成 別シートよりデータ反映

目的は仕事で何日に誰が休むむかを一目で知りたくてエクセルで作成したカレンダーを作りました(縦型日付表示) 現在は届けの用紙が来たらカレンダーに手打ちしてます。

(シート1) 種類は名前に色分けをしたかったので種類を入れてます。
      (上手く作成できたら種類によって名前に色わけとかしたくて種類を作りました)
       横に名前が出るようにしてます。同じ日に休みの人が増えれば HIJKと横に続きます。
  A      B    C      D     E      F     G
1 日付   曜日  名前   種類  名前   種類
2 1日         桃    有給  (みかん)   (休み)
3 2日
4 3日
以下日にちは月末まであります。
別のシート(シート2)で作成したデータを反映させたいのですが同じ日付でデータがある場合
どうすれば反映されるのでしょうか?ためしにD3にカウント式(=COUNTIF($A$3:$A3,$A3))を入れて
順番をつけてみました。
  A      B    C      D
1 日付  名前  種類  カウント
2 5/1  桃    有給   1
3 5/3  奈々   半日   1
4 5/1  みかん 休み   2
以下休み届けなどが出されたら随時追加します。

わからないなりにネットで見て数式を入れてみました。
シート1のC2に
=IF(ISERROR(VLOOKUP(A2,シート2!$A:$C,2,0)),"",VLOOKUP(A2,シート2!$A:$C,2,0))
C3に
=IF(ISERROR(VLOOKUP(A2,休み!$A:$D,3,0)),"",VLOOKUP(A2,休み!$A:$D,3,0))
入力すると始めの 5/1 桃 有給はカレンダーにあがるのですが5/1 みかん 休みを出せません
あまりエクセルなどに詳しくなく、他の数式なども活用できるのかこういう表がそもそもエクセルでできるのかも勉強不足でわかりません。なんだかマネて作成したらあまりに長くて引数が足りませんみたいな表示がでました。
お手数をおかけしますが、教えていただけたら嬉しいです。よろしくお願い致します。

目的は仕事で何日に誰が休むむかを一目で知りたくてエクセルで作成したカレンダーを作りました(縦型日付表示) 現在は届けの用紙が来たらカレンダーに手打ちしてます。

(シート1) 種類は名前に色分けをしたかったので種類を入れてます。
      (上手く作成できたら種類によって名前に色わけとかしたくて種類を作りました)
       横に名前が出るようにしてます。同じ日に休みの人が増えれば HIJKと横に続きます。
  A      B    C      D     E      F     G...続きを読む

Aベストアンサー

こんばんは!
お望みの方法とは異なるかもしれませんが、手っ取り早くVBAでやってみました。
まずSheet1にカレンダーを作成します。
↓の画像で上側がSheet1、下側がSheet2とします。
(お手元のSheetは画像通りの配置にしてください)

まずSheet1のA1セルに西暦年を、C1セルに表示させたい月の数値を入力します。
A4セル(セルの表示形式はユーザー定義から d日 としておく)に
=IF(MONTH(DATE(A$1,C$1,ROW(A1)))=C$1,DATE(A$1,C$1,ROW(A1)),"")
という数式を入れます。
B4セル(セルの表示形式はユーザー定義から aaa としておく)に
=IF(A4="","",A4)
という数式を入れ → A4・B4セルを範囲指定 → B4セルのフィルハンドルで月末の34行目までコピー!
これでA1・C1セルの数値を入れ替えるだけでカレンダーができます。

次にAlt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト

Dim i As Long, j As Long, lastRow As Long, lastCol As Long, wS As Worksheet 'この行から
Sub 表示()
Set wS = Worksheets("Sheet1")
lastCol = wS.Cells(3, Columns.Count).End(xlToLeft).Column
With Worksheets("Sheet2")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "C")).ClearContents
End If
For i = 4 To 34
For j = 3 To lastCol Step 2
If wS.Cells(i, j) <> "" Then
With .Cells(Rows.Count, "A").End(xlUp).Offset(1)
.Value = wS.Cells(i, "A")
.Offset(, 1) = wS.Cells(i, j)
.Offset(, 2) = wS.Cells(i, j + 1)
End With
End If
Next j
Next i
End With
End Sub 'この行まで

そしてExcel画面に戻り、画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim lastCol As Long
lastCol = Cells(3, Columns.Count).End(xlToLeft).Column
If Intersect(Target, Range(Cells(4, "C"), Cells(34, lastCol))) Is Nothing Then Exit Sub
Call 表示
End Sub 'この行まで

最後にExcel画面に戻り、Sheet2のA列の表示形式を「日付」にしておきます。

これでSheet1のデータ変更があるたびにSheet2に画像のような感じで表示されます。m(_ _)m

こんばんは!
お望みの方法とは異なるかもしれませんが、手っ取り早くVBAでやってみました。
まずSheet1にカレンダーを作成します。
↓の画像で上側がSheet1、下側がSheet2とします。
(お手元のSheetは画像通りの配置にしてください)

まずSheet1のA1セルに西暦年を、C1セルに表示させたい月の数値を入力します。
A4セル(セルの表示形式はユーザー定義から d日 としておく)に
=IF(MONTH(DATE(A$1,C$1,ROW(A1)))=C$1,DATE(A$1,C$1,ROW(A1)),"")
という数式を入れます。
B4セル(セルの表示形式はユーザー定義...続きを読む

Qエクセル シフト勤務表から、シフト別に氏名を抽出。

エクセルで、マクロを使わずに、やってみたいのです。
シフトの勤務表があります。
B4~B18に氏名が入ってます。
Cが、1日で AGが、31日です。
C4~AG4
C18~AG18
ここに、勤務予定が入ってます。
日(日勤) 準(準夜勤) 深(深夜勤) とかです。

ここで、別シートに、
準夜勤の氏名一覧表を、作りたいのです。
1日は
C4 C5 C6
ここに、氏名が出るようにしたいのです。

2日は、
D4 D5 D6 です。

最初に書きましたが、マクロは使えないので、(能力不足)
使わずにできる方法を、教えてください。
よろしくお願いします。

Aベストアンサー

ご質問の内容を解決するには、以下の手順を行ってください。
sheet2が準夜勤の氏名一覧表となります。
1 sheet1にご説明のシフトの勤務表様式を作成する。
2 sheet2にへ氏名のB列を除いて、全く同じ様式を複写します。
※便宜上、以降の説明の中で、sheet1を(1)、sheet2を(2)とします。
3 (1)のB4~B18を範囲指定しておき、ツールバーの「挿入(I)」を
 クリックします。
4 挿入のドロップダウンメニューから「名前」を選択します。
5 名前のドロップダウンメニューから「定義」を選択します。
6 「名前の定義」というダイアログボックスが開きますので、
 一番上の入力欄に「B4~B18」に付ける名前を入力し、OKを
 クリックします。
 ※ここでは便宜的に、「氏名」と名付けます。
7 (2)を開きC4セルをクリックし、以下の計算式を入力します。
  =IF(Sheet1!C4="準",氏名,"")
8 C4の計算式をクリック&ドラッグで、C4~AG18の範囲に複写します。

  以上です。

 注1 IF文の論理式が偽の場合ですが、後で表を改良して、セルの
   値を調べる必要が出てくる場合もありますので、ZEROや空白
   (スペース)でなく、null("")を指定しておく方がBetterと
   思います。
 注2 IF文中の(1)のシート名ですが、計算式作成後にシート名を
   変更した場合、自動で計算式内のシート名も変更されます。
 注3 計算式の入力時、(1)シート名の入力はキーボードからタイプ
   しなくても、(1)のC4をクリックすれば自動的に挿入されます。 

ご質問の内容を解決するには、以下の手順を行ってください。
sheet2が準夜勤の氏名一覧表となります。
1 sheet1にご説明のシフトの勤務表様式を作成する。
2 sheet2にへ氏名のB列を除いて、全く同じ様式を複写します。
※便宜上、以降の説明の中で、sheet1を(1)、sheet2を(2)とします。
3 (1)のB4~B18を範囲指定しておき、ツールバーの「挿入(I)」を
 クリックします。
4 挿入のドロップダウンメニューから「名前」を選択します。
5 名前のドロップダウンメニューから「定義」を選択します。
6 ...続きを読む

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さん」を選択すると「Aさん」のシフトに自動で変わるように出来ればと考えています。
ただ、毎月日付のセルの位置も変わってしまう為、連動して変わるようにするにはどうすればいいのか困っています。

併せて日付がない所は文字が表示されない様に出来ればと・・・。
もしくはそれに近いものが作成したいのです。
分からないばかりで申し訳ないのですが、どなたか知恵をお貸し下さい!

Aベストアンサー

こんばんは!
一例です。

↓の画像で上側がSheet1で各日のシフトを入力し、下側のSheet2に表示させるとします。

まずSheet1の日付をシリアル値で操作します。
C1セルに西暦年・E1セルに月の数値をそれぞれ入力します。
D2セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH(DATE($C1,$E1,COLUMN(A1)))=$E1,DATE($C1,$E1,COLUMN(A1)),"")
という数式

D3セルに
=IF(D2="","",TEXT(D2,"aaa"))
という数式を入れ、D2・D3セルを範囲指定 → D3セルのフィルハンドルで月末(31日)までの
AH列までコピー!
これでC1・E1セルの数値を入れ替えるだけで横1列のカレンダーができます。

次にSheet2のC1セルに
=DATE(Sheet1!C1,Sheet1!E1,1)
という数式を入れ、セルの表示形式はユーザー定義から
m月
としておきます。(このC1セルは今後手を加えません)
A4セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH($C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A2)/2-1))=Sheet1!$E$1,$C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A2)/2-1),"")

A5セルに
=IF(A4="","",INDEX(Sheet1!$D$4:$AH$100,MATCH($A$1,Sheet1!$C$4:$C$100,0),MATCH(A4,Sheet1!$D$2:$AH$2,0))&"")
という数式を入れ、A4・A5セルを範囲指定 → A5セルのフィルハンドルで「土」のG列までフィル&コピー
そのまま(2行が選択されている状態)で下へ2行ずつフィル&コピー!

これでSheet2のA1セルを入れ替えるだけでSheet1のデータが日付毎に表示されます。

※ このままではセルの左上にエラーチェックオプションのマークが表示され
目障りだと思いますので、
ファイル → オプション → 数式 → エラーチェックの項目の
「バックグラウンドでエラーチェックを行う」のチェックを外しOK

※ Sheet1のC1・E1を変えるだけでSheet2のカレンダーは連動するようにしています。

こんな感じではどうでしょうか?m(_ _)m

こんばんは!
一例です。

↓の画像で上側がSheet1で各日のシフトを入力し、下側のSheet2に表示させるとします。

まずSheet1の日付をシリアル値で操作します。
C1セルに西暦年・E1セルに月の数値をそれぞれ入力します。
D2セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH(DATE($C1,$E1,COLUMN(A1)))=$E1,DATE($C1,$E1,COLUMN(A1)),"")
という数式

D3セルに
=IF(D2="","",TEXT(D2,"aaa"))
という数式を入れ、D2・D3セルを範囲指定 → D3セルのフィルハンドルで月末(31日)ま...続きを読む

Qエクセルで出勤表から出勤者の名前を出したいのですが。

エクセルで出勤表から出勤者の名前を出したいのですが。

介護施設に勤務しています。A~E(職員名とする)までの5人が勤務しているとします。今ここに、縦がA~E、横が月日のエクセルの表(表1とする)があるとします。
仮に6月1日はA,B,Cの3人が出勤で表の該当セルに○が入力されています。6月2日はB,D,Eが出勤で同様に○が入力されています。こんな感じで月末までの勤務表が出来ているとします。

ここで別のシートに「今日の出勤者」として当日の出勤者を表(表2)に出したいと思っています。
私が望んでいるのは、表1の希望の月日をクリック、もしくは入力すると、自動で表2のセルにその日の出勤者だけの名前が返せればいいのですが・・・。
本日の出勤者として本部に名前入りの表をあげないといけなく、これまでは表1から該当日の○を数えては、その職員名を手書きで書いて送っていました。この煩雑な作業を効率化したいと思っています。
よろしくご教授お願いいたします。

Aベストアンサー

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Column).Value = "○" Then
Worksheets("Sheet2").Cells(iRowNo, 2).Value = Cells(i, 1).Value
iRowNo = iRowNo + 1
End If
Next
End If
End Sub

日付をクリックした場合に実行する場合は以下のようなマクロを使用します。
使用した表と実行結果は画像の通りです。
このプログラムの場合1行目をクリックした場合に実行されます。
もしマクロで行うのであれば試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim iRowNo As Integer
iRowNo = 1
If Target.Row = 1 And Target.Column <> 1 Then
Worksheets("Sheet2").Columns(2).Clear
For i = 2 To 6
If Cells(i, Target.Col...続きを読む

QEXCELの表を、一部別のシートに反映したい

うまく説明しきれるかちょっと自信がないのですが・・・。

現在シフト表を1ページの表にてに作成しています。
うちは2,3階とフロアがあるので、たとえばAさんのシフト欄には、2階、3階と両方交互に書き込まれている形を取っています。
ただしこれだとぱっと見、その日にどの階に誰が勤務しているか非常にわかりづらいので、階別に配布できるように、データを反映したいと思っています。

別シートで、2階、3階用の表を作るので、今使っているデータでシフトを変更してもちゃんとその別のシート(2,3階用)でも、データが反映できるようにしたいのです(しょっちゅうシフトを変更するので)。
ハイパーリンクとか色々試したのですが、いかんせん知識が無いゆえ方法が分かりません。

意味が分からなかったら是非お聞きください。
よろしくお願いします。

Aベストアンサー

これなら、単純に参照するだけですよ。

行列番号に付加して例に示します。

シート1

   A   B   C   D   E   F
1 職員名  階名  1日  2日  3日  4日
2 Aさん  2階  早出     休み  夜勤
3      3階      遅出 休み  遅出
4 Bさん  2階  遅出  休み     日勤      
      3階      休み 早出    夜勤 明け


シート2(2階)
   A   B   C   D   E
1 職員名 1日 2日 3日 4日 5日 6日
2 Aさん  ●
3 Bさん  ■

●の位置に、
=Sheet1!C2
■の位置に
=Sheet1!C4

これをそのまま右方向にコピーです。

同じ様に反映させたいセル番地を参照して3階の分も作ります。

空白のセルの参照が「0」が返ってきて邪魔な場合は、
セルの書式設定で、ユーザー定義で「0;0;」と修正するか
IF関数で処理ですね。
=IF(Sheet1!C2="","",Sheet1!C2)

これなら、単純に参照するだけですよ。

行列番号に付加して例に示します。

シート1

   A   B   C   D   E   F
1 職員名  階名  1日  2日  3日  4日
2 Aさん  2階  早出     休み  夜勤
3      3階      遅出 休み  遅出
4 Bさん  2階  遅出  休み     日勤      
      3階      休み 早出    夜勤 明け


シート2(2階)
   A   B   C   D   E
1 職員名 1日 2日 3日 4日...続きを読む

Qエクセル カレンダーを作って予定を入力

エクセルでカレンダーを作り、予定を入力します。
年月の入力欄をいじれば、その年や月のカレンダーに切り替わる仕様です。
しかし、入力した予定はそのままのセルにあるだけです。
当たり前と言えばあたりまえなのですが。

4月のカレンダーには4月の予定、5月のカレンダーには5月の予定と、切り替えられる仕様にする方法はありませんか。

Aベストアンサー

カレンダーの形が縦長のものと曜日(日~土)の下に一週間分の日付が入ったものと二通りあります。
予定も決まった日、毎週月曜日、毎月第一月曜日といった周期的なもの色々あります。

一番単純なパターンとして
カレンダーは縦長で添付のように

A列:日付 B列:曜日 C列:予定

予定表は単純に決まった日のみとします(周期的なものも決まった日として入力しておきます。
この予定を少し離れた列(F列:予定日 G列:予定の内容をに配置します。
予定表、カレンダーは3行目から始めるとします。
即ちA3が1日、予定欄は何行必要でしょうか
毎日何かの予定があるとして365行ですのでF3~G367となります。

A1の書式はユーザ設定 ggge"年"m"月"
その他のA列の書式は d"日"
A3=A1-DAY(A1)+1 の式を入れて、A1にTODAY()関数で
自動で月めくりもしてくれます。

B3=TEXT(A3,"aaa")
C3=IF(VLOOKUP(A3,$F$3:$G$367,2,FALSE)=0,"",VLOOKUP(A3,$F$3:$G$367,2,FALSE))

カレンダーの形が縦長のものと曜日(日~土)の下に一週間分の日付が入ったものと二通りあります。
予定も決まった日、毎週月曜日、毎月第一月曜日といった周期的なもの色々あります。

一番単純なパターンとして
カレンダーは縦長で添付のように

A列:日付 B列:曜日 C列:予定

予定表は単純に決まった日のみとします(周期的なものも決まった日として入力しておきます。
この予定を少し離れた列(F列:予定日 G列:予定の内容をに配置します。
予定表、カレンダーは3行目から始めるとします。
即ちA3...続きを読む

QExcelで入力したデータを他のシートにも反映したいです

Excelでシートに入力したデータだけを他のシートに表示させたいです・・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。

シート1
 Å列    B列 C列    
キャベツ     玉   1
りんご     個   2
オレンジ    個
バナナ     本   10
きゅうり    本
ニラ     Kg  20.5

シート2
 Å列    B列 C列
キャベツ     玉  1
りんご     個  2
バナナ     本  10
ニラ     Kg  20.5

↑のように。シート1に入力したデータを入力した行ごと表示させたいです。

Aベストアンサー

》 なにぶん初心者なもので…

関数を一切使用しない方法(フィルタオプションの設定)をご紹介します。

Sheet1
1   A    B   C
1 品名   単位 数量
2 キャベツ 玉    1
3 りんご  個    2
4 オレンジ 個
5 バナナ  本   10
6 きゅうり 本
7 ニラ   Kg  20.5
8

添付図は[フィルタオプションの設定]を開始する Sheet2 を示しています。
([データ]→[フィルタ]→[フィルタオプションの設定]の手順を実行します)


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

このカテゴリの人気Q&Aランキング