プロが教えるわが家の防犯対策術!

セルP16に下記の条件の数式を設定出来る方法を教えてください。
セルM16に「=M11+M14」を設定しており
各それぞれM11とM14に数字が表示された場合にその合計がM16に表示されます。
M16の合計数字が表示された場合にP16に「■」が表示される方法を教えてください。

よろしくお願いします。

質問者からの補足コメント

  • 分からないから質問をしております。

    No.3の回答に寄せられた補足コメントです。 補足日時:2023/11/08 09:57

A 回答 (5件)

ご質問者の過去のご質問から推測すると、今回のご質問も当該数式を入れたEXCELファイルは複数人のユーザーが使用する可能性があるのではないかと想像されます。



この場合、ご質問者ご本人は数式の内容を理解しているのは当然としても、複数のユーザーが数式について理解していないことは十分想像できます。

>セルM16に「=M11+M14」を設定しており
とのご説明ですが、M11、M14が何等かの計算結果なのか、ユーザーが入力するのか不明ですが、上記の数式だと、M16の数式にはエラー対策はされていないことになります。

だとすると、M11、M14が計算結果として表示される場合、M11、M14の計算結果そのものがエラーとなることはないのかという疑問が沸きます。
「#VALUE!」「#DIV/0!」「#N/A」などのエラーとなった場合、当然M16もエラーになってしまいます。
また、ユーザーがM11、M14に入力する場合、「数値」を入力させるつもりでいても、ユーザーが「数値以外を入力してしまう」という事態は絶対ないという保証もありません。

また、No.4さんのご指摘のように、前提条件としてはプラスの数値だが、マイナスの場合も想定しておくという対応を考える場合があります。
※但し、=IF(VALUE(ABS(M16))>0,"■","")という数式だとM11が10
、M14が-10のときはP16は空白になりますが、それでよいのかは疑問です。

つまり、実務の世界では、「前提条件は設定するが、前提条件から外れた場合も想定した数式にしておく」という考え方が必要な場合があります。

ですから、まずM16の数式は

=IFERROR(M11+M14,"")・・・①

としておくべきだと思います。

さらに、
>M11とM14に数字が表示された場合に
というご説明ですが、EXCELでは「数字」と「数値」は分けて考えるべきです。ここでは数値が表示された場合として話を進めます。

M11またはM14に「0」が表示されることはあるのかないのかも不明です。「0」が表示されることがあるのだとすると、0も数値には違いないので、極端な例として、M11もM14も「0」なら、M16は「0」ですが、この場合P16は「■」を表示していよいのでしょうか?
ちなみに、No.1さん、No.4さんの数式ではM11もM14も「0」なら、P16に「■」は表示されません。

一応、0も数値なので、M11、M14とも0でも「■」を表示してよいものとし、M11またはM14のいずれかが、数値であればよいとするなら、

=IF((COUNT(M11)=1)+(COUNT(M14)=1)>0,"■","")・・・➁

M11、M14とも0でも「■」を表示してよいものとし、M11およびM14の両方が数値のときのみ表示するなら、

=IF(COUNT(M11)+COUNT(M14)=2,"■","")・・・③

という数式になると思います。

上記で説明したように、M11、M14、M16の取り得る値が数値なのか文字なのかエラーがあるのかないのか様々なケースがあり、①と➁、または①と③のように組み合わせて使用し、前提条件から外れた値になっても対応できるようにしておく方法が好ましいと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
詳しく説明をしていただきましありがとうございます。
この式を使用させていただきます。

お礼日時:2023/11/08 15:53

M16セルがマイナスの値になることが無いならNo.1の回答者さんの数式でOK。


マイナスの値になる場合もあるなら、
 =IF(VALUE(ABS(M16))>0,"■","")
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
マイナスの場合も検討していただきまして
ありがとうございます。

お礼日時:2023/11/08 10:30

なんでも訊くんですね(笑

この回答への補足あり
    • good
    • 0

M16に数字が表示された時ですか?


それとも
M11、M14両方に数字が表示された時ですか?
ここ、要件を明確にする必要があります。
通常、M11、M14いずれかに数字が入ると
M16には合計値は表示されてしまうからです。

回答としては、
M11、M14両方に数字が表示された時
の例を示しています。
=IF(AND(ISNUMBER(M11),ISNUMBER(M14)),"■","")

どうなんでしょう?
「エクセルの数式で教えてください。」の回答画像2
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2023/11/08 10:29

P16の式  =IF(VALUE(M16)>0,"■","")



ということですか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
上手くできました。

お礼日時:2023/11/08 09:24

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A