advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 48864 for A�����������������������... (0.009 sec.)
[[20110126081041]]
#score: 1420
@digest: 6aac266603fb2f70723687360aff5fd3
@id: 52994
@mdate: 2011-01-29T05:06:42Z
@size: 8086
@type: text/plain
#keywords: 備空 (81189), 浜崎 (28771), 欄) (24478), 早d (22862), 遅10 (21971), 川早 (21971), 予備 (21727), 崎d (21640), 早休 (19709), 早5 (19159), 井- (18278), 部休 (18074), 藤早 (17974), 休- (17779), 松井 (17671), 川9 (17052), 休a (17010), 井8 (16717), 藤休 (15602), 遅遅 (15468), 崎10 (15272), 遠藤 (15074), 藤a (14977), 阿部 (14500), 早a (12397), 石川 (10618), 藤c (10524), 木b (9472), 藤8 (9019), 後藤 (7488), 田7 (7357), 田a (6791)
『シフト表』(NA
月のシフト表があります。その中から、勤務者を勤務時間の早い順に並べ替えて、表示させたいです。 早…5:00〜14:00 A…6:00〜15:00 B…7:00〜16:00 C…8:00〜17:00 D…9:00〜18:00 遅…10:00〜19:00 休…休み みたいな勤務時間設定があります。 1 2 3 4 5 6 7 8 9 ……(日付) 佐藤 A B 休 D D D 遅 遅 B 鈴木 休 早 A A B B 休 A A 山田 遅 遅 D 休 A 遅 C D 休 阿部 C 休 C C 休 A 早 休 遅 のシフト表があります。 例えば、3日の勤務者表を出したいとすると 鈴木 6:00〜15:00 阿部 8:00〜17:00 山田 9:00〜18:00 の様に、表示させたいのですが、わかりません。教えてください。Excel2007です。 ---- 作業列つかっていいですか? A B C D E F … 1 1 2 3 4 5 … 2 佐藤 A B 休 D D … 3 鈴木 休 早 A A B … 4 山田 遅 遅 D 休 A … 5 阿部 C 休 C C 休 … 6 : 10 3 日の勤務表 11 鈴木 6:00〜15:00 12 阿部 8:00〜17:00 13 山田 9:00〜18:00 14 : (B列) (C列) 20 早 5:00〜14:00 1 21 A 6:00〜15:00 2 22 B 7:00〜16:00 3 23 C 8:00〜17:00 4 24 D 9:00〜18:00 5 25 遅 10:00〜19:00 6 という表だとします。 仮にD11から14(最大人数が4人だから)と E11から14を作業列とします(列じゃないけど) 何日の勤務表か、をA10に数字でいれます。 日付は必ず1日がB1からはじまるものとします。 作業列のE11に =IF(OR(INDIRECT("R"&ROW(A2)&"C"&$A$10+1,0)="休",INDIRECT("R"&ROW(A2)&"C"&$A$10+1,0)=""),"",ROW(A2)) 同じく作業列のD11に =IF(E11="","",VLOOKUP(INDIRECT("R"&ROW(A2)&"C"&$A$10+1,0),$A$20:$C$25,3,0)) 両方とも14までフィルコピー A11に =IF(COUNT($D$11:$D$14)<ROW(A1),"",INDEX($A$1:$A$5,VLOOKUP(SMALL($D$11:$D$14,ROW(A1)),$D$11:$E$14,2,0))) B11に =IF(COUNT($E$11:$E$14)<ROW(B1),"",VLOOKUP(INDEX(INDIRECT("R1C"&$A$10+1&":R5C"&$A$10+1,0),VLOOKUP(SMALL($D$11:$D$14,ROW(A1)),$D$11:$E$14,2,0)),$A$20:$B$25,2,0)) 両方とも14までフィルコピー (すずめ) ---- ありがとうございました。すずめ様の、方法で早い時間ごとに表示されました。 大変恐縮なのですが、同日に同勤務の人が発生する場合、どの様にすればよいか、重ね てご教授頂けませんでしょうか。 例えば、佐藤A、鈴木A、みたいな場合、 佐藤 6:00〜15:00 佐藤 6:00〜15:00 となってしまい、鈴木の名前が反映されないのです。(NA) ---- 何人ぐらいかぶりますかね? とりあえず10人までとして 作業列のD11の式を =IF(E11="","",VLOOKUP(INDIRECT("R"&ROW(A2)&"C"&$A$10+1,0),$A$20:$C$25,3,0))*10+ROW(A1) としてください。 10人以上かぶるなら後ろのほうにある「*10」を「*100」にしてください。 (すずめ) ---- すいません。色々やってみましたが、ダメそうなので、三度質問させて下さい。 作成したいものは、名前が入っている人が10人で予備であと3枠ほど確保したいです。 「休」の種類が2つ 「休」…公休 「-」…希望休 A B C D E F … 1 1 2 3 4 5 …(日付) 2 佐藤 A - 3 鈴木 B 早 4 山田 A B 5 阿部 休 - 6 後藤 休 休 7 遠藤 C C 8 松井 - C 9 石川 早 D 10 斉藤 早 休 11 浜崎 D 遅 12 (予備空欄) 13 (予備空欄) 14 (予備空欄) 15 : の様なシフト表で、 2日の勤務表なら 鈴木 5:00〜14:00 山田 7:00〜16:00 遠藤 8:00〜17:00 松井 8:00〜17:00 石川 9:00〜18:00 浜崎 10:00〜19:00 の様に表示させたいです。何度もすいません。お願い致します。(NA) ---- どう式を直してダメだったか書いていただけると、解説のしようもあるのですが・・・ とりあえず想像で! A B C D E 1 1 2 3 4 2 佐藤 A - 3 鈴木 B 早 4 山田 A B 5 阿部 休 - 6 後藤 休 休 7 遠藤 C C 8 松井 - C 9 石川 早 D 10 斉藤 早 休 11 浜崎 D 遅 12 (予備空欄) 13 (予備空欄) 14 (予備空欄) 15 (予備空欄) 16 (予備空欄) : 20 2 日の勤務表 D列 E列 21 鈴木 5:00〜14:00 22 山田 7:00〜16:00 102 3 23 遠藤 8:00〜17:00 303 4 24 松井 8:00〜17:00 25 石川 9:00〜18:00 26 浜崎 10:00〜19:00 406 7 27 407 8 28 508 9 29 30 610 11 31 : C列 40 早 5:00〜14:00 1 41 A 6:00〜15:00 2 42 B 7:00〜16:00 3 43 C 8:00〜17:00 4 44 D 9:00〜18:00 5 45 遅 10:00〜19:00 6 最大人数をとりあえず15人としました。Aの16行まで人名を入れられます。 作業列のE21に =IF(OR(INDIRECT("R"&ROW(A2)&"C"&$A$20+1,0)="休",INDIRECT("R"&ROW(A2)&"C"&$A$20+1,0)="-",INDIRECT("R"&ROW(A2)&"C"&$A$20+1,0)=""),"",ROW(A2)) 同じく作業列のD21に =IF(E21="","",VLOOKUP(INDIRECT("R"&ROW(A2)&"C"&$A$20+1,0),$A$40:$C$45,3,0)*100+ROW(A1)) 両方とも35行目までフィルコピー A21に =IF(COUNT($D$21:$D$35)<ROW(A1),"",INDEX($A$1:$A$16,VLOOKUP(SMALL($D$21:$D$35,ROW(A1)),$D$21:$E$35,2,0))) B21に =IF(COUNT($E$21:$E$35)<ROW(A1),"",VLOOKUP(INDEX(INDIRECT("R1C"&$A$20+1&":R16C"&$A$20+1,0),VLOOKUP(SMALL($D$21:$D$35,ROW(A1)),$D$21:$E$35,2,0)),$A$40:$B$45,2,0)) 両方とも35までフィルコピー 修正のポイントです。 1:勤務表($A$20:$B$35)の位置が違う場合 ・E、D、Bの式の日付の位置(現在$A$20)の変更 ・Dの式のE21の変更 ・A、Bの式の作業列($E$21:$E$35、$D$21:$D$35、$D$21:$E$35)の変更 2:時間帯一覧表($A$40:$C$45)の位置が違う場合 ・Dの式の$A$40:$C$45の変更 ・Bの式の$A$40:$B$45の変更(上と列数が違うのに注意) 3:人数が増えた場合 ・作業列の範囲を広げる(増えた人数分下にフィルコピー) ・Aの式の$A$1:$A$16を人数ぶん範囲を広げる ・Bの式のR16Cの16を行数と一致させる(18行目まで名前を入れるならR18Cに) ・AとBの式の作業列の範囲($E$21:$E$35、$D$21:$D$35、$D$21:$E$35)を広げる ・AとBの式の範囲を広げる(増えた人数分下にフィルコピー) 位置がわからず、こっちが仮定していれたので、変更しそうなポイントはこんなところでしょうか? あとは式の意味と構成を理解していただけるとよいかと思います。 (すずめ) ---- 作ってみたので載せさせて下さい。 AH列を作業列にしてみました。 [A] [B] [C] [D] [E] [F] ・・・ [AH] [1] 1 2 3 4 5 作業列 [2] 佐藤 A - [3] 鈴木 B 早 1.03 [4] 山田 A B 3.04 [5] 阿部 休 - [6] 後藤 休 休 [7] 遠藤 C C 4.07 [8] 松井 - C 4.08 [9] 石川 早 D 5.09 [10] 斉藤 早 休 [11] 浜崎 D 遅 6.11 [12] (予備空欄) [13] (予備空欄) [14] (予備空欄) : [21] 2 日 [22] 鈴木 5:00〜14:00 [23] 山田 7:00〜16:00 [24] 遠藤 8:00〜17:00 [25] 松井 8:00〜17:00 [26] 石川 9:00〜18:00 [27] 浜崎 10:00〜19:00 : [34] : [41] 区分 時間 [42] 早 5:00〜14:00 [43] A 6:00〜15:00 [44] B 7:00〜16:00 [45] C 8:00〜17:00 [46] D 9:00〜18:00 [47] 遅 10:00〜19:00 AH2=IF(COUNTIF($A$42:$A$47,HLOOKUP($A$21,$B$1:AF2,ROW(AH2),FALSE)),MATCH(HLOOKUP($A$21,$B$1:AF2,ROW(AH2),FALSE),$A$42:$A$47,0)+ROW(AH2)/100,"") AH2 → AH14までフィルドラッグ A22=IF(COUNT($AH$2:$AH$14)<ROW(A1),"",INDEX($A$2:$A$14,MATCH(SMALL($AH$2:$AH$14,ROW(A1)),$AH$2:$AH$14,0))) B22=IF(A22="","",INDEX($B$42:$B$47,INT(SMALL($AH$2:$AH$14,ROW(A1))))) A22:B22 → A34:B34までフィルドラッグ (HANA) ---- AH2用の式は =IF(COUNTIF($A$42:$A$47,INDEX(B2:AF2,$A$21)),MATCH(INDEX(B2:AF2,$A$21),$A$42:$A$47,0)+ROW(AH2)/100,"") で良かったですね。。。 (HANA) ---- すずめ様、HANA様、ありがとうございました。おかげさまで、出来ました。助かりました。(NA) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201101/20110126081041.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97068 documents and 608366 words.

訪問者:カウンタValid HTML 4.01 Transitional