🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

2214閲覧

表の時間を基に、10分・30分・1時間ごとのカウント結果を表示したい。

Jonny_dayo

総合スコア48

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2019/11/25 08:03

前提・実現したいこと

イメージ説明
上記のような図から10分、30分、1時間ごとの件数を出したいです。
イメージ説明
別シートにある「時間」らへんをプルで10分、30分、1時間の3種類を選択できて、
選択したら時間もカウント数も変わる。
というのがゴールです。

そのために1度カウントしたデータをエクセル内のどこかに置いておかないといけないのかな?と考えていますが、
COUNTIFSで全てのパターンをちまちま作るくらいしか方法が無いのかな…?と思い質問させていただきました。

①COUNTIFS以外に方法があるのでしょうか?
②数字は一度設定したら変更されないので元データは残す必要がないのですが、どこかに置いておかないとうまくいかないでしょうか…?

ご回答のほどよろしくお願いいたします。。

ツールのバージョン

Excel 2016

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

少し長くなりますが、COUNTIFSを使い関数を下にコピーできるよう書いてみました。
〆時刻と時間を使って時間範囲の個数を数えるようにしています。
時間は入力規則のリストを使うことで60,30,10が選択できるようになります。
=COUNTIFS($B$2:$B$9,"<" & F3,$B$2:$B$9,">="&(F3-G3/24/60),$A$2:$A$9,E3)
イメージ説明
イメージ説明

投稿2019/11/25 14:46

編集2019/11/25 14:50
MrIgat

総合スコア54

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Jonny_dayo

2019/11/25 15:44

MrIgat様、コメントありがとうございます!! 初歩的な質問で申し訳ないのですが… F列→スタートは集計したい時間から(例えば9:00)、それ以降は書式コピー G列→データ入力規則(10、30、60) G列を変更するとF列が変更される(9:00表記が9:30表記) になるようにしといて、H列はご記載頂いた関数を使用。 これをいずれも質問文の図2の表に入れておいて、引っ張ってくるデータはどこかに置いておけば問題ない。 という認識で相違ないでしょうか…? もし引っ張ってくるデータを消したい場合は引っ張った後に関数→数字に変換すれば消しても大丈夫ですかね…?(1ヶ月分データを持ってくるためどこかに置いておくという作業はあまりしたくないため…)
MrIgat

2019/11/25 15:55

はい。 COUNTIFの比較条件に3つ指定しています。 ①FROM時刻、②TO時刻、③日付 関数を確認して該当セルがずれてなければ、元データはどこにおいても大丈夫です。
Jonny_dayo

2019/11/26 05:29

ありがとうございます!! 試してみます!!!!!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問