Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2013)
一度使用した値を表示しないデータの入力規則
投稿日時: 20/05/18 01:37:38
投稿者: 若くない初心者

入力表の番号欄に別シートに登録されている番号表からリスト(データの入力規則)で表示して
入力させたいのですが、一度使用した番号を表示しないようにするにはどうのようすれば良いか
教えていただけますでしょうか。
 
【入力表】
No 所属 氏名  番号
1 東京 名前あ A00001
2 札幌 名前う xxxxxx
 
【番号表】(別シート)
番号
A00001
A00002
A00003
A00004
A00005
 
 
よろしくお願いいたします。

回答
投稿日時: 20/05/18 09:31:07
投稿者: exvatpc

まず、番号表Sheetに、入力表で使われた番号がの数をカウントする、B列を作る
これがれば、あとで、どの番号が使われているかもすぐにわかることができます
つまり、'0'は使われていないことになります
 
※ B列の数式は、データが入力表のC2〜C3までの場合で式を書いています
 
 【番号表】(別シート)
   A     B
 1 番号
 2 A00001  =COUNTIF(入力表!$C$2:$C$3,番号表!A2) ← "入力表で既に使われ '1' となる"
 3 A00002  =COUNTIF(入力表!$C$2:$C$3,番号表!A3)
 4 A00003  =COUNTIF(入力表!$C$2:$C$3,番号表!A4)
 5 A00004  =COUNTIF(入力表!$C$2:$C$3,番号表!A5)
 6 A00005  =COUNTIF(入力表!$C$2:$C$3,番号表!A6)
 
次に、入力表Sheetの E1セルに、番号表B2からB6の中から、カウントが 0 であるものを探し
あれば該当する番号をA2からA6の番号を表示させるようにします
なければ #N/A が表示されます
 
 【入力表】
   A B   C    D    E
 1 No 所属 氏名  番号   =INDEX(番号表!A2:A6,MATCH(0,番号表!B2:B6,0))
 2 1 東京 名前あ A00001
 3 2 札幌 名前う xxxxxx
 
入力表で、E1セルに表示された番号を D列で使うと、番号表のカウントが0ではなくなるので、入力表の E1 セルには、次に使われていない番号が表示されるようになります

回答
投稿日時: 20/05/18 12:17:14
投稿者: Mike

Sheet1                     Sheet2
   A  B C  D  E   F          A   B
1 A00003      作業用           1 行番 番号
2      行番 無効 有効 有効番号       2  1 A00001
3 A00001   1  3   A00002        3  2 A00002
4       2     2    0       4  3 A00003
5 A00004   3  1       0       5  4 A00004
6       4         0       6  5 A00005
7 A00005   5  4       0       7  6
8       6         0       8  7
9       7  5       0       9  8
10       8         0
 
Sheet2 に於いて、
範圍 B1:B9 を選擇⇒Alt+MC⇒“上端行”のみにチェック入れ⇒[OK]
 
 
Sheet1 に於いて、
D3: =IFERROR(MATCH(A1,番号,0),"")
E3: =IF(C3>COUNTA(番号),"",IF(COUNTIF(D$3:D$10,C3),"",C3))
F3: =IFERROR(INDEX(番号,SMALL(E$3:E$10,ROW(A1))),0)
範圍 A1:A8 に下記の[データの入力規則]を設定
 ̄ ̄[入力値の種類:“リスト”
 ̄ ̄[元の値]: =OFFSET(F$3,,,COUNTA(F:F)-COUNT(F:F)-1,)

回答
投稿日時: 20/05/18 12:32:51
投稿者: んなっと

  A   B    C    D E    F    G    H    I    J
1 No 所属  氏名  番号                      
2  1 東京 名前あ A00003▼  A00001 A00002 A00003 A00004 A00005
3  2 札幌 名前う A00005▼  A00001 A00002 A00004 A00005    
4  3 長野 名前え A00001▼  A00001 A00002 A00004        
5             ▼  A00002 A00004            
6             ▼  A00002 A00004                 
 
D2
入力規則:リスト▼:元の値:
=OFFSET(F2,,,,COUNTIF(F2:Y2,"?*"))
下方向・↓
 
F2
=IFERROR(INDEX(番号表!$A:$A,AGGREGATE(15,6,ROW($2:$20)/ISNA(MATCH(番号表!$A$2:$A$20,$D$1:$D1,0)),COLUMN(A2)))&"","")
右方向・→下方向・↓
 
F列から右を非表示に

トピックに返信