Excel VBA質問箱 IV

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

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


11373 / 13645 ツリー ←次へ | 前へ→

【16425】数値の範囲付けについて みぃこ 04/7/27(火) 15:58 質問[未読]
【16432】Re:数値の範囲付けについて ichinose 04/7/27(火) 19:35 回答[未読]
【16465】Re:数値の範囲付けについて みぃこ 04/7/28(水) 13:36 お礼[未読]
【16471】Re:数値の範囲付けについて みぃこ 04/7/28(水) 15:18 質問[未読]
【16472】Re:数値の範囲付けについて ichinose 04/7/28(水) 16:38 発言[未読]
【16474】Re:数値の範囲付けについて みぃこ 04/7/28(水) 16:59 お礼[未読]

【16425】数値の範囲付けについて
質問  みぃこ E-MAIL  - 04/7/27(火) 15:58 -

引用なし
パスワード
   みなさん、こんにちは。
イベントで在籍者数と参加率に応じた賞金を出そうとしています。

在籍者が1〜10名で参加率が100%なら\5,000、11〜49名で80%以上なら\10,000、50名以上で80%以上なら\20,000、100名以上で70%以上なら\20,000、という決まりに従って、在籍者数が入ったセルの数値をみて、賞金額が出るようにしたいと思っています(該当しない場合の\0の表示は不要です)。
その場合にその数値と何人から何人の範囲という比較をするための記述をどうすればいいのか分かりません。
ちなみに今回は36人100.0%、94人88.3%、35人100.0%、54人94.4%というデータがあります。

初心者レベルですが、ご教授の程よろしくお願いします。

【16432】Re:数値の範囲付けについて
回答  ichinose  - 04/7/27(火) 19:35 -

引用なし
パスワード
   ▼みぃこ さん:
こんばんは。

>イベントで在籍者数と参加率に応じた賞金を出そうとしています。
>
>在籍者が1〜10名で参加率が100%なら\5,000、11〜49名で80%以上なら\10,000、50名以上で80%以上なら\20,000、100名以上で70%以上なら\20,000、という決まりに従って、在籍者数が入ったセルの数値をみて、賞金額が出るようにしたいと思っています(該当しない場合の\0の表示は不要です)。
>その場合にその数値と何人から何人の範囲という比較をするための記述をどうすればいいのか分かりません。
>ちなみに今回は36人100.0%、94人88.3%、35人100.0%、54人94.4%というデータがあります。
>
>初心者レベルですが、ご教授の程よろしくお願いします。
ワークシート関数のVlookupを使用して出来ませんか?

例えば、
セルA1〜B5に以下のデータがあったとします。

  在籍者数 参加率  賞金額
   36    100
   94    88.3
   35    100
   54    94.4

又、セルH1〜J5には、以下のデータを入れておきます。

  在籍者数  参加率   賞金額
    1    100     5000
    11     80     10000
    50     80     20000
   100     70     20000


このとき、セルC2には、
「=IF(B2>=VLOOKUP(A2,$H$2:$J$5,2),VLOOKUP(A2,$H$2:$J$5,3),"")」
という数式を入れてみて下さい(C3〜C5は、フィル操作)。

C2〜C5には、

  10000
  20000
  10000
  20000

という結果が得られますが、確認して下さい。

【16465】Re:数値の範囲付けについて
お礼  みぃこ E-MAIL  - 04/7/28(水) 13:36 -

引用なし
パスワード
   ichinoseさま、有り難うございました。

vlookupは割とよく使うのですが、完全一致での比較という思い込みがありました。">="などの比較でも使えるというのは、とても勉強になりました。

【16471】Re:数値の範囲付けについて
質問  みぃこ E-MAIL  - 04/7/28(水) 15:18 -

引用なし
パスワード
   ichinoseさま、何度もすみません。

決まりを満たすものについては、思うとおりになったのですが、満たさないものも同じように賞金額が表示されてしまいます。

適当に在籍人数9人、参加率30%という数値で試してみたのですが、決まりを満たす場合と同じように「\5,000」と表示されます。最初の比較がtrueの場合、次に参加率も比較するように、IF文をネストさせようとしたのですが、どうも上手くいきません。
いい方法があればご教授お願いします。

【16472】Re:数値の範囲付けについて
発言  ichinose  - 04/7/28(水) 16:38 -

引用なし
パスワード
   ▼みぃこ さん:
こんにちは。

>ichinoseさま、何度もすみません。
>
>決まりを満たすものについては、思うとおりになったのですが、満たさないものも同じように賞金額が表示されてしまいます。
在籍数9人 参加率 30%で試してみました。
意図した通り「=IF(B2>=VLOOKUP(A2,$H$2:$J$5,2),VLOOKUP(A2,$H$2:$J$5,3),"")」
の数式で空白が表示されますよ!!

実際のシートに入れている数値は見れないので後は、想像ですが・・・、

1.マスターデータにあたるセル$H$2〜$J$5のデータは、私が提示したものとまるっきり同じになっていますか(特に行の順序、在籍者数の昇順に整列されていなければなりませんよ、まあ、参加率が満たされているときは正常値を示しているのでこれは大丈夫だと思いますが・・・)?

2.参加率のセル範囲であるB2〜B5及び、I2〜I5の書式はどうなっていますか?
  例えば、I2の書式が「パーセント」でB2の書式が標準なんてことはありませんか?

  この場合、I2には、100%と表示されていても実体は、1です。
  「1」と標準書式の「30」を比べると数式の条件を満たしてしまいますから
  結果「5000」と表示されてしまいますよ!!
  (私は、これだと睨んでますが・・・)

私の方で正常値が表示されていますから、再度、見直してみて下さい。

【16474】Re:数値の範囲付けについて
お礼  みぃこ E-MAIL  - 04/7/28(水) 16:59 -

引用なし
パスワード
   ichinoseさま、こんにちは。

ご指摘のとおり、書式だったようです。
実際の参加率のセルには数式が入って%表示の書式にしていますので、検索用のリストも小数で入力して%表示の書式にしました。これで決まりを満たすものが表示されたので大丈夫かと思っていました。
どちらも書式を標準に戻して、整数で入力すると希望どおりの結果になりました。
お騒がせして申し訳ありませんでした。

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