• ベストアンサー

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

似たような質問と回答をさがしやってみましたがエラーになります。 よろしくご指導下さい。 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

  • エクセル WEEKDAY関数? 曜日を入れる 

     A B C D E F G I J 1H   年   月  日  曜日  2 A1、C1、E1、G1、J1は固定で、 その他B1、D1、F1のセルに年月日を入力すると Iに曜日が表示される方法を教えて下さい。

  • Excel - ちょっとややこしい値の引き方

    宜しくお願いします。 文字で説明するのが難しいのですが、例えば。 Sheet1が【集計表】、Sheet2が【データ】(数字で入力)というブックがあるとしまして、【データ】から【集計表】に、曜日ごとの合計値を引きたいとします。 --------------------------------------------  Sun Mon Tue Wed Thu Fri Sat A B C -------------------------------------------- こんな表になります。 そしてA,B,Cは任意に入力できるようにして、例えばAであれば、【データ】シート上の[A1:C10]というように、引いてくる元の範囲を可変にするとします。ABCに対する範囲は固定で、ABCの横に並んだ状態であらかじめ用意されているとします。 -------------------------------------------- A A1:C10 B D1:F10 C G1:I10  Sun Mon Tue Wed Thu Fri Sat □ □ □ ↑任意のアルファベットを入れます -------------------------------------------- こういう状態です。 ここで、例えばCの項目の、日曜日の合計を出そうと思ったら、範囲はINDIRECTか何かで引くとして、SUMIF?SUMPRODUCT?どのようにすれば良いでしょうか。色々試してみたのですが、何故かどれも0になってしまいまして。 (SunのセルをE2とします)

  • エクセルで曜日を自動で表示させる

    苦戦してます。教えて下さい   A   B  C  D   E  F   G  H   I 1 平成 21 年  4  月  4  日  ■  曜日 2 3 上のように表を作成し A2セルに =A1&B1&C1&D1&E1&F1&G1 と入力し 平成21年4月4日と表示させました。 A3セルには =A2 と入力し、セルの書式設定を aaa にして曜日を表示させようとしたんですが、平成21年4月4日 としか表示されません。 最終的にはH1セルに =A2を入力して曜日を自動表示させるつもりでいたんですが、どうすればうまくいくのでしょうか?

  • excel 関数作成の簡素化 ?

    A B C D E F G H I J 1784 1784 1781 1782 1809 1813 1821 1813 1784 1784 (1)A-B B-C C-D D-E E-F F-G G-H H-I I-J (1)0 3 -1 -27 -4 -8 8 29 0 (2)=SUMIF(A:I,">0",A:I) で 40になる 上記の(1)を使用せず (2)のように一気に出来ないか? もしも 表示が悪ければ 書き直し する為 回答不要

  • エクセルで22時以降を平日・土日・研修に分けたい

    エクセルで出勤簿を作成しており、 色々と試行錯誤し、ここで色々教えて頂き、完成一歩手前までできたのですが、 最後に、深夜勤務の表示が、またまたうまく表示できません。。 お手数ですが教えて頂けると大変助かります。 研修設定もあり、通常平日、通常土日祝、研修平日、研修土日祝に、 振り分けて表示させたいのです。 祝日表は、別シートでSeet2のB2~E21に作成しています。 Aセルに、出勤時刻 Bセルに、退社時刻 Cセルに、休憩時間 Dセルに、日付 Dセルに、就労時間(=B-A-C) Eセルに、研修時間←直接入力 Fセルに、平日深夜時間 Gセルに、土日祝深夜時間 Hセルに、研修平日深夜時間 Iセルに、研修土日祝深夜時間 を表示させたいです。 Eの研修時間は、Dの就労時間の内数です。(基本的に研修者はEとDが同じ時間数) なので、 Eの研修時間数がある場合は、HセルとIセルに、22時以降時間数を反映させ、 Eの研修時間数がない(0:00で入力あり)場合は、FセルとGセルに反映させたいのです。 ※Eセルの研修がない場合はブランクでなく0:00としてます。ブランクにすると他のセルにエラーがでてしまうので0:00は変えられません。 試作では、下記のような式をいれているのですが、 Fセル=IF(OR(WEEKDAY(D2,2)>5,COUNTIF(sheet2!$B$2:$E$21,D2)),"",B2-TIME(22,0,0)-H2) Gセル=IF(OR(F2<>""),"",B2-TIME(22,0,0)-I2) Hセル=IF(OR(WEEKDAY(D2,2)>5,COUNTIF(sheet2!$B$2:$E$21,D2)),""B2-TIME(22,0,0)) Iセル=IF(OR(H2<>""),"",B2-TIME(22,0,0)) そうすると、深夜時間は全部、研修時間のHセルとIセルに反映してしまいます。。。そりゃそうですよね。。でもなおせません。。。 HセルとIセルの条件に、「Eセルが0:00なら、0:00」になるような条件を追加しなければいけないんだろうな・・とは思うのですが、よくわからず・・です。 ごちゃごちゃな説明ですみませんが、 本当に宜しくお願い申し上げます。

  • エクセル関数の式

    sheet1       A   B    C     D    E    F   1    2008  6月 2 3    日付   1     2     3     4    5       4    曜日   sun    mon    Tue    wed 5山田太郎   出勤  出勤  欠勤 6山田次郎   出勤  欠勤  出勤 ・ ・ 22山田一郎   出勤 欠勤  出勤 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ B1の月を変えると曜日も変わります(日付は固定です)B5、6等の 出勤・欠勤はリスト表示から選択して入力しています。 sheet3    A  B C D E F G H I J K L M N 33  日    月   火    水    木    金    土 34   1    2   3    4   5    6   7 35   8    9   10   11   12   13   14 36  15   16   17   18   19   20   21 以下省略  行は33行目から始まっています ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 曜日は固定でsheet1の月を変えると日にちの位置が月ごとに変わります 日月火水木金土の間に空白のセルがあります(B列D列、FHJL列) この日にちの隣の空白セルにsheet1の出勤・欠勤などを各日にち事に表示したいです 上記のカレンダーには一人分の出欠を表示したいです(同じカレンダーが人数分あります) 月ごとにsheet3の日にちの位置がずれてしまうので、うまく表示出来ません。 いい方法はないでしょうか?よろしくお願いします。

  • Excelに関する質問です。

    Excelで x 1 2 3 4 5 6 7 8 9 y a b c d e f g h i と各セルに横に打ち込んだところを x y 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h 9 i と縦に打ち直したいのですが何か一発で変換できる方法ってありますか?

  • Excelで並べ替え

    島田 1 a 島田 4 b 橋本 1 c 橋本 2 d 松田 1 e 松田 3 f 松田 4 g 岡部 2 h 岡部 3 I といったデータを ________1 2 3 4 島田 a     b 橋本 c d     松田 e   f g 岡部   h I   のように表示したいのですが、宜しくお願いします。

  • 曜日毎に読み込むphpを変更したい

    はじめまして 曜日毎に読み込むphpを変更したいですが何もわかりません 調べたらジャバではあったんですがスタイルシートがううまく反映しませんでした で、phpをインクルード方法を調べてみましたが曜日の条件分岐までは行けたんですがよくわかりません よろしくお願いします 月曜日(mon.phpを読み込んで表示) 火曜日(tue.phpを読み込んで表示) ・ ・ ・ 日曜日(sun.phpを読み込んで表示) もしくはweek.phpの中に 月曜・火曜・・・・日曜 の表示できるhtmlをかければいいです よろしくおねがいします

    • 締切済み
    • PHP
  • エクセルの使い方についてお教えください。

    エクセルの使い方についてお教えください。 例えば、 a | b | f c | g | j d | h | k | m e | i | l | n | o | のように、右肩下がりになっている列を、 a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | のように一列にまとめる方法は無いでしょうか? 何卒よろしくお願いいたします。

専門家に質問してみよう