質問: エクセルの関数(当日までの平均の出し方)について質問です。 添付のように1行目に日付、2行目に曜日があり、3行目以降に数字が入っている場合、当日までの曜日別の平均を出したいです。 祝日表示は祝日リストを作成し曜日欄に反映させています。 行に曜日が入っている参考があまりなくどのように関数を指定したらよいかわからずご教示いただきたくお願いいたします。 ■平均を出したいもの 平日(月~金) 土曜日 日曜日+祝日
回答: 画像のような表とします。データは1ヶ月分、AFまでとします。 入力後、好きな場所へ移動して下さい。 B11 =TODAY() B12 月火水木金 セルの書式設定、ユーザー定義「;;;"月~金"」 C12 土 D12 日祝 A13 =A3 下へコピペ。 B13 =SUMPRODUCT(Sheet1!$B3:$AF3*(Sheet1!$B$1:$AF$1<=$B$11)*NOT(ISERROR(FIND(Sheet1!$B$2:$AF$2,B$12))))/SUMPRODUCT((Sheet1!$B$1:$AF$1<=$B$11)*NOT(ISERROR(FIND(Sheet1!$B$2:$AF$2,B$12)))) 右下へコピペ。 SUMPRODUCTを使う場合、B12 「月火水木金」を入れておけば利用できます。すると式は1津で済みます。 もし、SUMIFISを使うと、他の部分は上と同じなので省略。 B13 =(SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"月")+SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"火")+SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"水")+SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"木")+SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"金"))/(COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"月")+COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"火")+COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"水")+COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"木")+COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"金")) C13 =(SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"土"))/(COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"土")) D13 =(SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"日")+SUMIFS(A3:AF3,A$1:AF$1,"<="&$B$11,A$2:AF$2,"祝"))/(COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"日")+COUNTIFS(A$1:AF$1,"<="&$B$11,A$2:AF$2,"祝")) 纏めて下へコピペ。 力技です。SUMIFSでできるなんて、余計なことを書かなきゃよかった。