• 締切済み

エクセル関数について

スケジュール作成表を作っています。   A  B  C  D  E  F  G  H  I  J  K・・・・Q R S 1 9 10 11 12 13 14 15 16 17 18 19    勤務時間 2   1  1  1  1  1    1  1  1      10 - 18 3       1  1  1  1    1  1  1    12 - 19 というように勤務時間を1で表しています。上記のように休憩で間が あいてももQ2:R2、Q3:R3のように表示するにはどうしたらいいでしょうか?

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

#1です。 >{=MIN(IF(B30:AH30=1,B$5:AH$5))&"-"&MAX(IF(B30:AH30=1,C$5:AG$5))} 別に質問が上がっていますけど、あの質問がこの質問の続きだとはわからない可能性が高いので、こちらにコメントします。 以下のようにすればいいでしょう。 {=IF(COUNTIF(B30:AH30,"<>")=0,"",MIN(IF(B30:AH30<>"",B$5:AH$5))&"-"&MAX(IF(B30:AH30<>"",C$5:AG$5)))} ぜひ応用できるようにしてください。

marcy005
質問者

お礼

 jamshid6さん、すばらしい!!!!!!!!!! ありがとうございいます。 完璧なスケジュール表が完成しました。 また、お願いすることがあると思います。 そのときは、よろしくお願いします。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

Excelの配列数式を使えば以下の通りできます。 入力方法が特殊ですが、慣れればかなり便利ですよ。 Q2セルに =MIN(IF(A2:P2=1,A1:P1)) と入力し、CtrlとShiftを押しながらEnterを押す R2セルに =MAX(IF(A2:P2=1,A1:P1)) と入力し、CtrlとShiftを押しながらEnterを押す

marcy005
質問者

お礼

ありがとうございました。ちなみに、値が0の場合に非表示にするにはどうしたらよいのでしょうか?  また、値がtという文字でも値を返すにはどうしたらよいのでしょうか。教えてください。