dポイントプレゼントキャンペーン実施中!

tatsu99様

お世話になっております。
都度のご質問となり、申し訳ありません。

先日も一部変更希望でご質問させて頂きましたが
ポイント算出条件を追加したく、ご質問させていただきました。

【条件一部変更希望】複数条件の数式を組みたい
https://oshiete.goo.ne.jp/qa/11342684.html

画像添付しておりますが、ケース②とケース⑥の水色で色付けしたセルの条件を
それぞれ追加したいのです。

ケース②
主担当部門:一致
達成・未達成額=0
計画>0
実績>0
ポイント:100%付与

ケース⑥
主担当部門:不一致
達成・未達成額=0
計画>0
実績>0
ポイント:25%付与

恐れ入りますが、何卒ご教授頂けますと幸いです。
また、条件が変更、追加になった場合はどのように修正、追加したらよいか?も
併せてご教授頂けますと幸いです。

お忙しいところ何度も申し訳ございませんが
何卒、よろしくお願いいたします。

「【条件追加希望】複数条件の数式を組みたい」の質問画像

質問者からの補足コメント

  • エラーが出た画像を添付いたします。
    何卒、ご教授願います。

    「【条件追加希望】複数条件の数式を組みたい」の補足画像1
    No.2の回答に寄せられた補足コメントです。 補足日時:2019/11/08 13:27

A 回答 (3件)

下記にアップしました。


https://ideone.com/XD0M3M
変更したのは
Private Function get_point
です。
このプロシージャをそっくり入れ替えてください。
追加箇所は '2019/11/07追加開始 '2019/11/07追加終了 のコメントが入れてあります。

追加の条件は、あなたが提示した図と同じ意味ですが、添付図のようになっています。
これは、Private Function get_pointのポイント判定方法が、添付図のような順番で行われることを明記しています。
①.P3と検索値の一致/不一致で分岐
②.達成・未達成O5が+、-、0の何れかで分岐
③.上記①②の状態で更に、計画L5、実績M5の条件の判定
になります。

>また、条件が変更、追加になった場合はどのように修正、追加したらよいか?も
>併せてご教授頂けますと幸いです。
原則としては、Private Function get_pointの判定方法を変えるだけです。
具体的には、どのように条件を変えるかの例を提示していただければ、それに沿って説明します。
又、Private Function get_point内のマクロでわからないところがあれば、細かく説明しますので、
一通り、Private Function get_point内を読んでください。
そのうえで、説明してほしいところを、ご提示ください。

追伸:
If tas_val < 0 Then
'達成/未達成<0
If kei_val > 0 Then rate = 75 '2019/11/07修正・・・・この文
End If
の部分ですが、

https://oshiete.goo.ne.jp/qa/11342684.htmlの回答をした時に
If kei_val > 0 And jis_val <= 0 Then rate = 75
になっていました。
これは、誤りですので、今回訂正します。
https://ideone.com/UOoUBdの回答では正しかったのですが、この正しいものを私が保存しなかったので
一世代前のマクロをつかってしまったようです。申し訳ありませんでした。
お詫びして、訂正いたします。
「【条件追加希望】複数条件の数式を組みたい」の回答画像2
この回答への補足あり
    • good
    • 1
この回答へのお礼

お世話になっております。

お忙しい中、修正頂きましてありがとうございます。
条件設定に関しましては無事、検証完了いたしました。

>一通り、Private Function get_point内を読んでください。
→こちらも詳しくご説明頂いた内容に沿って読んでみました。
分かりやすいご説明、ありがとうございます。
不明点につきましては都度ご質問するのもお手間をおかけしてしまうかと存じますので
まとめて質問させて頂けましたら幸いです。

また、今回質問させて頂いた内容とは別になりますが
下記の部分にエラーが出てしまいます。。。
特にこちらの部分についてはいじっておらず、これまでは無事処理が完了していたのですが
何が原因でしょうか?
画像は補足にて貼付させて頂きます。

Public Sub ポイント付与()
~
If get_sheet(sname, wks) = False Then

何度も申し訳ございませんが、何卒、よろしくお願いいたします。

お礼日時:2019/11/08 13:25

Option Explicit


Dim wks As Worksheet '設定対象シート
Dim jks As Worksheet '条件シート
Dim ids As Worksheet 'IDシート
Dim dicT As Object '連想配列 キー:支店+拠点+担当者 値:G列の担当者主担当部門コード
Public Sub ポイント付与()
-----------------------------------------
上記のように、Public Sub ポイント付与()の上の行に、5行があるはずですが、これが、欠落していませんでしょうか。
欠落しているなら、欠落している行を、コピペして追加してください。
    • good
    • 1
この回答へのお礼

早速のご返信ありがとうございます。

仰る通り、欠損しておりました。
何かの拍子に削除してしまったかもしれません。。。
お騒がせして大変申し訳ございませんでした。

ありがとうございました。

お礼日時:2019/11/08 13:53

外出先なので、回答は夜になります。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!