プロが教える店舗&オフィスのセキュリティ対策術

工数管理をしていて、1行に15分ごと24時間分(48列)あります。
プロジェクトの数字(1から5)を入力してそれぞれの開始時間と終了時間を表示させたいです。
お知恵をいただけたら幸いです。

A 回答 (2件)

こんばんは



よくわかっていませんけれど・・

ある行のセル範囲(=固定)が1~5の数値または空欄になっていて、そのうちの一番右側の空欄ではないセルの位置を取得したいということと解釈しました。

仮にセル範囲が、D2:Z2 とするなら、
 =max(arrayformula((D2:Z2>0)*COLUMN(D2:Z2)))
とすることで、当該セルの列番号を得ることができます。

どのようなレイアウトなのかが不明ですが、1行目に時刻が表示されているなら、上記を利用して1行目の値を参照すれば良いですし、15分/1セル と決まっているのなら、「×15分」でも時刻を計算することは可能と思います。

※ 上式は対象範囲のセルに数値と空白以外が存在することは想定していません。
    • good
    • 0
この回答へのお礼

早々に回答いただいていたのにお礼が遅れてすみません。
ありがとうございます!できました!

ARRAYFORMULA関数初めて使いました。これ他でも活用できそうですね!

お礼日時:2023/01/04 10:26

1行に15分ごと24時間分……なら96列になると思うんだけどなあ。



・・・まあ、いいや。本題・・・

COUNT系の関数でセルの数を数えて、それを15倍すれば分単位の時間を得られますよ。
COUNTIF関数で数えるための条件を指定すると良いでしょう。


・・・アドバイス・・・

時間を縦に並べることを薦めます。
項目を横に並べるのです。

ホワイトボードなどに表示するあれとは縦と横が逆の表ってことです。
そのほうが、データを扱いやすい。
表示は縦と横を入れ替えた表示専用シートを別に作ってデータを参照させればいい。
(不用意にデータを変更してしまう事故も防ぐことができる)
    • good
    • 1
この回答へのお礼

ありがとうございます!
あ、確かに96列です。(なんで48列と書いたんでしょう、、)

>COUNT系の関数
「右端のセルの列番号」ばかり考えてました。ちょっとやってみます!

>表示は縦と横を入れ替えた表示専用シートを別に作ってデータを参照させればいい
なるほどです。その考えが浮かびませんでした。。

大変参考になるアドバイスありがとうございました。
早速チャレンジしてみます。

お礼日時:2022/12/29 18:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!