• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの関数について)

Excel関数についての対策方法と解決策

このQ&Aのポイント
  • エクセルの関数についての問題点として、空白の場合も0と同様の判定になってしまうことがあります。
  • この問題を解決するためには、IF関数を使用して空白を判定し、空白の場合に別の値を表示するように設定することが必要です。
  • 具体的には、IF関数の中でAND関数を使用し、空白かどうかを判定します。空白の場合は別の値を表示するように設定することで、空白を空白のまま表示することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

次のような式ではどうでしょう。 =IF(OR(A1="",A1>36),"",IF(AND(A1=0,A1<1),"0",CHOOSE(ROUNDUP(A1/12,0),"左","中","右")))

noname543654324
質問者

お礼

回答ありがとうございました!関数奥が深いですね・・・ 訓練しておかないとこのような式はさすがにできないと思いました。 この式をさっそく使わせてもらいました 上手く成り立ちました^^ ありがとうございます。変更後の式を使わせていただきました^^

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

No4です。 ごめんなさい。一部変更します。 =IF(OR(A1="",A1>36),"",IF(AND(A1>=0,A1<1),"0",CHOOSE(ROUNDUP(A1/12,0),"左","中","右")))

noname543654324
質問者

お礼

^^

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

空白であるかどうかは、A1=""で判別できるので、 =IF(AND(A1>=1,A1<=12),"左",IF(AND(A1>=13,A1<=24),"中",IF(AND(A1>=25,A1<=36),"右",IF(AND(A1=0,A1<>""),"0","")))) とでもすればいいです。 あえて関数を使うと後半の「IF(AND(A1=0,A1<>""),"0","")」の部分は IF(EXACT(A1,0),"0","") とできます。 あと、その式はもっと短くできます。 =IF(A1="","",LOOKUP(A1,{0,1,13,25,37;0,"左","中","右",""})) とすれば、条件は満たせる思います。

noname543654324
質問者

お礼

回答ありがとうございました! もっと簡単な式に変換できるんですね!さすがにわかりませんでした。 実際に使ってみたのですが、0は表記しなくなり空白になったのですが 今度は結果が数字になっていました。 ちなみにソフトはopenofficeというのを使用しています

  • bajutsu
  • ベストアンサー率20% (139/693)
回答No.2

そのまんま、「空白だったら空白」の式を足せばいい。 =IF(A1="","",IF(AND(A1>=1,A1<=12),"左",IF(AND(A1>=13,A1<=24),"中",IF(AND(A1>=25,A1<=36),"右",IF(A1=0,"0")))))

noname543654324
質問者

お礼

回答ありがとうございました!回答者様の式を拝見して思いました。 全部後に後に付けたしていったのでおそらく表記されなかったのではないかと思っています。 今後のために参考にさせていただきます。 ありがとうございました^^

回答No.1

参照するセルが空白の場合でも、「左」、「右」、「0」、などと表示するセルにはすでに関数が入力されているわけで、関数の入力されたセルが「空白だったことにする」というのは無理じゃないかと思うのですが...(伝わってますでしょうか...) 私だったら (1)参照するセルが空白の場合、関数のあるセルには何らかの記号を出力させて (例えば: =IF(ISBLANK(A1),"@@", IF(<次の条件>... など) (2)その記号(@@)の入ったセルをconditional formattingを使って非表示にする。 位でしょうか。 これでも関数のあるセルは空白にはなりません。そのようにみえるだけです。 もっと詳しい人がいるかもしれないので、質問閉じないでくださいね。

noname543654324
質問者

お礼

回答ありがとうございました!大体わかります。 というよりも先ほどその方法を丁度調べて作成したのですが結局0のまま変わらなかったので、何か式を当てはめる場所が違うのではないか、そうでなければまた何か違う方法があるのか?と思い、質問をさせていただきました あ・・・(2)の方法はしりませんでした。 ご回答感謝します^^

関連するQ&A