|
▼ヒロユキ さん:
こんばんは。
>1〜18までのデータがありまして、番号がユニークにB11〜B28まで
>入っています。この5位まで、すなわちB11〜B15のデータを、
>参照表を使って判定表を作りたいのです。
>
> A B C
>1 2or17 9or10 4or15
>2 7or12 5or14 3or16
>3 6or13 1or18 8or11
↑この参照表が評価するのが難しいデータですが、
このままでいきましょう。
(A1〜C3が参照表だとします)
>
>上記の表を参照して、
>データ例(1)
> A B C
>11 2
>12 12
>13 14
>14 4
>15 9
>16
>・
>・
>・
上記のようにB11〜B15にある場合、
>32 1. 5. 4.
>33 2. 3.
>34
↑この結果をセルA32〜C34に表示するには、
標準モジュールに
'==========================================================
Sub main()
Dim rng As Range
For Each rng In Range("a32:c34")
With rng
.Formula = "=CHOOSE(SUMPRODUCT(ISERROR(MATCH({" & _
Replace(.Offset(-31, 0).Value, "or", ",") & _
"},B11:B15,0))*1)+1,""◎""" & _
",SUMPRODUCT(IF(ISERROR(MATCH({" & _
Replace(.Offset(-31, 0).Value, "or", ",") & _
"},B11:B15,0)),0,MATCH({" & _
Replace(.Offset(-31, 0).Value, "or", ",") & _
"},B11:B15,0))),"""")"
.Value = .Value
End With
Next
End Sub
mainを実行してみてください。
データ例(2)の場合も確認してみて下さい。
|
|