[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シフト表から当日の出勤』(おぎも)
質問させていただきます。よろしくお願いいたします。
指定した日付の勤務時間が入力されている行を行をつめて表示させたいのですが、うまくいきません。
下記のようなシフト表があります。
A B C D 4月1日 4月2日 4月3日 1 Aさん 15:00-18:00 10:00-19:00 2 Bさん 10:00-18:00 10:00-19:00 3 Cさん 10:00-19:00 10:00-19:00
同じシートのA4に4月1日と入力した場合
A 5 15:00-18:00 6 10:00-19:00
という結果を出したいのですが、どのようにしたらよいかご教示いただきたいと思います。
ネットでいろいろ調べながらいじっていたら勤務時間が入っている人の名前を出すことはできたのですが、時間だけ抜き出すことができません。
よろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
提示例だと日付の行は何行目になるんですか? 1行目にセル内改行して、時間と一緒に入力しているのですか?
|[A] |[B] |[C] |[D] [1]| |4月1日 |4月2日 |4月3日 [2]|Aさん|15:00-18:00|10:00-19:00| [3]|Bさん| |10:00-18:00|10:00-19:00 [4]|Cさん|10:00-19:00| |10:00-19:00
仮に上記の様だとして、検索日付を入力するセルが「A5」だとしたら、 VBAで良ければ以下でどうでしょうか。
Sub Macro1() Dim col As Long With Range("A5") Range(.Offset(1), .End(xlDown)).Clear On Error GoTo iError col = WorksheetFunction.Match(.Cells, Rows(1), 0) Cells(2, col).Resize(3).SpecialCells(xlCellTypeConstants, xlTextValues).Copy .Offset(1) End With Exit Sub iError: MsgBox "日付がありません" End Sub
※Cells(2, col).Resize(実際の人数)に変更して下さい。 (焼肉) 2021/12/12(日) 07:08
数式だとして
>勤務時間が入っている人の名前を出すことはできたのですが これはどうやって、どこに抽出したんですか?
それができてるのなら、VLOOKUP とか INDEX〜MATCH で簡単にできると思いますけど?
一応・・・
A B C D 1 4/1 4/2 4/3 2 Aさん 15-18 10-19 3 Bさん 10-18 10-19 4 Cさん 10-19 10-19 5 6 4/1 ← 抽出条件 7 Aさん 15-18 8 Cさん 10-19 9
A7 =IF($A$6="","",IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$4)/(INDEX($B$2:$D$4,0,MATCH($A$6,$B$1:$D$1,0))<>""),ROW(A1))),"")) 下コピー ※実際の表の位置がどうなっていようと、最後の方の ROW(A1)の「A1」を変更しないように
B7 =IF(A7="","",VLOOKUP(A7,$A$2:$D$4,MATCH($A$6,$A$1:$D$1,0),FALSE)) 下コピー
以上 (笑) 2021/12/12(日) 10:27
数式で、作業列を使ってもいいのなら・・・
例示通り、元表はD列までだとして、E列を作業列とすると
E2 =IFERROR(IF(INDEX(B2:D2,MATCH($A$6,$B$1:$D$1,0))<>"",ROW(),""),"") 4行目まで下コピー
A7 =IF($A$6="","",IFERROR(INDEX(A:A,SMALL($E$2:$E$4,ROW(A1))),"")) 下コピー ※このROW(A1)の[A1」も変更しないように
B7以下は、先の回答と同じ VLOOKUP で
以上 (笑) 2021/12/12(日) 14:34
焼肉さま
せっかく教えていただいたのですが、vbaって何というレベルにつき使いこなすことができませんでした。
お時間頂戴してしまったのに申し訳ございません。
笑さま
お教えいただいたものでバッチリやりたいことができました。
>勤務時間が入っている人の名前を出すことはできたのですが これはどうやって、どこに抽出したんですか? ネットで見つけたサンプルをあてはめたら奇跡的にできてしまったのです。
(おぎも) 2021/12/12(日) 18:49
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.