Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
2種類のシフト表
投稿日時: 23/03/16 10:06:05
投稿者: vaioyuki

こちらでこういう相談をするのはダメなのかなと思いながら、
昨日1日考えてもいい案が浮かばなかったのでお知恵を頂きたいです。
 
現在、20名の担当者でひとり2〜3件の得意先を回っております。
今は地区別にシフト表を作成していますが、担当者別でもシフト表を作成したいと考えております。
 

【現在】
A | B | C | D | E | F | G | H ・・・ AH | AI
NO | ID | 地区 | 担当者 | リーダー | 4/1 | 4/2 | 4/3 | ・・・ 4/29 | 4/30
1 | 123 | aa | 田中 | 山本 | (空白) | ○ | 空白 | ・・・ ○ | 空白
2 | 234 | bb | 佐藤 | 山本 | ○ | (空白) | ○ | ・・・ (空白) | ○
3 | 345 | cc | 二宮 | 山本 | (空白) | ○ | 空白 | ・・・ ○ | 空白
4 | 456 | dd | 岡田 | 山本 | ○ | (空白) | ○ | ・・・ (空白) | ○
5 | 567 | ee | 佐藤 | 山本 | (空白) | ○ | 空白 | ・・・ ○ | 空白
6 | 678 | ff | 田中 | 山本 | ○ | (空白) | ○ | ・・・ (空白) | ○

こちらを、
【理想】
A | B | C | D | E | F | G | H ・・・ AH | AI
NO | 担当者 | リーダー | 4/1 | 4/2 | 4/3 | ・・・ 4/29 | 4/30
1 | 田中 | 山本 | ff | aa | ff | ・・・ aa | ff
2 | 佐藤 | 山本 | bb | ee | bb | ・・・ ee | bb
3 | 二宮 | 山本 |  | cc | (空白) | ・・・ cc | (空白)
4 | 岡田 | 山本 | dd | (空白) | dd | ・・・ (空白) | dd

 
ダミーで○を担当者名に変更するシートを作成し、そちらから担当者別を作成しようとしましたが、
地区名を入れるところで躓いてしまいました。
VBAを使っても出来ないかなと試行錯誤していますが、能力不足でいい案が全く浮かびません。
 
お知恵をお貸しください。
よろしくお願いいたします。

投稿日時: 23/03/16 10:07:46
投稿者: vaioyuki

失礼しました。

【理想】
A | B | C | D | E | F | G | H ・・・ [color=red]AG[/color] | [color=red]AH[/color]
NO | 担当者 | リーダー | 4/1 | 4/2 | 4/3 | ・・・ 4/29 | 4/30
1 | 田中 | 山本 | ff | aa | ff | ・・・ aa | ff
2 | 佐藤 | 山本 | bb | ee | bb | ・・・ ee | bb
3 | 二宮 | 山本 |  | cc | (空白) | ・・・ cc | (空白)
4 | 岡田 | 山本 | dd | (空白) | dd | ・・・ (空白) | dd

 
上記の間違いです。

回答
投稿日時: 23/03/16 10:44:59
投稿者: んなっと

●Sheet1
 
  A  B   C    D   E  F  G  H   I   J
1 NO  ID 地区 担当者 リー 4/1 4/2 4/3 4/29 4/30
2  1 123  aa  田中 山本    ○     ○   
3  2 234  bb  佐藤 山本  ○    ○     ○
4  3 345  cc  二宮 山本    ○     ○   
5  4 456  dd  岡田 山本  ○    ○     ○
6  5 567  ee  佐藤 山本    ○     ○   
7  6 678  ff  田中 山本  ○    ○     ○
 
●Sheet2
 
  A    B   C  D  E  F   G   H
1 NO 担当者 リー 4/1 4/2 4/3 4/29 4/30
2  1  田中 山本  ff  aa  ff  aa  ff
3  2  佐藤 山本  bb  ee  bb  ee  bb
4  3  二宮 山本    cc     cc   
5  4  岡田 山本  dd    dd     dd
 
D2
=IFERROR(LOOKUP(1,0/(Sheet1!F$2:F$500="○")/(Sheet1!$D$2:$D$500=$B2),Sheet1!$C$2:$C$500),"")
下方向・↓右方向・→
 
比較的新しいExcelなら
=XLOOKUP(1,(Sheet1!F$2:F$500="○")*(Sheet1!$D$2:$D$500=$B2),Sheet1!$C$2:$C$500,"")

投稿日時: 23/03/16 11:07:53
投稿者: vaioyuki

んなっとさま
 
わっ!!すごい!!
XLOOKUPも試してみたのですがどう工夫していいのかわからず断念していました。
ちなみに、
検索値の「1」はどうして「1」になるのでしょうか?
セル指定でなく「1」、どのように動いての「1」なのでしょうか?
 
=XLOOKUP(1,(Sheet1!F$2:F$500="○")*(Sheet1!$D$2:$D$500=$B2),Sheet1!$C$2:$C$500,"")

回答
投稿日時: 23/03/16 12:55:33
投稿者: taitani
投稿者のウェブサイトに移動

横から失礼します。
 
数式タブ>ワークシート分析項目の「数式の検証」から、検証(E)をポチポチ押していくとわかりやすいですよ。

回答
投稿日時: 23/03/16 13:22:11
投稿者: んなっと

ほかにこんなのも。
 
=IFERROR(INDEX(Sheet1!$C$2:$C$500,MATCH($B2&"○",Sheet1!$D$2:$D$500&Sheet1!F$2:F$500,0)),"")

投稿日時: 23/03/16 13:43:51
投稿者: vaioyuki

taitani さんの引用:
横から失礼します。
 
数式タブ>ワークシート分析項目の「数式の検証」から、検証(E)をポチポチ押していくとわかりやすいですよ。

 
ありがとうございます。
初めて知りました。ポチポチしてみます。

投稿日時: 23/03/16 13:45:05
投稿者: vaioyuki

んなっと さんの引用:
ほかにこんなのも。
 
=IFERROR(INDEX(Sheet1!$C$2:$C$500,MATCH($B2&"○",Sheet1!$D$2:$D$500&Sheet1!F$2:F$500,0)),"")

 
INDEXとMATCH使っても考えてみたのですが、最終的に対象の地区を表示するのがわからず頓挫しておりました。
色々ありがとうございました。