Excel VBA質問箱 IV

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

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


9808 / 76736 ←次へ | 前へ→

【72485】数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法
質問  T.K  - 12/8/15(水) 20:24 -

引用なし
パスワード
   少し内容が煩雑なので具体例で示したいと思います。
以下のようなデータがsheet1にあるとします。
start  end  ID
0    1000    1
2000    3000    2
4000    5000    3
6000    7000    4
8000    9000    5
10000    11000    6
12000    13000    7
14000    15000    8
16000    17000    9
18000    19000    10
Sheet2において以下のようなデータをセットします。
start    end  ID
20    100
500    1200
1500    1800
2500    3500
8000    8700
13500    14000
15000    15400
14000    15500
17500    19000
5500    7500
その際ID列に以下のようにsheet1のIDがふられるようにしたいです。
start    end    ID    状態の説明
20    100    1    1の範囲に包括されている
500    1200    1    1の範囲に一部重なっている
1500    1800    ハズレ    範囲内に無い
2500    3500    2    2の範囲に一部重なっている
8000    8700    5    5の範囲に一部重なっている
13500    14000    ハズレ    8のstart値とend値が一致しているが範囲外とする
15000    15400    ハズレ    8のend値とstart値が一致しているが範囲外とする
14000    15500    8    8の範囲を包括している
17500    19000    10    10の範囲を包括している
5500    7500    4    4の範囲を包括している
VLOOKUPで
=IF(A3="","",VLOOKUP(A3,sheet1!$B$2:$D$202,3,TRUE))のようにして行ってはみたものの、抜け番のデータをデータベースに入れなくてはいけなかったり、
5500    7500    4    4の範囲を包括している
という最後のパターンのようなものを判別することは難しく、そもそもVLOOKUPでどうこうしようとすることが不適当なのだと思っていますが、手法が思いつきません。
簡単な説明は以上ですが、実際のデータはもう少し列があり、それを含めた検索をしたいと考えております。
本来のデータはsheet1に
class  start  end  ID
chr1    0    1000    1
chr1    2000    3000    2
chr1    4000    5000    3
chr1    6000    7000    4
chr1    8000    9000    5
chr1    10000    11000    6
chr1    12000    13000    7
chr1    14000    15000    8
chr1    16000    17000    9
chr1    18000    19000    10
chr2    0    1000    11
chr2    2000    3000    12
chr2    4000    5000    13
chr2    6000    7000    14
chr2    8000    9000    15
chr2    10000    11000    16
chr2    12000    13000    17
chr2    14000    15000    18
chr2    16000    17000    19
chr2    18000    19000    20
chr3    1300    1500    21
chr3    1700    2000    22
chr3    2300    2500    23
chr3    2800    3000    24
chr3    3300    3500    25
chr3    3800    4000    26
chr3    4300    4500    27
chr3    4800    5000    28
chr3    5300    5500    29
chr3    5800    6000    30
このような形になっていて、いちばん左のクラスが存在し、
sheet2の検索側も
class    start    end  ID
chr1    20    100
chr1    500    1200
chr1    1500    1800
chr1    2500    3500
chr1    8000    8700
chr1    13500    14000
chr1    15000    15400
chr1    14000    15500
chr1    17500    19000
chr1    5500    7500
としたいです。つまり、
class    start    end  ID
chr1    20    100
chr1    500    1200
chr1    1500    1800
chr1    2500    3500
chr3    20    100
chr3    500    1200
chr3    1500    1800
chr3    2500    3500
という風に検索をしようとしたときにIDにはsheet1のclassを認識してその部分だけを検索対象にしてほしく、先ほどのデータベースだとするならば結果として以下のようになるような感じなVBAを考えております。
class    start    end  ID
chr1    20    100    1
chr1    500    1200    1
chr1    1500    1800    ハズレ
chr1    2500    3500    2
chr3    20    100    ハズレ
chr3    500    1200    ハズレ
chr3    1500    1800    22
chr3    2500    3500    24
VBAで何とかするしかないかと思っています。どなたか教えていただけませんか?

0 hits

【72485】数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法 T.K 12/8/15(水) 20:24 質問
【72486】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:09 発言
【72489】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/15(水) 22:38 発言
【72491】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:48 発言
【72492】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:37 発言
【72493】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:51 発言
【72494】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 8:16 発言
【72495】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 9:03 発言
【72500】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 12:54 発言
【72505】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/17(金) 21:25 発言
【72596】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 21:46 質問
【72598】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 23:55 発言
【72602】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 9:51 質問
【72603】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:07 発言
【72605】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:12 発言
【72606】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 10:38 発言
【72607】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:27 お礼
【72608】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:56 お礼
【72630】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:29 発言
【72631】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:43 発言
【72612】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 15:49 質問
【72613】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 18:37 質問
【72628】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 18:53 発言
【72629】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:12 発言
【72632】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 20:17 発言
【72634】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:35 発言
【72635】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:40 発言
【72657】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 15:49 発言
【72659】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 16:25 発言
【72660】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 17:30 質問
【72664】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 19:35 発言
【72666】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 19:45 お礼

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