- ベストアンサー
SUMIF関数?
例の通りなんですが、Book1B列にはBook2B列、Book1C列にはBook2C列のBook2A列の日付が入ります。 <例> Book1 A B C Z 0001 - 7/27 0002 7/27 7/27 0003 - - 0004 - - 0005 7/27 7/27 0006 - - 0007 7/27 7/27 0012 - - 0013 - 7/27 0014 7/27 - 0015 - - 0016 - - Book2 A B C 7/27 0005 0013 7/27 0007 0002 7/27 0014 0005 7/27 0002 0001 0007 Book1にはA列が500~1000行近くあり、Book2はA列の日付ごとのシートが一ヶ月分あります 。 Zの列で =SUMIF(Book2!$B$1:$B$4,A1,Book2!$A$1:$A$4) Book2B列・C列…ごとに作業しています。 SUMIF関数は条件をみたす値の合計を求めるとなっていますがこの場合の使用はどうでしょうか? 他の方法があれば教えていただけますか? 何度も修正したのですが、列がずれてしまいます。見づらくてすみません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Book2においてB、C列毎に 数字のダブリがないなら特に問題ないかと思います。 LOOKUP関数だと、参照シートの並びがきちんとしていないと うまくいかないので、SUMIFで問題ないかと思います。 ただ、7/27というのが日付であるならば、 本来は2008/7/27とかが入っているはずです。 そのままだと39656になってしまうものを、 表示形式の操作で「日付」として そのように表示しているわけですが、 sumifの結果が0の場合は 1900/1/0(7/27と同様の表示にするなら1/0) が表示されることになります。 それを-で表記したい場合は、 IF関数で分岐される必要があるかと。 ↓スマートではないですが…… =IF(SUMIF(BOOK2!B$1:B$4,BOOK1!A1,BOOK2!A$1:A$4)=0,"-",SUMIF(BOOK2!B$1:B$4,BOOK1!A1,BOOK2!A$1:A$4)) ↓もしくは関数はそのままで表示形式のユーザー設定にこれを入れる m/d;0;-
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
通常SUMIF関数は日付には使いません。 通常はLOOKUP関数やINDEX関数とMATCH関数の組合せだと思います。 さて、質問の内容ですがBook2のB列orC列に対するA列の日付を表示したいのだとは思いますが 日付も同じ為条件がはっきりしません。 対象が無い場合に"-"で、ある場合は日付を表示したいのでしょうか?
お礼
お礼が遅くなってしまい大変申し訳ありませんでした。 非常識なぐらいの遅さですね、すみません。 方法が見つからず、いまだにSUMIFで作業しております。 回答ありがとうございました。
補足
すみません。 「-」は見やすくしようとしただけなのですが、 かえって紛らわしかったですね。 今後気を付けます…。 Book1B列以降には日付しか入りません。 Book2に日付ごとのシート(7/1、7/2、7/3…)があり、 その日付をBook1のB列に入力したいのですが、
お礼
お礼が遅くなってしまい大変申し訳ありませんでした。 非常識なぐらいの遅さですね、すみません。 方法が見つからず、いまだにSUMIFで作業しております。 回答ありがとうございました。
補足
すみません。 「-」は見やすくしようとしただけなのですが、 かえって紛らわしかったですね。 今後気を付けます…。 Book1B列以降には日付しか入りません。