Excel VBA質問箱 IV

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

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


37139 / 76738 ←次へ | 前へ→

【44773】Re:判定表を作りたいです。
発言  ヒロユキ  - 06/11/30(木) 23:57 -

引用なし
パスワード
   ▼ichinose さん、ありがとうございます。

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


ありがとうございます。
こんなに、早く返信があるとは思いませんでした。
コードをだらだら書かなくてはいけないと思っていたのですが、
やはり、このケースはOffsetを使うのですね。自分はまだ理解に至っていませんが。

エラーがでました。'1004'のエラーで
データ例(1)はB32が「0」
データ例(2)はB32〜C34が「0」で中断しました。

また、他のデータでテストしてみましたら、
◎が3カ所と「0」が入力された表になってしまいました。

エクセルは2000です。
当方は、まだスキルがないのでどこがいけないか、理解できていません。
ちなみに、エラーの範囲は、
>.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

でした。

すみません。よろしくお願いします。
0 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 お礼

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