• ベストアンサー

エクセル 曜日を平日と週末に分けたいがエラーが 

似たような質問と回答をさがしやってみましたがエラーになります。 よろしくご指導下さい。 A  B      C(年)D(月)E(日)F(曜日)G(平日1週末2) 1  Mon      2007  10   1   Mon   1 2  Tue      2007  10   2   Tue   1 ・   ・   ・   2007  10   7   Sun   2 7  Sun =VLOOKUP(G1,$A$1:$B$8,2,FALSE) Gを求めるのにこのような式にしましたが Fに曜日を求める =DATE(C1,D1,E1)を入れているためかエラーが出てしまいます。平日と週末を分けるのはこのやり方でいいでしょうか? ◆最終的にやりたいことは     C  D  E   F   G   H   I    (年)(月)(日)(曜日)(平日1週末2)    2007  10   1   Mon  1   東京  12,000    2007  10  2   Tue   1   東京  8,000    2007  10  7   Sun   2   大阪  22,000 =SUMPRODUCT(($G$1:$G$6=1)*($H$1:$H$6="東京")*($I$1:$I$6)) のように、平日の東京の売上の合計を求めるようなことです。 質問が2つになりわかりにくい説明ですが、 できるだけシンプルないい方法があれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一案ですが、次の方法が如何でしょうか。 (1)平日と週末の設定は、WEEKDAY関数を使用する。 =WEEKDAY(DATE(YEAR($C$1:$C$10),MONTH($D$1:$D$100),DAY($E$1:$E$100)),1)<=5)⇒平日、以外は週末 (2)現在の表から平日・東京の合計 =SUMPRODUCT((WEEKDAY(DATE(YEAR($C$1:$C$10),MONTH($D$1:$D$10),DAY($E$1:$E$10)),1)<=5)*($H$1:$H$10="東京")*($I$1:$I$10)) (3)仮に表が年月日がA列、行き先がB列、金額がC列で整理できた場合 =SUMPRODUCT((WEEKDAY($A$1:$A$10),1)<=5)*($B$1:$B$10="東京")*($C$1:$C$10))  

threeputt
質問者

お礼

関数に慣れていないせいかいちいち分割して考えてしまいますが、このようにすればG列とかは要らなくシンプルにしていけるんですね。勉強になります。ありがとうございます。

その他の回答 (2)

noname#79209
noname#79209
回答No.3

G1にVlookupでなく、 =IF(WEEKDAY(F1,2)>=6,2,1) とすればよいのでは? したがって、Vlookupで曜日を求めるためだけならA列とB列は不要になりますね。 また、日付自身も1セルで済ますなら、D,E,F列も不要で、 「2007/10/15」と1セルに入力してしまい、表示書式に「yyyy mm dd ddd」と 設定すれば、「2007 10 15 Mon」と表示されます。 当然WEEKDAY関数も使用できます。

threeputt
質問者

お礼

シンプルに式を作りたいと思いながら余計ややこしいことにしていたようですね。実は20071015のようにひとつのセルに入っていたのをワザワザ分割していたのです。知ってることだけを使ってやろうとしたり応用力がないとダメですね・・・勉強になりました。ありがとうございました。

noname#77845
noname#77845
回答No.1

補足してください。 「=VLOOKUP(G1,$A$1:$B$8,2,FALSE) 」 はどのセルに入っているのですか? F列には 「=DATE(C1,D1,E1)」 が入っているのですか?

threeputt
質問者

お礼

質問するのに間違った内容を書いているのは失礼でした。反省しています。気づかせてくださってありがとうございました。

threeputt
質問者

補足

=VLOOKUP(G1,$A$1:$B$8,2,FALSE) はまちがえておりました。 G1ではなくF1で、=VLOOKUP(F1,$A$1:$B$8,2,FALSE) この式が  G1にはいっています。 はい。F列に =DATE(C11,D11,E11) をいれています。 よろしくお願い致します。

関連するQ&A