|
シート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関数について本の参考が載っていませんのでどなたかたに
教えてくださるようお願いします。
|
|