[[20230526084021]] 『条件付き書式で、「計算式が入力されているセル」』(なかにし) ページの最後に飛ぶ

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

 

『条件付き書式で、「計算式が入力されているセル」を指定したい』(なかにし)

たとえば、各セルに以下のようなデータが入力されており、

A1 =10,000
B1 =20,000+20,000
C1 =30,000-10,000
D1 =40,000

このうち、B1・C1が加算・減算の数式が入っているので、ここだけを条件付き書式で色を変えたい場合、どのように指定すればよろしいでしょうか?

「+」もしくは「-」が入っていれば、という条件を設定すればクリアすると思っていたのですが、そもそもの計算記号を文字列と認識してくれないのか、うまくいきませんでした。

どうぞよろしくお願いいたします。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 A1セルからD1セルを選択して条件付き書式の数式を使用して、書式設定するセルを決定で
 =FIND("-",FORMULATEXT(A1))   色を設定
 =FIND("+",FORMULATEXT(A1))   色を設定
 としてはどうだろうか?

 FORMULATEXT(〜)
 は指定したセルに式が入力されていればそれを文字列として返す。
(ねむねむ) 2023/05/26(金) 09:14:48

ねむねむ様、本当にありがとうございます!
早速解決致しました。助かりました。重ねて御礼を申し上げます。
(なかにし) 2023/05/26(金) 09:19:54

解決した、と思ったのですが、

入力されたデータが「負の値」の場合も出てきまして、その場合も反応してしまうようで…
それらを省き、あくまで数式内の記号に反応するような数式はございますでしょうか?
(なかにし) 2023/05/26(金) 10:30:00


 うーん、どうしましょう?

 =-100*3
 =100*-3
 なんかは-の前後一文字が数値か?
 で対処できそうだがそれだと
 =(10*2)-(20/4)
 のようなパターンがはじかれてしまうし…

 入力される式のパターンとしてはどんなものが入力される可能性があるだろうか?
(ねむねむ) 2023/05/26(金) 10:45:41

 >A1 =10,000
 これは =10000 と入力してるってこと?

 = など入力せずに、単に 10000 と入力しないのはなぜ?

 それなら ISFORMULA 関数で判定できるでしょう。

 以上
(笑) 2023/05/26(金) 10:57:18

>ねむねむ様

入力される式のパターンはシンプルで、

=x
=x+y
=x-y

のいずれかです。xは正負の数、ゼロの可能性があります。

>(笑)様
あとからプラス、マイナスを入力していくので、その作業がしやすいように最初から=を入力しています。
また、「=x+y」「=x-y」によって、色を塗り分けたいので、 ISFORMULA関数だと難しいと思いました。
(なかにし) 2023/05/26(金) 11:07:06


 入力式中の最後の+または-の位置が2文字目より大きければ式が入力されているものとみなす。
 でやってみた。

 =-1000     -は2文字目
 =100+100   +は5文字目
 =-100-100  一番最後の-は6文字目

 =AGGREGATE(14,6,ROW($1:$50)/((MID(FORMULATEXT(A1),ROW($1:$50),1)="-")+(MID(FORMULATEXT(A1),ROW($1:$50),1)="+")),1)>2
 なお、式の長さが最大50文字まで対応。
(ねむねむ) 2023/05/26(金) 11:27:22

 すまない、
 >また、「=x+y」「=x-y」によって、色を塗り分けたいので、 ISFORMULA関数だと難しいと思いました。
 これを見落としていた。
 =AGGREGATE(14,6,ROW($1:$50)/(MID(FORMULATEXT(A1),ROW($1:$50),1)="+"),1)>2
 =AGGREGATE(14,6,ROW($1:$50)/(MID(FORMULATEXT(A1),ROW($1:$50),1)="-"),1)>2
 で。
(ねむねむ) 2023/05/26(金) 11:32:37

 ああ、
 =SEARCH("*??-",FORMULATEXT(A1))
 =SEARCH("*??+",FORMULATEXT(A1))
 でもいいか。

 3文字目以降に+、-があれば式と判断している。
(ねむねむ) 2023/05/26(金) 11:50:34

 何度もすまない。
 >3文字目以降に+、-があれば式と判断している
 は
 =FIND("-",FORMULATEXT(A1),3)
 =FIND("+",FORMULATEXT(A1),3)
 でも。
(ねむねむ) 2023/05/26(金) 13:05:19

>ねむねむ様
ありがとうございます。

今度こそ、こちらで完成しました。
お手数をおかけしまして、申し訳ありませんでした。
(なかにし) 2023/05/26(金) 13:27:34


コメント返信:

[ 一覧(最新更新順) ]


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