Excel (一般機能)

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

 
(Windows 10 Pro : Excel 2019)
複数アイテムの表示が何回もできるようにしたい
投稿日時: 22/10/31 16:23:07
投稿者: ラングドシャ

お願いします。
 
<アイテムリスト>

	B	C	D	E	F
2	品番	個数	単価	0個削除	カウント
3	A001	10000	100	A001	A0011
4	A001	30000	80	A001	A0012
5	A001	50000	50	A001	A0013
6	B001	0	90		
7	B001	10000	90	B001	B0011
8	B001	30000	80	B001	B0012
9	B001	50000	70	B001	B0013

 
 
<入力シート>
	B	C	D	E	F
16	品番	個数	単価		
17	A001	10000	100	1	
18	A001	30000	80	2	
19	A001	50000	50	3	
20					
21					

 
 
アイテムリストには、品番とそれぞれの個数に対する単価が記載されています。
0個と10000個は同じ単価になるのでE列で削除し、F列では個数・単価を識別できるよう
COUNTIF関数で、品番とカウント数をつなげて表示しています。
F列:=IF(C3=0,"",E3&COUNTIF($E$2:E3,E3))
 
入力シートのB列に品番を入れると「C列:個数」と「D列:単価」が表示されるよう
E列で入力数をカウントし下記の関数をいれました。
E列:=IF(B17="","",COUNTIF($B$16:B17,B17))
C列:=INDEX($C$3:$C$9,MATCH($B17&$E17,$F$3:$F$9,0))
D列:=INDEX($D$3:$D$9,MATCH($B17&$E17,$F$3:$F$9,0))
 
今回教えていただきたいのは、入力シートにA001が何度表示されても個数・単価が
表示されるようにしたいのです。
<入力シート:希望する結果>
	B	C	D	E	F
16	品番	個数	単価		
17	A001	10000	100	1	
18	A001	30000	80	2	
19	A001	50000	50	3	
20					
21	A001	10000	100	1	
22	A001	30000	80	2	
23	A001	50000	50	3	

※結果が正しければE列は1,2,3でなくても良いです
 
上表のように、再度A001を入力してもアイテムリストから抽出されるようしたいのですが、
現在のままではE列は当然ながら4,5,6となるため、エラーになってしまいます。
アイテムリストからA001全個数を表示させて、入力数がA001全個数を超えたら1に戻す。
などいろいろ試しましたがうまくできませんでした。
 
「C列:個数」は3つセットとは限りません。2つセットの場合もあります。
また、入力シートで品番は必ず個数分の入力を行います。
入力は何回も(何週もと言った方がいいでしょうか)繰り返すことがあります。
 
このような条件でうまく抽出する関数はありますでしょうか?
よろしくお願いいたします。

回答
投稿日時: 22/10/31 16:43:23
投稿者: んなっと

E17
=IF(B17="","",MOD(COUNTIF(B$16:B17,B17)-1,COUNTIF(E$3:E$9,B17))+1) 

投稿日時: 22/10/31 17:15:40
投稿者: ラングドシャ

んなっと様
なにかないかと検索していて何気なく戻ってきたら、回答されていて
びっくりしました。
mod関数なのですね。いろいろ使いどころがある関数なのですね。
うまく抽出できました。いつもありがとうございます。