[[20220118113133]] 『[20200911081020]『シフト表 関数での当日出勤者』(一般社員) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『[20200911081020]『シフト表 関数での当日出勤者の抽出』を参照いたしましたが』(一般社員)

初めまして。サイト拝見いたしまして参考にさせていただいております。

過去ログを参照し、同様の関数を作成しておりますが
どうにもうまくいかず、こちらで追加で質問させていただきます。

シート1 はシフト表となっております。
本来1か月分ですが例として3日、記載いたします。

 1/10 1/11 1/12
A 早  休  遅
B 遅  早  休
C 研  研  休
D 休  遅  研

シート2 で日毎の出勤者の名前をリスト化したく思っております。
出勤パターン関係なく、出勤であれば名前が反映されるようにしたいです。

 1/10 1/11 1/12
1 A   B  A
2 B   C  D
3 C   D
4

シート1にシフトを貼り付けましたら、シート2に
日毎の出勤者が出るような関数を
ご教示くださいませ。

よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 表には「行列番号」を明示してください。
 例示のSheet2、左端の数字(1〜4)は何なんですかね?

 >出勤であれば名前が反映
 出勤は「休」以外すべて、ということ?(空白になることはない?)

 とりあえず・・・

 ■Sheet1
	A	B	C	D	・	AF
1		1/10	1/11	1/12		
2	A	早	休	遅		
3	B	遅	早	休		
4	C	研	研	休		
5	D	休	遅	研		
・						
10						

 ■Sheet2

	A	B	C	・	AE
1	1/10	1/11	1/12		
2	A	B	A		
3	B	C	D		
4	C	D			
5					
・					
10					

 Sheet2
 A1 =IF(Sheet1!B1="","",Sheet1!B1)
 表示形式を「日付」にして、AE1(?)まで右コピー

 A2 =IF(A$1="","",IFERROR(INDEX(Sheet1!$A:$A,AGGREGATE(15,6,ROW($A$2:$A$10)/(Sheet1!B$2:B$10<>"休"),ROW(A1)))&"",""))
 下と右にコピー

 実際の表は A1セルからではなくても、最後の方、ROW(A1)の「A1」を変更しないように 

 以上 
(笑) 2022/01/18(火) 13:37

行列番号が抜けておりました件、大変申し訳ございません。

>例示のSheet2、左端の数字(1〜4)は何なんですかね?
 ⇒単純に割り振った番号です。何人まで出勤するか、ということです。
  (座席番号として割振る予定ではあります。)

はい、「休」以外の人を反映させたいので
回答いただきました内容で正しいです。

ありがとうございます。

といったところですが、ちょうど先ほど社内の者から
休の人と「研」の人も反映から外せないか、質問がありました。

上記の関数ですと「休」と「研」以外、という条件にはできないですよね?

何か方法がありますでしょうか?
(一般社員) 2022/01/18(火) 14:42


 >「休」と「研」以外、という条件

 A2 =IF(A$1="","",IFERROR(INDEX(Sheet1!$A:$A,AGGREGATE(15,6,ROW($A$2:$A$10)/((Sheet1!B$2:B$10<>"休")*(Sheet1!B$2:B$10<>"研")),ROW(A1)))&"",""))
                                                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 以上
(笑) 2022/01/18(火) 15:27

早速使わせていただきました。

大変勉強になりました。

ありがとうございましたm(--)m
(一般社員) 2022/01/18(火) 16:04


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.