Excel VBA質問箱 IV

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

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


8168 / 13646 ツリー ←次へ | 前へ→

【34822】検索の仕方 seru 06/2/13(月) 20:15 質問[未読]
【34826】Re:検索の仕方 ponpon 06/2/13(月) 22:36 発言[未読]
【34834】Re:検索の仕方 seru 06/2/14(火) 13:24 発言[未読]
【34838】Re:検索の仕方 BB 06/2/14(火) 14:19 発言[未読]

【34822】検索の仕方
質問  seru  - 06/2/13(月) 20:15 -

引用なし
パスワード
   (A列)       (C列)   (D列)       (F列) 
0ヶ月        0.0    ≦1.5ヶ月        0.7
≦0.5ヶ月        0.2    ≦2.0ヶ月        1
≦1.0ヶ月        0.4    >2.0ヶ月        1.5

上記のように値が入っているとします。
ユーザーが (H列)に 値をいれます。
その値に当てはまる項目を探し出し(I列)に表示させたい。
ユーザーは、「0.8」 や 「1.6」 等数値をいれたり、
「>2」と入れることもありえます。

(H列)「0.8」と入れたら、 (I列)0.4 と反映させたいのです。
(H列)「>2」と入れたら、 (I列) 1.5 と反映させたい。
どのように組んだらよいか、ぐちゃぐちゃになり分からなくなりました。
教えてください。

【34826】Re:検索の仕方
発言  ponpon  - 06/2/13(月) 22:36 -

引用なし
パスワード
   こんばんは。

(A列)        (C列)    (D列)        (F列)
0ヶ月        0    ≦1.5ヶ月        0.7
≦0.5ヶ月        0.2    ≦2.0ヶ月        1
≦1.0ヶ月        0.4    >2.0ヶ月        1.5

私だけかもしれませんが、そもそも上記の表が何を表しているのか
よくわかりません。
A列、D列はともかく、それに対応したC列やF列の意味がわかりません。

>その値に当てはまる項目を探し出し(I列)に表示させたい。
とは、どこからどんな決まりで何を探すのでしょうか?

>(H列)「0.8」と入れたら、 (I列)0.4 と反映させたいのです。
>(H列)「>2」と入れたら、 (I列) 1.5 と反映させたい。

ということから、0.8は、0.5ヶ月<0.8≦1.0ヶ月だから、≦1.0ヶ月のある行の
C列の0.4をI列に表示。
 >2は、D列に>2.0ヶ月とあり、その行のF列に1.5とあるのでそれをI列に
表示するということですか?    

ということであるなら、
ワークシートのチェンジイベントで
H列に入力された数値を、
Slect Caseで評価し、分岐されたらいかがでしょうか?

もう少しやりたいことを詳しく説明されると、レスがつきやすいと思います。

【34834】Re:検索の仕方
発言  seru  - 06/2/14(火) 13:24 -

引用なし
パスワード
   説明不足でしたので、追記します。
下記のような表があります。
ユーザーは、値をいれ、それに対応した列から値を取得します。
A列はC列 D列はF列に対応してます。
ユーザーが数値を入れれば、それに対応したとこを取るのですが
例えば、0.8 なら 0.4 ととってきます。
しかし、ユーザーが>2と入れることもあります
それは最大が>2なので、>2と入れることもありえます。


>(A列)       (C列)   (D列)       (F列) 
>0ヶ月        0.0    ≦1.5ヶ月        0.7
>≦0.5ヶ月        0.2    ≦2.0ヶ月        1
>≦1.0ヶ月        0.4    >2.0ヶ月        1.5
>
>上記のように値が入っているとします。
>ユーザーが (H列)に 値をいれます。
>その値に当てはまる項目を探し出し(I列)に表示させたい。
>ユーザーは、「0.8」 や 「1.6」 等数値をいれたり、
>「>2」と入れることもありえます。
>
>(H列)「0.8」と入れたら、 (I列)0.4 と反映させたいのです。
>(H列)「>2」と入れたら、 (I列) 1.5 と反映させたい。
>どのように組んだらよいか、ぐちゃぐちゃになり分からなくなりました。
>教えてください。

【34838】Re:検索の仕方
発言  BB  - 06/2/14(火) 14:19 -

引用なし
パスワード
   ▼seru さん:
>説明不足でしたので、追記します。
>下記のような表があります。
>ユーザーは、値をいれ、それに対応した列から値を取得します。
>A列はC列 D列はF列に対応してます。
>ユーザーが数値を入れれば、それに対応したとこを取るのですが
>例えば、0.8 なら 0.4 ととってきます。
>しかし、ユーザーが>2と入れることもあります
>それは最大が>2なので、>2と入れることもありえます。
>
>
>>(A列)       (C列)   (D列)       (F列) 
>>0ヶ月        0.0    ≦1.5ヶ月        0.7
>>≦0.5ヶ月        0.2    ≦2.0ヶ月        1
>>≦1.0ヶ月        0.4    >2.0ヶ月        1.5
>>
>>上記のように値が入っているとします。
>>ユーザーが (H列)に 値をいれます。
>>その値に当てはまる項目を探し出し(I列)に表示させたい。
>>ユーザーは、「0.8」 や 「1.6」 等数値をいれたり、
>>「>2」と入れることもありえます。
>>
>>(H列)「0.8」と入れたら、 (I列)0.4 と反映させたいのです。
>>(H列)「>2」と入れたら、 (I列) 1.5 と反映させたい。
>>どのように組んだらよいか、ぐちゃぐちゃになり分からなくなりました。
>>教えてください。

0.8の場合、≦1.0ヶ月のところから0.4を拾ってくるんですか?
でも、0.8って数は「≦1.5ヶ月」にも当てはまるし、「≦2.0ヶ月」にも当てはまりますよね?

0ヶ月→0.0
0ヶ月超0.5ヶ月以下→0.2
0.5ヶ月超1.0ヶ月以下→0.4
1.0ヶ月超1.5ヶ月以下→0.7
1.5ヶ月超2.0ヶ月以下→1
2.0ヶ月超→1.5

という条件なんでしょうか?

また、不等号を使用する場合は、必ず「>2」なんでしょうか?

1.条件の整理
2.入力されたものと条件をSelect Caseで分岐
すればできると思いますが。

何がぐちゃぐちゃになって、コードの中で何が分からないのかをはっきりさせたほうがいいと思います。
コードすべてを他人に任せるのではなく、自分で作った結果分からない点を具体的に聞いたほうがいいんじゃないですか?

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