Excel (一般機能)

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

 
データタブのデータ入力規則について
投稿日時: 21/12/23 19:36:59
投稿者: 春麗

A列のデータで,B列とC列に異なるリストを表示することはできないのでしょうか.
 
例えば,以下の様に
A列が東京だと,B列の選択肢はKKやTTがリスト表示され,
C列の選択肢は担当者が選択される.といった感じです.
 
A B C
東京 KK 佐藤
大阪 CC 木村
 
別シートには以下の様に設定しています.
 
東京カテゴリ 東京担当者
KK 佐藤
TT 伊藤
PP
 
KK,TT,PPは範囲名を東京カテゴリと付けました.
佐藤,伊藤 は範囲名を東京担当者と付けました.
 
うまく質問できなくてすみません.
よろしくお願いいたします.

回答
投稿日時: 21/12/23 21:45:36
投稿者: んなっと

●Sheet2
 
    A   B   C D E   F   G
 1 場所 カテ 担当    カテ 担当
 2 東京   K  あ   1 東京   K
 3 東京   K  い   1 東京   L
 4 東京   K  う   1 東京   M
 5 東京   K  え   1 大阪   K
 6 東京   K  お   1 大阪   L
 7 東京   L  か   2      
 8 東京   L  き   2      
 9 東京   L  く   2      
10 東京   L  け   2      
11 東京   M  こ   3      
12 東京   M  さ   3      
13 東京   M  し   3      
14 大阪   K  す   4      
15 大阪   K  せ   4      
16 大阪   K  そ   4      
17 大阪   K  た   4      
18 大阪   L  ち   5      
19 大阪   L  つ   5      
 
E2
=IF(A2="","",N(E1)+(SUMPRODUCT(1*($A1:B1<>$A2:B2))>0))
下方向・↓
F2
=IFERROR(INDEX(A:A,MATCH(ROW(F1),$E:$E,0)),"")
右方向・→下方向・↓
 
●Sheet1
 
   A   B   C
1 場所 分類 名前
2 東京   L  か
3 大阪   K  そ
4 東京   M  し
5 大阪   L  ち
 
B2
入力規則:リスト▼:元の値:
=OFFSET(Sheet2!$G$1,MATCH(A2,Sheet2!$F:$F,0)-1,,COUNTIF(Sheet2!$F:$F,A2))
C2
入力規則:リスト▼:元の値:
=OFFSET(Sheet2!$C$1,MATCH(A2&"|"&B2,Sheet2!$A$2:$A$500&"|"&Sheet2!$B$2:$B$500,0),,COUNTIFS(Sheet2!$A:$A,A2,Sheet2!$B:$B,B2))

回答
投稿日時: 21/12/23 21:53:03
投稿者: んなっと

最新のExcelなら
  
●Sheet2
  
F1
=UNIQUE(A:B)&""

投稿日時: 21/12/24 11:25:54
投稿者: 春麗

んなっとさん
ありがとうございます.
まったく同じ様に作成してみたのですが,以下の様になりました.
    A   B   C D E   F   G
 1 場所 カテ 担当    カテ 担当
 2 東京   K  あ   1 東京   K
 3 東京   K  い   0 東京   K
 4 東京   K  う   0 東京   K
 5 東京   K  え   0 東京   K
 6 東京   K  お   0 東京   K
 7 東京   L  か   1 東京   K  
 8 東京   L  き   0 東京   K   
 9 東京   L  く   0 東京   K   
10 東京   L  け   0      
11 東京   M  こ   1      
12 東京   M  さ   0      
13 東京   M  し   0      
14 大阪   K  す   1      
15 大阪   K  せ   0      
16 大阪   K  そ   0      
17 大阪   K  た   0      
18 大阪   L  ち   1      
19 大阪   L  つ   0      
 
 
また,データ入力の設定ですが,
sheet1 で設定しようとすると, 「元の値はエラーと判断されます」と表示されますが,
sheet2 で設定して,M列とN列に作成したところエラーは出ず,なんとなく動きが見えてきた様に思います.
これを元に修正してテストしてみようと思います.

回答
投稿日時: 21/12/24 12:08:53
投稿者: んなっと

E2
=IF(A2="","",E1+OR(A1<>A2,B1<>B2))
でもだめですか?
 
    A   B   C D E
 1 場所 カテ 担当   
 2 東京   K  あ   1
 3 東京   K  い   1
 4 東京   K  う   1
 5 東京   K  え   1
 6 東京   K  お   1
 7 東京   L  か   2
 8 東京   L  き   2
 9 東京   L  く   2
10 東京   L  け   2
11 東京   M  こ   3
12 東京   M  さ   3
13 東京   M  し   3
14 大阪   K  す   4
15 大阪   K  せ   4
16 大阪   K  そ   4
17 大阪   K  た   4
18 大阪   L  ち   5
19 大阪   L  つ   5
 
 

回答
投稿日時: 21/12/24 13:23:55
投稿者: んなっと

引用:
まったく同じ様に作成してみたのですが,

この姿勢はすばらしいと思います。
そのテスト用のブックを徐々に希望のシート構成、セル配置に近づけていけば
多くの数式はExcelが自動的に変更してくれます。
 
手動で式を直していくのは本当に疲れますよね。

投稿日時: 21/12/24 16:05:54
投稿者: 春麗

んなっとさん
 
テスト用でうまくいきました.
データを本番用に変えて作成していきます.
どうもありがとうございました.