- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IFとVlookUPの合わせ技)
IFとVlookUPの合わせ技
このQ&Aのポイント
- VlookUpを使い検索して一致するものがあった場合は、真を、一致しなければ偽の数式による結果をセルに反映させたいと考え、以下のような式を作ったのですが、エラーをはきます。
- この式はIF A列の指定範囲内に今日と同じ日がある場合は、B列の指定範囲の合計を、その週の始まりからその日までの日数で割った値をセルに反映させます。一致する日がない場合は、B列の指定範囲の平均値をセルに反映させます。
- 結局、今日以降の数字を0ではなくnullにすることでエラーを解決しましたが、エラーの原因について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数はMATCH関数の場合と同じように検索値に該当するデータが無い場合にはそれ自体でエラーとなってしまいますので、式を改めVLOOKUP関数がエラーとなる場合にはAVERAGEを計算するように、最初に式を組むことが必要です。 次のようにすればよいでしょう。 =IF(ISERROR(VLOOKUP(Today(),A2:A10,1,False)),ROUND((AVERAGE(B2:B8)*5),2),SUM(B2:B8)*5/MOD(DAY(TODAY()),7)) SUM(B2:B8)*5/MOD(DAY(TODAY()),7)の式は正しいとも思われませんが。 あるいは次のような式にします。 =IF(COUNTIF(A2:A10,TODAY())=0,ROUND((AVERAGE(B2:B8)*5),2),SUM(B2:B8)*5/MOD(DAY(TODAY()),7))
お礼
ありがとうございます。なるほど、エラー前提で式を書くんですね。該当の式はこちらで見なおしておきます。