[[20220512182343]] 『ひと月の予約時間をガントチャートのように表示し』(しん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ひと月の予約時間をガントチャートのように表示したい』(しん)

人物Aが、各ミーティングルームを、何日の何時から何時まで使用したかのデータを作成したいです。

参照元になり得るデータには、下記の情報が入力されています
A列 日付
B列 開始時刻
C列 終了時刻
D列 使用した部屋
※1日のうちに何回かにわけて部屋を使用することもあります

完成形としては、縦軸が1ヶ月間の全日付、横軸が10分単位の時刻(9:00〜21:00)で、
ひと月のうちで使用した日付の時間を塗りつぶして表示させたいです。

そもそもガントチャートは、横軸が日付や時刻、
縦軸が人や工程なので、アンド関数で条件付き書式が使えるいうことは理解していますが、

横が時刻、縦が日付の場合、どのようにデータを返させるのか、見当がつきません。
ご教示いただけると幸いです。

< 使用 Excel:unknown、使用 OS:Windows10 >


表の各セルに、COUNTIFS関数でできそうですが、
Excelのバージョンによっては、使えませんね。

(わからん) 2022/05/12(木) 19:22


Countifs対応しているバージョンでした。
各セルに、
=COUNTIFS(日付で検索し、時間軸と開始時刻が合致する)+COUNTIFS(日付で検索し、時間軸と終了時刻が合致する)
数式(具体例を書けずすみません)を入れ込み、
1や2で返ってくる、と言うところまでで行き詰まりました…

Countifs関数を使うとすると、どのような方法がありますでしょうか…差し支えなければ…
(しん) 2022/05/12(木) 19:58


こんな↓イメージです。

 =COUNTIFS($A:$A, 日付が一致, 
            $B:$B, 時間軸の最初が開始時刻以降,
            $C:$C, 時間軸の終わりが終了時刻以前)

セルに入れれば0か1になると思います。
同じ数式を「条件つき書式」に設定すれば、セルに色をつけることができます。

(わからん) 2022/05/12(木) 21:21


試みております、ありがとうございます。
昨日はスマホから取り急ぎでしたので、PCからお返事いたします。

完成データのシートaは、下記のような形式です

	_A_	 _B_	_C_	_D_	_E_	_F_	_G_   …_FC_
1		 8:00	8:05	8:10	8:15	8:20	8:25 …22:00
2	2022/4/1 						
3	2022/4/2						
4	2022/4/3
5	2022/4/4 						

参照元にしたいデータは下記です

	_FD_		_FE_	_FF_
1	実施日		開始	終了
2	2022/4/4	12:10	13:00
3	2022/4/4	13:00	14:00
4	2022/4/11	10:00	12:00
5	2022/4/11	12:00	12:30
6	2022/4/11	12:30	13:00
7	2022/4/11	13:00	14:00

いま、B2セルに、
=COUNTIFS($FD:$FD,$A2,$FE:$FE,$B$1>=$FE2,$FF:$FF,$FC$1<=$FF$1)
と入力し、右と下にコピーしましたが…値が返ってきません。

初歩的なことで申し訳ございません。
ご教示ください。
(しん) 2022/05/13(金) 10:56


 >値が返ってきません。
 がどういう結果になったのか分かりません。
 意図しない値になっているということですか?
(*) 2022/05/13(金) 11:14

 ちょっと確認

 1)これは条件付き書式の質問ですよね?
 2)部屋番号は関係ないんですか?
 3)B1から右の時刻はどのようにして入力しましたか?

 とりあえず・・・

 =COUNTIFS($FD:$FD,$A2,$FE:$FE,"<="&B$1,$FF:$FF,">="&B$1)
 では?

 1行目の時刻の入力方法によっては、演算誤差で期待通りにならないかも

 以上
(笑) 2022/05/13(金) 11:29

*さん
値はすべて0になりました。

笑さん
塗りつぶして表示できると嬉しいので、条件付き書式を前提としていました。

部屋番号も完成データに入れ込めたら理想ですが(例えば塗りつぶしされた帯の最初のセルなどに)、難しくなるかなと思い…ちなみに、部屋のデータはFG列に入っています。
最低限、対象者が1か月のうちにどのくらい部屋を使用しているのかを表したいです。

B1から右の時刻は、最初にB1に入力した時刻書式データ"8:00:00"に、TIME関数で5分ずつ足したものを作り、行ごと値・書式でコピペしました。(計算結果だと検索値として引っかからないからのかな?と思ったためです)
(しん) 2022/05/13(金) 11:52


   ↓ の結果はどうなったんですか?
 >=COUNTIFS($FD:$FD,$A2,$FE:$FE,"<="&B$1,$FF:$FF,">="&B$1)

 条件付き書式でも同じ
 ただ、範囲は列全体にせず行範囲を指定した方がいいかも(表が大きいので)

 1行目の時刻ですが
 B1に 8:00 を手入力
 C1 =TEXT(B1+"0:05","h:mm")*1  表示形式「時刻」で右コピー

 値貼り付けする必要はありません(しても同じこと)

 以上
(笑) 2022/05/13(金) 12:07

笑さん

行き違いですみません、先ほど、笑さんが教えてくださった関数をそのまま使用しましたが反映されず、
=COUNTIFS($FD:$FD,$A2,$FE:$FE,"<="&B1,$FF:$FF,">="&B1) に変えたところ反映され、塗りつぶしもされました。
時刻セルの行列固定を、行固定のみにしました。

時刻データの修正をし、もう一度試してみます。

(しん) 2022/05/13(金) 12:19


 >=COUNTIFS($FD:$FD,$A2,$FE:$FE,"<="&B1,$FF:$FF,">="&B1) 
 >時刻セルの行列固定を、行固定のみにしました。

 B1 になってますけど B$1 にしたってこと?

 2022/05/13(金) 11:29 で提示の式はそのようにしてますけど?

 以上
(笑) 2022/05/13(金) 12:30

笑さん、ほんとすみませんその通りです、私の勘違いでした…。
そして、無事に反映されました。
本当にありがとうございます。

これは、
例えば部屋の使用時間が12:00〜13:00だとすると、
実際に塗りつぶされた箇所からは、12:00〜13:05まで使っているように見えるのですが、

この対策法としては、
=COUNTIFS($FD:$FD,$A2,$FE:$FE,"<="&B$1,$FF:$FF,">"&B$1)
とすることで合ってますか?
(しん) 2022/05/13(金) 12:43


 >12:00〜13:05まで使っているように見える

 どういうこと?
 13:05 の列も塗りつぶされるってこと?

 1行目を ↓ にしましたか?
 >C1 =TEXT(B1+"0:05","h:mm")*1

 以上
(笑) 2022/05/13(金) 13:19

時刻は、教えていただいた通りに修正しました。

いえ、塗りつぶされるのは13:00のセルまでなのですが、
部屋を12:00〜13:00で使用するということは、13:00には部屋を出ているということになるので、
 ">"&B$1 とした方が実際の使用時間と合致するかなと思いました。

それから、重ね重ねすみませんが…
部屋の使用理由毎によって塗りつぶしの色を変えることも、条件付き書式で可能なのでしょうか。

(しん) 2022/05/13(金) 14:19


 >部屋の使用理由毎によって塗りつぶしの色を変える
 部屋の使用理由がどこに入力されていて、全部で何種類あるんですか?

 ところで、Excelのバージョンは?

 以上、確認だけ
(笑) 2022/05/13(金) 15:04

部屋の使用理由は全部で4種類です。
FC列に入力されています。

Excelのバージョンは、2019です。
(しん) 2022/05/13(金) 15:24


すみません、あれからデータを編集したので列がずれていますね。

どこに入れることもできるんですが、FG列に入力しようと思います。

	_FD_		_FE_	_FF_	_FG_
1	実施日		開始	終了	使用理由コード
2	2022/4/4	12:10	13:00	1
3	2022/4/4	13:00	14:00	1
4	2022/4/11	10:00	12:00	2
5	2022/4/11	12:00	12:30	3
6	2022/4/11	12:30	13:00	2
7	2022/4/11	13:00	14:00	2

こんな感じです
(しん) 2022/05/13(金) 15:51


 今はどうしてるのか知りませんが、セルに数式を入れます。
 COUNTIFS ではなく SUMIFS

 B2 =SUMIFS($FG:$FG,$FD:$FD,$A2,$FE:$FE,"<="&B$1,$FF:$FF,">"&B$1)

 セルに表示される 0〜4 を非表示にしたければ
 表示形式〜ユーザー定義 ;;;  ← セミコロン「;」を3つ
 右・下コピー
 ※前も言った通り、行範囲を指定した方がいいかも

 B2セルから範囲を選択して、条件付き書式〜ルールの管理〜新規ルール
 ルールの種類:指定の値を含むセルだけを書式設定

 ルールの内容
 セルの値 次の値に等しい 1  書式から色を選択

 2〜4 も同様に

 以上
(笑) 2022/05/13(金) 16:23 訂正 18:17

笑さん

無事に、望ましいデータが完成しました。
丁寧に教えていただき、誠にありがとうございました。

(しん) 2022/05/16(月) 15:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.