Excel (一般機能)

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

 
(Windows 10 Pro : Excel 2019)
EXCEL 差込印刷用に複数行の特定項目を1行にまとめたい
投稿日時: 24/02/27 21:24:02
投稿者: shinx

お世話になっております。
次のようなデータがあります。
 
グループ グループ員
A1   A1
A1   A2
A1   A3
B1   B1
B1   B2
C1   C1
C1   C2
C1   C3
C1   C4
C1   C5
 
このデータを次のように作りたいのです。
グループ G員1 G員2 G員3 G員4
A1   A2  A3
B1   B2
C1   C2  C3  C4  C5
 
差込印刷するにあたり、データを作り替え、そこでグループ内の計算をさせるために1行にする必要があります。
 
複数行を差込印刷する方法は、空白行を作成しNext Record If でできるみたいですが、いったん計算をさせる必要上、グループ毎に1行にしたいと考えています。
 
以前は、1行にする方法はネットにたくさん書き込みがあったと記憶していますが、Next Record If で簡単にできるようになったせいか、その書き込みが見当たりません。
 
どなたかよい方法を教えてください。
 
よろしくお願いいたします。

回答
投稿日時: 24/02/28 08:43:08
投稿者: んなっと

●Sheet1
 
      A      B
 1 グループ グループ員
 2   A1    A1
 3   A1    A2
 4   A1    A3
 5   B1    B1
 6   B1    B2
 7   C1    C1
 8   C1    C2
 9   C1    C3
10   C1    C4
11   C1    C5
 
●Sheet2
 
     A    B    C    D    E
1 グループ G員1 G員2 G員3 G員4
2   A1  A2  A3        
3   B1  B2            
4   C1  C2  C3  C4  C5
 
A2
=IFERROR(INDEX(Sheet1!A:A,AGGREGATE(15,6,ROW($2:$200)/(Sheet1!A$1:A$199<>Sheet1!A$2:A$200),ROW(A1)))&"","")
下方向・↓
 
B2
=IF($A2="","",IF(COUNTIF(Sheet1!$A:$A,$A2)<=COLUMN(A2),"",INDEX(Sheet1!$B:$B,MATCH($A2,Sheet1!$B:$B,0)+COLUMN(A2))))
右方向・→下方向・↓

回答
投稿日時: 24/02/28 10:01:18
投稿者: Mike

   A     B   C  D    E  F  G  H  I
1 グループ グループ員    グループ G員1 G員2 G員3 G員4 G員5
2 A1   A1       A1   A1  A2  A3
3 A1   A2       B1   B1  B2
4 A1   A3       C1   C1  C2  C3  C4  C5
5 B1   B1
6 B1   B2
7 C1   C1
8 C1   C2
9 C1   C3
10 C1   C4
11 C1   C5
 
1. 範囲 A1:B11 を選択⇒[数式]⇒[定義された名前 <選択範囲から作成>]⇒“上端行”だけにチェック入れ⇒[OK]を「エイヤッ!」と叩き付け
2. 次式を入力したセル E1 を右方4列&下方2行にドラッグ&ペースト
__=IFERROR(INDEX(グループ員,SMALL(IF(グループ=$D2,ROW(グループ)),COLUMN(A1))-1),"")
 
【お断わり】上式は必ず配列(CSE)数式として入力のこと(その結果、[数式バー]上の上式の両端が自動的に括弧[]で囲まれる)

投稿日時: 24/02/29 09:39:02
投稿者: shinx

皆さん、ありがとうございます。
回答いただいたものは、私には高度すぎますが、よく考えたら、IF関数でできるかなぁと思いつきましたが、いかがでしょうか?
次のセルの状況で
 
      A      B    C      D      E       F
 1 グループ グループ員 グループ員2 グループ員3 グループ員4 グループ員5
 2   A1    A1
 3   A1    A2
 4   A1    A3
 5   B1    B1
 6   B1    B2
 7   C1    C1
 8   C1    C2
 9   C1    C3
10   C1    C4
11   C1    C5
 
 
C2に =IF($A2=$B2,IF($A2=$A3,$B3,""),"")
D2に =IF($A2=$B2,IF($A2=$A4,$B4,""),"")
E2に =IF($A2=$B2,IF($A2=$A5,$B5,""),"")
F2に =IF($A2=$B2,IF($A2=$A6,$B6,""),"")
全行にこの式をコピーする
とすれば、整列が適正(グループ毎)になっておけば、だいじょうぶそうですが、いかがでしょうか?
 
結果が、
 
      A      B     C       D       E        F
 1 グループ グループ員 グループ員2 グループ員3 グループ員4 グループ員5
 2   A1    A1   A2     A3
 3   A1    A2
 4   A1    A3
 5   B1    B1   B2
 6   B1    B2
 7   C1    C1   C2     C3    C4      C5
 8   C1    C2
 9   C1    C3
10   C1    C4
11   C1    C5
 
この結果になり、A2=B2となる行だけ選択すれば、できることを思いつきました。
 
なにか、問題ありますでしょうか?
 
 

回答
投稿日時: 24/02/29 10:54:24
投稿者: んなっと

引用:
回答いただいたものは、私には高度すぎますが、よく考えたら、IF関数でできるかなぁと思いつきましたが、いかがでしょうか?

↑無視します。
ほかにこんなのも。
 
●Sheet1 C列に作業列追加
 
      A      B   C
 1 グループ グループ員   
 2   A1    A1 1+1i
 3   A1    A2 1+2i
 4   A1    A3 1+3i
 5   B1    B1 2+1i
 6   B1    B2 2+2i
 7   C1    C1 3+1i
 8   C1    C2 3+2i
 9   C1    C3 3+3i
10   C1    C4 3+4i
11   C1    C5 3+5i
 
C2
=IF(A2="","",IMREAL(C1)+(A1<>A2)&"+"&IMAGINARY(C1)*(A1=A2)+1&"i")
下方向・↓
 
●Sheet2
 
     A    B    C    D    E
1 グループ G員1 G員2 G員3 G員4
2   A1  A2  A3        
3   B1  B2            
4   C1  C2  C3  C4  C5
 
A2
=IFERROR(INDEX(Sheet1!$B:$B,MATCH(ROW(A1)&"+"&COLUMN(A1)&"i",Sheet1!$C:$C,0)),"")
右方向・→下方向・↓

回答
投稿日時: 24/03/01 11:06:39
投稿者: Mike

》 なにか、問題ありますでしょうか?
ありますよッ!
 
ソレ、貴方が質問文で
》 このデータを次のように作りたいのです。
と例示されたモノと“月(ツキ)と鼈(スッポン)”、“提灯に釣鐘”みたいな違いがあ〜りませんかッ!?

トピックに返信