【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!

Excel (一般機能)

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

 
(Windows 10全般 : Excel 2021)
指定の数の値を抽出したいです
投稿日時: 24/10/22 17:57:54
投稿者: JIRO-KUN

	A列	B列	C列	D列	E列
1行目	AAA	2		AAA	BBB
2行目	BBB		2	AAA	BBB
3行目	CCC	1	4	CCC	CCC
4行目	DDD		1	EEE	CCC
5行目	EEE	3	1	EEE	CCC
6行目	FFF			EEE	CCC
					DDD
					EEE

 
A列の値
"AAA"〜"FFF"があり、
B列はA1が2個、A3が1個、A5が3個。
C列はA2が2個、A3が4個、A4が1個、A5が個という意味で、
B列の数の値をD列に、C列の数の値をE列に返したいです。
D1とE1に入れる関数を教えてください。
よろしくお願いいたします。

回答
投稿日時: 24/10/22 18:58:09
投稿者: んなっと

   A B C  D  E
1 AAA 2   AAA BBB
2 BBB   2 AAA BBB
3 CCC 1 4 CCC CCC
4 DDD   1 EEE CCC
5 EEE 3 1 EEE CCC
6 FFF    EEE CCC
7 DDD       DDD
8 EEE       EEE
 
D1
=IFERROR(FILTERXML("<y><x>"&CONCAT(REPT($A1:$A50&"</x><x>",B1:B50))&"</x></y>","//x"),"")
→E1にコピペ

投稿日時: 24/10/22 23:45:38
投稿者: JIRO-KUN

んなっと様
 
回答ありがとうございます。
 
今出先で、Office2016 で試しましたが値が返らず、
Excel 2016ではできなくて、Excel 2021ならできるのでしょうか。
 
明日、Excel 2021で試してみます。
Excel 2016でしたら別の関数になりますでしょうか。

回答
投稿日時: 24/10/23 06:58:33
投稿者: んなっと

F1
=IF(B1="","",SUM(B$1:B1))
下方向・↓ G列にコピー としてから
 
   A B C  D  E F G
1 AAA 2   AAA BBB 2  
2 BBB   2 AAA BBB   2
3 CCC 1 4 CCC CCC 3 6
4 DDD   1 EEE CCC   7
5 EEE 3 1 EEE CCC 6 8
6 FFF    EEE CCC   
7 DDD       DDD   
8 EEE       EEE   
 
D1
=IFERROR(INDEX($A:$A,MATCH(TRUE,INDEX(F$1:F$50-ROW(D1)>=0,),0)),"")
下方向・↓ E列にコピー

投稿日時: 24/10/23 09:20:48
投稿者: JIRO-KUN

んなっと様
  
追記ありがとうございます。
 
Excel 2021で試してみましたら始めにいただいた回答でできました。
そして次の回答もExcel 2021でできました。
結果、Excel 2021でしたらどちらもできました。
 
今夜、2016でできるか試したいと思います。
 
バージョンによって使用できる関数が異なってくるのですね。
ありがとうございました。