エクセルを使った作業分担表の作成の仕方
画像添付にあるシフト表から下記の作業分担表を
作成するの効率のよいやり方をご存じの方いらっしゃらないでしょうか
エクセルを使えばできると思うのですが、どうでしょうか
9 10 11 12 13 14 15 16 17
氏名
木崎 ←一一一一一一一→
宮元 ←ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー→
尾崎 ←---------------------------------------→
大田
時間だけは元から入力されていますが、出退勤を示す矢印と氏名は毎日
変わるため、いつも手書きです。
それをシフト表から自動転記できるにしたいのです。
No.4ベストアンサー
- 回答日時:
>INDIRECT関数の部分のやり方、考え方が理解できません。
私の回答の中で
C2:=INDIRECT("Sheet1!R" & $B2 & "C" & $B$1,FALSE)
という式を使っておりますが、この部分についてご説明いたします。
「$B2」:「木崎」という名前の書かれた行番号
「$B$1」:「作業分担表を作成する」日付けがある列番号
ですが、例えば、それぞれ「$B2 = 2」・「$B$1 = 14」とすると、「木崎」さんの「作業分担表を作成する」日付けの「出勤時間」は「Sheet1 の2行目14列目」にある、つまり「Sheet1!N2」にあるということになります。
「Sheet1!N2」に入力された値を参照するという場合、よく [ADDRESS 関数] を使って
=INDIRECT(ADDRESS(2,14,4,TRUE,"Sheet1"))
というような式を立てたりしますが、表現的に冗長な感じがしますし、行列番号をそのまま指定できた方が便利ですよね。
このような場合に [R1C1 形式] によって セル番地 を参照することができます。
[R1C1 形式] につきましては、
http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub0 …
あたりをご参考に。
で、今回の場合
=INDIRECT("Sheet1!2行目14列目")
の様な感じにしたい訳ですから
=INDIRECT("Sheet1!R2C14")
とすればよいですね。
ここで、[INDIRECT 関数] の ヘルプ を見ると、
---- ここから --------------------------------------------------
INDIRECT(参照文字列,参照形式)
参照形式に TRUE を指定するか省略すると、参照文字列には A1 形式のセル参照が入力されていると見なされます。
参照形式に FALSE を指定すると、参照文字列には R1C1 形式のセル参照が入力されていると見なされます。
---- ここまで --------------------------------------------------
と出ておりますが、「参照文字列には R1C1 形式のセル参照」を入力しましたので、「参照形式に FALSE を指定」して
=INDIRECT("Sheet1!R2C14",FALSE)
としなければなりません。
話を元に戻しますが、「$B2 = 2」・「$B$1 = 14」ですので
C2:=INDIRECT("Sheet1!R" & $B2 & "C" & $B$1,FALSE)
となりました。
次に、「退勤時間」は「出勤時間」の右の列にありますので、「$B$1 = 14」に「1」を足して「$B$1+1」とすればよろしいから、
D2:=INDIRECT("Sheet1!R" & $B2 & "C" & $B$1+1,FALSE)
となりました。
以上でいかがでしょうか?
No.5
- 回答日時:
興味があり作ってみました。
添付資料のようなものでしょうか。
添付の左側はデータです。
右側の上は21日に出社する人のみ抜粋した分担表で、下は21日に出社する人のみに矢印を書いたものです。
No.3
- 回答日時:
#2 の DOUGLAS_ です。
>氏名は入力しなければならないということでしょうか
>氏名入力も自動転記のような形にはならのでしょうか
ん~。。。
普通に Sheet2 A2:
=Sheet1!A2
みたいな感じで拾ってくればよいかと。。。
実は、その方が、それ以後の計算式がとても簡単になりますね。
この場合は、前回答の(2)が必要なくなります。
まぁ、順を追っての考え方をご説明しただけですので、後は、お好きなようにしていただければと存じますが。。。
この回答への補足
ご返事いただきましてありがとうございます。
後 一点確認したいことがあるのですがINDIRECT関数
の部分のやり方、考え方が私の知識不足のため
理解できません。
そのあたりをもう少し教えていただけないでしょうか?
私の知識不足で申し訳ありませんが
お時間ありましたらお願いいたします。
No.2
- 回答日時:
比較的簡単な作業かとは存じますが、これを文字でお伝えするのは、なかなか難しいですねぇ。
1)「画像添付にあるシフト表」が Sheet1 に、また、別のシート(ここでは Sheet2 とします)の A列 に「氏名」があるとします。
2)先ず、Sheet2 の A列 にある「氏名」を Sheet1 から検索する補助列を作ります。
たとえば、A2 の「氏名(木崎)」に対しては、
B2:=MATCH(A2,Sheet1!A:A,0)
というような式で検索できますね。
ここで検索された数字は、Sheet1 で「木崎」という名前の書かれた行番号になります。
3)次に「作業分担表を作成する」日付けが Sheet1 のどの列にあるかを割り出します。
通例は、明日の「作業分担表を作成する」場合は Sheet2 のどこか、例えば A1 に
A1:=DAY(TODAY()) + 1
などの式を置いておくはずですので、そのセルの値を
B1:=MATCH(A1,Sheet1!2:2,0)
のような式で、Sheet1 の「日付」の行から検索します。
4)上記(2)・(3)で割り出した「行番号」・「列番号」から「木崎」さんの「出勤時間」・「退勤時間」を検索することができますので、それを C2・D2 に転記して、これも補助列とします。
C2:=INDIRECT("Sheet1!R" & $B2 & "C" & $B$1,FALSE)
D2:=INDIRECT("Sheet1!R" & $B2 & "C" & $B$1+1,FALSE)
5)以上で、A2 に「木崎」という名前が入っている場合、B2 に Sheet1 での「木崎」さんの行番号、C2 に当該日の「出勤時間」、D2 に「退勤時間」が入ります。
6)最後に、例えば、「9・10・11・12・13・14・15・16・17」という時間を現わす数字が Sheet2 の E1:M1 に入っているとすると、E2 に
=IF(E$1<$C2,"",IF(E$1=$C2,"←",IF(E$1>$D2,"",IF(E$1=$D2,"→","ー"))))
のような式を入れて、これを E2:M2 にコピーすれば OK です。
※計算式等は、もっと スマート なものもあろうかと存じますが、考え方としては、以上のようなことが簡単かと存じます。
この回答への補足
長文でのご回答ありがとうございます。
感激しました。
ところでメールを拝見した感じだと、氏名は
入力しなければならないということでしょうか
氏名入力も自動転記のような形にはならのでしょうか
私の勘違いでありましたら申し訳ございません。
No.1
- 回答日時:
シフト表の数字は何を示しているのでしょう?
そこから↓こんな感じにしたいと言うことでしょうか?
参考URL:http://www.excel.studio-kazu.jp/mwiki/images/b/b …
この回答への補足
説明不足で申し訳ございません。
画像のシフト表の数字(9、21等)は
出勤時間と退勤時間が表示されています。
9、21なら9時 出勤で21時 退勤ということです
それを元に毎日 作業分担表(一日の各個人の仕事分担)を作成しています。
質問欄に記入しているようなものです。(簡易すぎて申し訳ございません)
縦に氏名、横に出勤時間と退勤時間を矢印で表記し、
その矢印の下にやるその時間にやる仕事を
記載するという表です。
氏名と出退勤を画像のシフト表から
分担表〈質問欄に簡易に作成)
に自動転記できるやり方を探しています
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで作業ごとの時間をグラフ化し、勤務時間より超過している作業の割り出しをしたいのです 6 2022/08/15 22:52
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Java Java、配列の問題を教えて欲しいです。 ・日、月、火、水、木、金、土 ・各曜日の英語 を2次元配列 2 2023/07/10 19:14
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) エクセルでの勤務表作成、インターバルの設定について 3 2022/06/03 15:35
- ガーデニング・家庭菜園 リメイク鉢(缶)を前々から作ってみたくてYou Tubeなどから色々見ているのですが自分に合うような 1 2022/05/22 08:22
- グループウェア 午睡チェックアプリを探しています 2 2022/12/20 08:49
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Excel(エクセル) エクセル:シフト表条件付き書式色付けのカウント方法 3 2022/10/11 21:59
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
Excel 漢字二文字の先頭と最後 ...
-
数式が入ったセルを含めて、数...
-
エクセル:横長の表を改行して...
-
エクセルで表示されている数字...
-
Excel上でのデータ数字が連番で...
-
問合せ Excel 超初心者です、教...
-
エクセルでセルの値分の個数の...
-
SUMに含まれる範囲から特定のセ...
-
フィルターかかってる時のSU...
-
列の数字に100をかけたい
-
エクセルで、ある1つの列を複...
-
エクセルで2行まとめて並び替...
-
VBAを使ったエクセルでの画像複...
-
別のセルに値が入力されたら、...
-
銀行の振込み手数料をエクセル...
-
【EXCEL】指定したセルの値を他...
-
HYPERLINKとADDRESSとMATCHの組...
-
スペースとスペースの間の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
エクセルでセルの値分の個数の...
-
C列にF列の担当者(A〜)を順番...
-
スペースとスペースの間の文字...
-
エクセル:横長の表を改行して...
-
列の数字に100をかけたい
-
エクセルで表示されている数字...
-
エクセルのsumifでかけ算してか...
-
「エクセル」特定の行(セル)...
-
エクセルで曜日に応じた文字を...
-
エクセルで小数を含む数値の抽出
-
データの入力規則 Excelです。 ...
-
エクセルで、毎日の走行距離(...
-
Excelのセル内文字の並び替えに...
-
エクセルで1列全部10倍したい
-
エクセルにデータを入力すると...
おすすめ情報