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

朝から単純な表を計算しようとして、ふと止まってしまってアレコレうまく行かないので質問させてもらいます。

たとえばA1セルに関数が入っていてこのA1を参照してB1セルに関数で結果が出るような表で、A1セルが#N/AとなるとB1セルの値が0と表示されます。

このままだとB列の平均値等が0を含んだ結果になります。
そこでB1セルには、A1がエラーなら空白、エラーでなければ関数を含む計算式の結果(0はない)を表示させたいのですがIF関数中にIFERROE関数を組み込む?ことが出来なくて。。。。

どなたかHELPお願いします。

A 回答 (5件)

そもそも、A1の式にIFERRORを入れるのではダメなんですか?



>この式の値が#N/Aになるケースがあり、この時のA1を参照しているB1の返り値が0になるのですが。
>=MINIFS(C:C,$A:$A,">="&$H6,$A:$A,"<"&$H6+1)

この式でA1とB1がどう絡むのかわからないんですが。
    • good
    • 1
この回答へのお礼

お礼が遅くなり申し訳合えりません。

ご回答の提案、まさに目からうろこでした。
A1がエラー時に空白、A1が空白なら空白、でうまく行きました。
ご推察の通り、その他の列との関係が複雑でいじりたくない意識があって、思いつかなかったです。

質問内容に抜けがあったために、その他のご回答者様に多大なご迷惑をおかけしてしまい申し訳ありませんでした。

お礼日時:2022/04/11 10:15

No1です



元のご質問がまったく意味をなしていないのと、補足を見てもNo3様のご指摘にあるように矛盾を含んでいるので、よくわからない。

『ある範囲のMAXを取りたいのだけれど、範囲内にエラー値があればそれを無視したい』
ということと勝手に解釈。
循環参照は避けるものとして、仮にA1:A100の範囲のMAXを取りたいのなら
 =AGGREGATE(4,6,A1:A100)
とかで可能。

何をしたいのかわからないので、これ以上は無理。
    • good
    • 0
この回答へのお礼

何度も頓珍漢ですみません。

A100のつもりでAA100になっていました。

A1には(具体的なセルは違っていますが)下記の式がはいっていて、
=INDEX($A:$A,MATCH($H6&J6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0))

この式の値が#N/Aになるケースがあり、この時のA1を参照しているB1の返り値が0になるのですが。
=MINIFS(C:C,$A:$A,">="&$H6,$A:$A,"<"&$H6+1)

今手元にそのファイルが無いのでもしこれでも質問内容が不明の場合が改めて表も一緒に再度質問させていただきます。

ちなみにA1がエラーでない場合はちゃんとB1に正しく計算結果が出ます。

お礼日時:2022/04/08 16:01

No.2です。



> B1=IF(ISERROR(A1),"",MAX(A1:AA100)/12) 
> みたいなイメージです。

これでは、当初ご質問とは全く異なる内容です。

> B1セルの値が0と表示されます。
MAXを検索したいならば、
> B1セルの値が0と表示されます。
> B列の平均値等が0を含んだ結果になります。
は、全く影響がないものと思われます。

そもそも、
MAX(A1:AA100)にばB列も含まれるので、
循環関数になりませんか?
    • good
    • 0
この回答へのお礼

何度も頓珍漢ですみません。

A100のつもりでAA100になっていました。

A1には(具体的なセルは違っていますが)下記の式がはいっていて、
=INDEX($A:$A,MATCH($H6&J6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0))

この式の値が#N/Aになるケースがあり、この時のA1を参照しているB1の返り値が0になるのですが。
=MINIFS(C:C,$A:$A,">="&$H6,$A:$A,"<"&$H6+1)

今手元にそのファイルが無いのでもしこれでも質問内容が不明の場合が改めて表も一緒に再度質問させていただきます。

ちなみにA1がエラーでない場合はちゃんとB1に正しく計算結果が出ます。

お礼日時:2022/04/08 16:00

B1=IF(ISERROR(A1),"",A1)



但し、A1が空白やnullの場合は、0が返されます。
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。

ご回答で当方の目的は
>B1=IF(ISERROR(A1),"",A1)ではなく、

B1=IF(ISERROR(A1),"",MAX(A1:AA100)/12)
みたいなイメージです。

列を増やせば簡単だと思うのですが、とにかく横に広い表なので列を挿入しないで何とかしたいのですが。。。
この形式で横に広い表です。
C1に式、D1にC1を参照した式・・・・

お礼日時:2022/04/08 14:51

こんにちは



説明をはっきりと理解できていませんけれど・・

 =IF(ISERROR(A1),"", 現在の計算式)

とかでは、ダメでしょうか?
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
質問分で
>・・・・アレコレうまく行かなくて・・・
の中で一応試してみたつもりなのですが。

すみません、もう一度確認してみます。
現在のセルの頭に=IF(ISERROR(A1),"",を追加してみたのですが、やはり間違っていないならもう一度試してみます。

お礼日時:2022/04/08 14:54

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