- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでのご質問)
エクセルでのデータベースのインポート・更新方法と日付範囲へのマークアップについての関数の使い方
このQ&Aのポイント
- エクセル2007でアクセスのクエリから元となるデータベースを引いています。そのシート1にID、開始日、終了日が入力されており、エクセルを開くたびに元データからインポート・更新し新しいデータに変わります。
- 別のシート2にはカレンダーで週間予定が書かれており、シート1を見てIDが同じなら開始日から終了日までの期間にマークアップ(丸印もしくは塗りつぶし)を行いたいです。週の始めが期間内の場合や年をまたいでも同様の動きをして欲しいです。
- VBA初心者ですので、関数で対応していただけると助かります。具体的な関数の使い方を教えていただけると嬉しいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sheet2においてB5セルに次の関数を入力してから、B5セルをコピーして、C5~I5のセル範囲に貼り付けて下さい。 =IF(AND($B$2<>"",B$4>1,B$4<"9999/12/31"+0,COUNTIFS(Sheet1!$A:$A,$B$2,Sheet1!$B:$B,"<="&B$4,Sheet1!$C:$C,">="&B$4,Sheet1!$B:$B,">1",Sheet1!$C:$C,"<9999/12/31")),"○","")
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.1
シート2のB5に以下の式を入力して右にコピーしてください。 =IFERROR(IF(AND(INDEX(シート1!$B:$B,MATCH($B$2,シート1!$A:$A),1)<=B4,INDEX(シート1!$C:$C,MATCH($B$2,シート1!$A:$A),1)>=B4),"○",""),"")
質問者
お礼
早々とご回答くださりありがとうございました。 自分の入力がまずかったのか、思うように表示されませんでしたが、関数を参考に勉強させていただきます! この度はありがとうございました。
お礼
わかりやすくありがとうございます! 言われた通り関数を使ったら思う通り出来ました! ベストアンサーにさせていただきます! この度はありがとうございました。