[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データの入力規則で時間入力を制限する』(NN)
データの入力規則について、教えてください。
このような表があります。
A列が開始時間、B列が終了時間として、入力していくわけですが、
例えば、1行目が入力済みだとしたら、その直下である2行目にのみ入力可能として、しかも、同じかそれより大きい時刻でないと入力を許可しないようにしたい。
入力値の種類は、時間しか入力できないようにしたい。
__A_____B
1_9:00__9:20
2_9:30__9:40
3_10:00_11:00
4_10:30_11:00
5_10:30_11:00
6_11:00_11:30
7
< 使用 Excel:Excel2019、使用 OS:Windows10 >
やりもしない自分で確認しようとしない。
話にならない。
以上
(びっくり日本) 2022/05/03(火) 00:15
これは入力規則では対応が難しくないですか?
直ぐ上のセルが入力済みといった(例えば、A3セルで、A2>0といった)、
「入力対象と直接関連しない条件は無効になる」ようですから、
入力規則だけでこれを実現するのは難しいと思います。
その条件はマストなんですか?
単に、A2セルに
=AND(A2>A1,A2<=1)といった条件を課すだけではダメであれば、
マクロとかの出番になるでしょう。
(γ) 2022/05/03(火) 07:14
A2セル =AND(COUNTBLANK(A1:B1)=0,A2>=B1,A2<=1)
B2セル =AND(A2<>"",A2<B2,B2<=1)
A2<=1 ← NNさん、この意味わかりますか
(ピンク) 2022/05/03(火) 07:42
A2=IF(AND($A1<>"",MOD($A2,1)>=MOD($A1,1)),$A2,"")
(NN) 2022/05/03(火) 10:20
不備かどうかは、こちらでは判断できないですが。。
何故、MOD($A2,1) なんてものを使うんですか? 小数部が大きくさえあれば、整数部が上のセルより小さくとも入力可能になりますけど、それでいいんですか?
何故、IF関数を使う必要があるんですか? 判定はTrueかどうか判定するだけでいいんですが。
つまり、単に =AND($A1<>"",MOD($A2,1)>=MOD($A1,1)) と同じハズですが。
(半平太) 2022/05/03(火) 11:23
(NN) 2022/05/03(火) 11:42
・で、ピンクさんの案は何故採用されなかったのですか?
そちらしか分からないデータの素性がない様に、全てこちらにも開示してください。
(半平太) 2022/05/03(火) 12:06
私の回答を訂正させていただきます。
すでに指摘いただいたとおり、
>「入力対象と直接関連しない条件は無効になる」ようですから
というのは間違いでした。
>[空白を無視する]のチェックを外す ←重要
これが数式の効果にも影響するのを知らなかったですね。とほほ。
(γ) 2022/05/04(水) 08:50
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.