| 
    
     |  | シート1(データ元) A BCDEFGHIJKLMNLOP
 ss 2221234342112332
 si 2132422334142342
 ai 2313213341232133
 oh 3233321114422341
 aa 3213233144234334
 ・
 ・
 
 シート2(データ変換)
 ABCDEFGHIJ K L M N L O P
 -12345678910111213141516→データ元の列と順番通りです。
 1333300030 3 0 3 0 0 3 3  縦A列の1234は点数です。
 2222211121 2 1 2 1 1 2 2  B2セルは2点ならばB列にA列の2点に当てはまり2点
 3111122212 1 2 1 2 2 1 1  なります。
 4000033303 0 3 0 3 3 0 0
 
 シート3(データ変換後)
 A BCDEFGHIJKLMNLOP
 ss 2223223132031212
 si 3312311120001202
 ai 2131102133111011
 oh 1211210300321203
 aa 1231122330113210
 ・
 ・
 
 B2セルにデータ元を読み取ってシート2の元で置換してシート3(シート3へコピー?表示?)へ表示して行が空欄するまで繰り返しします
 
 2→シート2にINDEX関数で一致したら置換してシート3へ表示します。
 
 構文
 Dim i As Long
 Dim t As Long
 Dim suto As WorkSheets
 Set suto = WorkSheets("シート2")
 For i = 2 To Range("A65536").End(xlUp).Row
 For t = 2 To 16 Step -1
 worksheets("シート3”).cells(i,2).Value= Index(suto.range("B2:P5"),match(t,suto.range("A2:A5"),match(cells(i,t),suto.range("B1:P1"),1,1))
 Next i
 Next t
 
 INDEX関数について本の参考が載っていませんのでどなたかたに
 教えてくださるようお願いします。
 
 |  |