性格悪い人が優勝

エクセル2013について教えてください
下記【表1】の様な個人単位のレコードを
【表1】
住所コード 氏名   住所
1     山田太郎 ○○県××市1-1-1
1     山田花子 ○○県××市1-1-1
2     鈴木一郎 ○○県××市2-2-2
2     鈴木次郎 ○○県××市2-2-2
2     鈴木三郎 ○○県××市2-2-2
下記【表2】の様に住所単位のレコードに変換する方法(関数)を教えてください
【表2】
住所コード 氏名   氏名2  氏名3   住所
1     山田太郎 山田花子       ○○県××市1-1-1
2     鈴木一郎 鈴木次郎 鈴木三郎  ○○県××市2-2-2

A 回答 (1件)

こんにちは



セル位置が不明なので、ひとまず以下と仮定
・住所コードと、住所は1対1で対応している
・表1はA~C列で1行目がタイトル行
・表2はE~I列で1行目がタイトル行

1)E列に住所コードがリストアップされている場合
F2セルに
=IFERROR(INDEX($B:$B,AGGREGATE(15,6,ROW($A$1:$A$99)/($A$1:$A$99=$E2)/($E2<>""),COLUMN(A1))),"")
を入力し、H2までフィルコピー
I2セルに
=IFERROR(VLOOKUP(E2,A2:C99,3,0),"")
を入力。
F2:I2を選択して、下方にフィルコピー

2)同じ条件で、F~I列をみな同じ式にしたければ
F2セルに
=IFERROR(OFFSET($A$1,AGGREGATE(15,6,ROW($A$1:$A$99)/($A$1:$A$99=$E2)/($E2<>""),MOD(COLUMN(C1),3)+1)-1,INT(COLUMN(C1)/3)),"")
を入力して、右方、下方にフィルコピー

3)E列の抽出も関数で(自動で)行いたい場合
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW(A$2:A$99)/(COUNTIF(OFFSET($A$1,,,ROW(A$2:A$99)),A$2:A$99)=1),ROW(A1))),"")
を入力して下方にフィルコピー

で可能と思います。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!