『文字抽出の計算式』(ブチブチ)
職員送迎車用の時間表を作成したいです。
20名以上の職員がおり、2つの工場で早番・遅番などの勤務があります。勤務地によって送迎時間が異なります。送迎車の行先は2か所です。
A列に職員名、B列に勤務地、C列に行先駅(駅)、D列以降日付、日付に対して職員の勤務形態記載されている表があります。
別個所に日付を入れるだけで、その日の送迎者・勤務・行先がわかるように表を作りたいと考えています。
https://gyazo.com/2f7b69780b53199e6f50e2aae8d4c3a9
FILTER関数を使用しようかと思っていますが、なかなか計算式が経たずエラーばかりが起きています。
何か最適な方法はないでしょうか。
お知恵を拝借したく存じます。
よろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows11 >
>FILTER関数を使用しようかと思っていますが、なかなか計算式が経たずエラーばかりが起きています。
FILTER関数は、Excel2019では使えないんじゃないですかね?
C12セル =IF($B$10="","",IFERROR(INDEX($A:$A,AGGREGATE(15,6,ROW(B$2:B$6)/(($B$2:$B$6=C$11)*($C$2:$C$6=$B12)*(INDEX($D$2:$AH$6,0,DAY($B$10))=LOOKUP("ーー",$A$12:$A12))),IF($B12="",2,1))),"")) 右へ、下へコピー
<結果図>
行 ___A___ ___B___ __C__ ___D___ ___E___ 1 職員名 所属 行先 1月1日 1月2日 2 太郎 Q工場 A駅 早番 遅番 3 花子 Z工場 B駅 遅番 日勤 4 次郎 Q工場 A駅 日勤 休み 5 三郎 Z工場 A駅 遅番 早番 6 啓子 Z工場 B駅 夜勤 明け 7 8 9 10 日付 1月2日 11 Q工場 Z工場 12 早番 A駅 三郎 13 14 B駅 15 16 日勤 A駅 17 18 B駅 花子 19 20 遅番 A駅 太郎 21 22 B駅 23 24 夜勤 A駅 25 26 B駅 27
(半平太) 2025/02/23(日) 18:34:09
Excel2019ではFILTER関数は使えないのですね。ありがとうございます。
半平太様にご教示いただいたように入れたら表示されるようになりました。
説明不足で申し訳ありません。
駅と工場の送迎者は1台。同じ勤務(早番)であっても、駅によって時間が異なるようになっています。
工場の職員は1日に数十名おり、同じ日に同じ駅、同じ勤務者も数名おります。
この場合、該当者全員をピックアップすることはできるでしょうか?
質問ばかりで申し訳ありません。
よろしくお願いいたします。
(プチプチ) 2025/02/27(木) 21:41:27
実物に近いデータとそれに整合する希望図をアップしてください。
※エクセルシートの所要範囲をコピーして、掲示板に貼り付けるのが良策です。 画像ファイルは、見に行く人がそんなに多くないので、回答者数が限定的になります。
(半平太) 2025/02/27(木) 22:34:22
A B C D E F G H I J
1 職員名 所属 行先 1月1日 1月2日1月3日 1月4日 1月5日 1月6日 1月7日
2 太郎 Q工場 A駅 日勤 遅番 休み 日勤 遅番 早番 休み
3 花子 Z工場 B駅 遅番 日勤 早番 休み 日勤 遅番 夜勤
4 次郎 Q工場 A駅 早番 休み 遅番 夜勤 明け 休み 日勤
5 三郎 Z工場 A駅 遅番 早番 日勤 早番 夜勤 明け 休み
6 啓子 Z工場 B駅 夜勤 明け 休み 遅番 早番 日勤 早番
7 聡子 Q工場 A駅 日勤 遅番 休み 日勤 遅番 早番 休み
8 久代 Z工場 B駅 早番 日勤 早番 休み 日勤 遅番 夜勤
9 隼人 Q工場 A駅 早番 休み 遅番 夜勤 明け 休み 日勤
10 日付 1月1日
Q工場 Z工場 早番 A駅 隼人 A子 次郎 B太 H郎 C助 S子 P美 B駅 T子 久代 M代 M子 K太 R治
(プチプチ) 2025/02/27(木) 23:03:13
どうしても関数で、ということならスルーしていただいて構いませんが、 PowerQueryとピボットテーブルで、それっぽく出来るかと思います。
<元表> |[A] |[B] |[C] |[D] |[E] |[F] |[G] |[H] |[I] |[J] [1]|職員名|所属 |行先|1月1日|1月2日|1月3日|1月4日|1月5日|1月6日|1月7日 [2]|太郎 |Q工場|A駅 |日勤 |遅番 |休み |日勤 |遅番 |早番 |休み [3]|花子 |Z工場|B駅 |遅番 |日勤 |早番 |休み |日勤 |遅番 |夜勤 [4]|次郎 |Q工場|A駅 |早番 |休み |遅番 |夜勤 |明け |休み |日勤 [5]|三郎 |Z工場|A駅 |遅番 |早番 |日勤 |早番 |夜勤 |明け |休み [6]|啓子 |Z工場|B駅 |夜勤 |明け |休み |遅番 |早番 |日勤 |早番 [7]|聡子 |Q工場|A駅 |日勤 |遅番 |休み |日勤 |遅番 |早番 |休み [8]|久代 |Z工場|B駅 |早番 |日勤 |早番 |休み |日勤 |遅番 |夜勤 [9]|隼人 |Q工場|A駅 |早番 |休み |遅番 |夜勤 |明け |休み |日勤
<ピボットテーブル> |[A] |[B] |[C] [1] |属性|1月1日| [2] | | | [3] |値2 |行先 |職員名 [4] |早番|A駅 |次郎 [5] | | |隼人 [6] | |B駅 |久代 [7] |遅番|A駅 |三郎 [8] | |B駅 |花子 [9] |日勤|A駅 |聡子 [10]| | |太郎 [11]|夜勤|B駅 |啓子
元表をPowerQueryエディタに読み込み、 職員名、所属、行先の列を選択し、その他の列をピボット解除、閉じて読み込む。
ピボットテーブルは フィルターボックス 属性
行ボックス 値2 行先 職員名
ピボットテーブルのデザインで、集計・小計はせずに、表形式で表示。
就寝しますので、細かい手順は端折ります。ごめんなさい。 (RB) 2025/02/27(木) 23:38:16
あー、工場が無いか・・・慌ててやるとだめですね。 申し訳ありません、撤回します。 (RB) 2025/02/27(木) 23:40:34
少々レイアウトが違いますが、行ボックスに所属を追加した形
|[A] |[B] |[C] |[D] [1] |属性|1月1日| | [2] | | | | [3] |値2 |行先 |所属 |職員名 [4] |早番|A駅 |Q工場|次郎 [5] | | | |隼人 [6] | |B駅 |Z工場|久代 [7] |遅番|A駅 |Z工場|三郎 [8] | |B駅 |Z工場|花子 [9] |日勤|A駅 |Q工場|聡子 [10]| | | |太郎 [11]|夜勤|B駅 |Z工場|啓子 (RB) 2025/02/27(木) 23:43:13
>不可であれば1つのセルに名前羅列を希望します。
レイアウトを以下の様にシンプルにして、100行目から結果を出すとした場合 C102セル =IF($B$100="","",TEXTJOIN(",",TRUE,IFERROR(INDEX($A:$A,AGGREGATE(15,6,ROW(B$2:B$99)/(($B$2:$B$99=C$101)*($C$2:$C$99=$B102)*(INDEX($D$2:$AH$99,0,DAY($B$100))=IF($A102<>"",$A102,$A101))),ROW($A$1:$A$99))),""))) 右へ、下へコピー
<結果図> 行 __A__ ___B___ ________C________ _______D_______ 100 日付 1月1日 101 Q工場 Z工場 102 早番 A駅 次郎,隼人,H郎,S子 A子,B太,C助,P美 103 B駅 T子,M代,K太 久代,M子,R治 104 日勤 A駅 太郎,聡子 105 B駅 106 遅番 A駅 三郎 107 B駅 花子 108 夜勤 A駅 109 B駅 啓子
※当方、Excel2019を持っていないので当該バージョンで検証しておりません。 もし数式がエラーになる様なら↓ Ctrl+Shiftキーを押しながら、Enterキー押下で入力してみてください。
(半平太) 2025/02/28(金) 09:14:14
半平太さんの表をお借りして、こんなのも。
A B C D 100 日付 1/1 101 Q工場 Z工場 102 早番 A駅 次郎,隼人 103 B駅 久代 104 日勤 A駅 太郎,聡子 105 B駅 106 遅番 A駅 三郎 107 B駅 花子 108 夜勤 A駅 109 B駅 啓子
C102 =TEXTJOIN(",",,REPT($A$2:$A$99,INDEX($2:$99,,MATCH($B$100,$1:$1,0))&$C$2:$C$99&$B$2:$B$99=LOOKUP("ーー",$A$102:$A102)&$B102&C$101)) 右方向・→下方向・↓ (んなっと) 2025/02/28(金) 17:33:43
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.