[[20250222201041]] 『文字抽出の計算式』(ブチブチ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『文字抽出の計算式』(ブチブチ)

職員送迎車用の時間表を作成したいです。

20名以上の職員がおり、2つの工場で早番・遅番などの勤務があります。勤務地によって送迎時間が異なります。送迎車の行先は2か所です。


A列に職員名、B列に勤務地、C列に行先駅(駅)、D列以降日付、日付に対して職員の勤務形態記載されている表があります。

別個所に日付を入れるだけで、その日の送迎者・勤務・行先がわかるように表を作りたいと考えています。

https://gyazo.com/2f7b69780b53199e6f50e2aae8d4c3a9


FILTER関数を使用しようかと思っていますが、なかなか計算式が経たずエラーばかりが起きています。
何か最適な方法はないでしょうか。

お知恵を拝借したく存じます。
よろしくお願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows11 >


>職員送迎車用の時間表を作成したい
>その日の送迎者・勤務・行先がわかるように表を作りたい
どちらなんですか。
送迎車は何台あるんですか。
勤務体系ごとに送迎するんですか。
(???) 2025/02/23(日) 14:17:23

 >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


ご教示ありがとうございます。
下記のように希望します。
指定日の勤務形態、勤務場所(工場)、駅ごとに対象者全員の名前を入れたいです。
可能であればセルごとに1名の名前記載、不可であれば1つのセルに名前羅列を希望します。

  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


記載とアップ後の表記がかわってしまい読みにくく申し訳ありません。
日にちごとに勤務形態を記載しております。
(ブチブチ) 2025/02/27(木) 23:07:20

 どうしても関数で、ということならスルーしていただいて構いませんが、
 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.