[[20220620160241]] 『午前中に入力したものか、午後に入力したものか判』(改善君) ページの最後に飛ぶ

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

 

『午前中に入力したものか、午後に入力したものか判定』(改善君)

A1からA50に様々な値を入力します。
この時、C1にあるチェックボックスにレ点はいれてません。
任意のだいたいお昼ごろに作業者がレ点をいれます。
この時、A1からA20まで値があったとします(日によってかわります。)
そうするとB1からB20まで「AM」と表示させる事を関数のみで実施する事は可能ですか?

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


 チェックボックスにチェックを入れた後にA列に値が入力されることはあるのだろうか?
(ねむねむ) 2022/06/20(月) 16:10

ねむねむさん。

ご返信ありがとうございます。
レ点をいれたあとは、引き続きA21から入力を続けます。
IF関数とか試したのですが、結局関数が働き、一度関数を止めるようなことが必要でしたので、悪戦苦闘してます
(改善君) 2022/06/20(月) 16:17


 チェックを入れた際にB列に表示させるのではなく、チェックが入っていない時にはA列に入力するとB列にAMと表示、
 チェックを入れるとA列に入力してもB列に何も表示しない、というのでもかまわないだろうか?
(ねむねむ) 2022/06/20(月) 16:34

ねむねむさん。ありがとうございます。
大丈夫です。
(改善君) 2022/06/20(月) 16:36

 EXCELの設定の変更が必要になる。
 まずEXCELのオプションの数式-計算方法の設定で反復計算を行うにチェックを入れ、最大反復回数を1と設定してくれ。
 次にチェックボックスとどこかのセルをリンクさせる。
 ここではD1セルとチェックボックスをリンクさせたとする。

 そしてB1セルに
 =IF(CELL("address")=CELL("address",A1),IF(A1="","",IF(D$1,B1,IF(B1="","AM",B1))),IF(OR(B1="",B1=0),"",B1))
 と入力してC50セルまでフィルコピーしてくれ。
 なおA列の値を消すと対応するB列も消える。
(ねむねむ) 2022/06/20(月) 16:50

 チェックボックスはなんのために必要なんですか。
 >B1からB20まで「AM」と表示させる事を関数のみで
 B1=IF($A1<>"","AM","")
 (???) 2022/06/20(月) 20:01

 チェックを入れていないときにA列に値を入力した場合は対応するB列にAMと表示、
 だいたい正午ごろにチェックを入れた後にA列に入力してもB列には何も表示せずにいて、
 A列に入れた値が午前に入れたものか午後に入れたものかを判断をつけるため。
 と読み取ったが。
(ねむねむ) 2022/06/20(月) 21:31

すみません。ご返信おそくなりました。

「???」さんの回答に関しては「ねむねむ」さんの通りです。

反復計算の設定はで出来れば触りたくないです。
VLOOKUPの式が他のセルにあるので。

これ、例えばレ点いれるとTRUEからFALSEになりますよね?
IFとかでTRUEならAM、FALSEならPM。但しFALSEになったら以降は計算しない。みたいな式って作れると思いますか?

(改善君) 2022/06/22(水) 10:40


 計算をしない(以前の値を持ち続ける)には反復計算を使わないとならない。
 どうしてもということであればマクロかユーザ定義関数となりVBAを使うことになるかと。
(ねむねむ) 2022/06/22(水) 10:44

 ところで私のほうの認識だと反復計算にチェックを入れた場合の影響は
 循環参照になる式を入力してしまっても エラーにならないことくらい(エラーに気づきにくい)
 だと思っているのだがVLOOKUP関数に何か影響があるのだろうか?
(ねむねむ) 2022/06/22(水) 11:15

反復計算を根本的に勘違いしていました。
そして、この式で出来ました。ありがとうございました。

因みになんですけどちょっとかけ離れた質問ですみません。
Googleスプレッドシートで行うと、「CELL の引数の個数が間違っています。2 個の引数を指定する必要がありますが、1 個を指定しています。」となりエラー(#N/A)となります。原因ってわかりますか?

因みにExcel同様、レ点をリンクして、「FALSE」と「TRUE」とすることは可能です。
また、反復計算の設定も可能です>
(改善君) 2022/06/23(木) 16:47


 Googleスプレッドシートのほうは詳しくないのだがエラーメッセージからすると
 CELL("address")
 が問題なのだろう。
 EXCELでは
 =CELL(情報の種類,参照セル)
 となっており参照セルは省略可能で省略時には値を入力したセルとみなされるようになっている。
 これでA列の対応する行に入力されたかを判断している。
 Googleスプレッドシートでは参照セルの省略が認められていないのだろう。

 なのでこの式では対応できないことになる。
 そのそもGoogleスプレッドシートのほうでは反復計算の許可は可能なのだろうか?
(ねむねむ) 2022/06/23(木) 16:57

 すまない。
 >また、反復計算の設定も可能です
 を見落としていた。
 >そのそもGoogleスプレッドシートのほうでは反復計算の許可は可能なのだろうか?
 この質問は無視してくれ。
(ねむねむ) 2022/06/23(木) 17:02

ねむねむさん、いろいろありがとうございます。
(改善君) 2022/06/23(木) 18:21

コメント返信:

[ 一覧(最新更新順) ]


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