エクセルのVLOOKUP関数について
エクセルのVLOOKUP関数を使用しての集計に関する質問です。
以下の例のような場合の関数が分からず本当に困っております。
どなたかご享受いただけたら幸いです。
よろしくお願いいたします。
毎月サポート費としてお客様ごとに定額が振り替えられ、その集計表を作成しております。
その際振替に使用するプランが2パターンあり、その月どちらのプランになるかは月によってまちまちです。
(同じお客様でも3月はパターン1、4月はパターン2だったりします。)
また、振替日は使用するパターンによって異なります。
SHEET1に、
A列 B列 C列 D列
顧客名 金額 振替日 パターン名
という表があり顧客ごとの過去2年分の振替履歴が、1000レコード程並んでいます。
SHEET2でSHEET1の月ごとの集計を出そうと考えております。
表自体は月ごとに分けて作成したいので、表の上部に該当期間をつけます。下記のような感じです。
B2セル C2セル D2セル
○月 開始日 末日
(ex2月) (ex.11/2/1) (ex.11/2/28)
A列:顧客名
B列:パターン名
C列:振替日
D列:金額
と並べ、顧客名ごとに、その月のパターン名・振替日・金額を集計したいです。
金額に関しては、SUMIFS関数、振替日に関しては使用パターンさえ出せれば、IF関数で出せると考えています。
パターン名のところでつまづいてしまっています。
行いたいこととしては、SHEET1のA列からD列(顧客名からパターン名まで)の範囲で、顧客名が一致したときに、振替日を抜き取り、振替日がC2(月初日)より大きく、かつD2(月末日)より小さいときのパターン名を表示させたいです。
(1)----------------------------------------------------
=IF(VLOOKUP(A3,sheet1!$A$2:$D$1000,3,FALSE)>$C$2,IF(VLOOKUP(A3,sheet1!$A$2:$D$1000,3,FALSE)<$D$2,(VLOOKUP(A3,sheet1!$A$2:$D$1000,4,FALSE)),""))
といれると、表示されるきちんとパターン名が表示されるセルと空白が返ってきてしまうセルがあります。
空白が返ってきてしまうセルは、双方の顧客名の最後の1文字を消す、スペースを入れる、など何かしら手を加えるときちんと表示されます。
------------------------------------------------------
その他、VLOOKUP関数、IF関数、ISNA関数などを組み合わせて色々と試してみましたが期間がうまく指定出来ていないようで、当月に振替履歴のない顧客の欄にもパターンが返ってきてしまいます。
下記を教えていただきたいです。
(1)(1)のような状態になる理由と解決法
(2)この場合に使用するのに最適な式
説明が長くなり、またうまく状況を説明できず申し訳ございません。
本当に困っています。ご回答よろしくお願いいたします。
お礼
とても役に立ちました。どうもありがとうございました。