Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37137 / 76732 ←次へ | 前へ→

【44769】Re:判定表を作りたいです。
発言  ichinose  - 06/11/30(木) 22:56 -

引用なし
パスワード
   ▼ヒロユキ さん:
こんばんは。


>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)の場合も確認してみて下さい。
1 hits

【44766】判定表を作りたいです。 ヒロユキ 06/11/30(木) 21:38 質問
【44769】Re:判定表を作りたいです。 ichinose 06/11/30(木) 22:56 発言
【44773】Re:判定表を作りたいです。 ヒロユキ 06/11/30(木) 23:57 発言
【44777】Re:判定表を作りたいです。 ichinose 06/12/1(金) 7:29 発言
【44778】Re:判定表を作りたいです。 ヒロユキ 06/12/1(金) 8:31 お礼
【44789】Re:判定表を作りたいです。 ichinose 06/12/1(金) 13:03 発言
【44814】Re:判定表を作りたいです。 ヒロユキ 06/12/1(金) 21:04 お礼

37137 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free