• ベストアンサー

関数のネスト 入っている関数の前にネストしたい

Excel2003を使っています。 要領が悪いのか、関数を作ってから、ネストしたいなと思います。 しかし、ネストする場合、その関数の後にネストする場合は、そのセルをアクティブにしてから関数ボックスをクリックすれば、簡単にネスト出来ますが、前に入れたい場合‥‥一から作り直しています。 一生懸命作り上げた関数なのに‥‥ 手打ちで入力してもいいのですが、だんだんと式が崩れてわやくちゃになるケースが多いのです。 ネストで、前に入れる場合、何かいい方法はありますでしょうか?

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

  • ベストアンサー
  • htmcr
  • ベストアンサー率36% (11/30)
回答No.3

#2です。インデントがずれてました。 正しくは以下ですね、すみません。 =IF(ISERROR(B5/C5),   0.6,   IF(B5/C5>=1,     1,     IF(B5=0,       0.6,       B5/C5     )   ) ) 数式の途中で改行されていても、Excelは ちゃんと数式として認識してくれますよ。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

現状の式が入っているセルを選択しておき、 数式バー部において、出ている必要な式の部分(または全体)をコピーし、 加える関数を手入力等で入れて、その後にコピーしたものを張り付ける(最後部にを加え)。 だけのことではないのですか。 ーー 関数の入力は (1)関数ボックスの利用 (2)式を手打ちで (3)(1)か(2)か能率的に適当なほうを選択 という(1)->(2)->(3)の発展段階を経るべきと思う。 私など(1)はまどっこしくて、使う気がしない。勉強にならないような気がして(余談)

noname#248169
質問者

お礼

>だけのことではないのですか。 そうですね。言われてみればそうです。 私は、なんだか難し~く考えすぎていたようです。 ありがとうございました。

  • htmcr
  • ベストアンサー率36% (11/30)
回答No.2

こんにちは。 関数ボックスからの編集ばかりでは限界がありますよ。 いまのうちから手打ちに慣れておくことをおすすめします。 手打ちでわやくちゃになってしまうのは、関数を一行で書こうと しているからでしょう。 -------------------------------------------- =IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,IF(B5=0,0.6,B5/C5))) -------------------------------------------- 上記は過去の質問から適当にもってきた数式ですが、 IF関数でネストされているので初心者は編集しずらいかもしれません。 そこで、以下のようにセル内で改行、インデントを行うとわかりやすくなります。 プログラミングをしたことがあるなら、この有用性は知っていると思います。 =IF(ISERROR(B5/C5),   0.6,     IF(B5/C5>=1,       1,       IF(B5=0,         0.6,         B5/C5       )     )   ) このようにすることで、とじかっこがどのIFに対応しているか、 ネストの階層が一目で把握できます。 実践してみてはどうでしょう。

noname#248169
質問者

お礼

とてもわかりやすいです。 確かに、ネストを作ることはしても、階層を気にしたことはなかったですね。 ネストを5個も6個も作っていると、3個目と4個目の間‥‥とか言われた日にはパニックでした。 ありがとうございました。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

=B(a,b) を=A(B(a,b),c) にしたいというような意味でしょうか? まず、B(a,b)をメモ帳などにコピーしておき、 =Aから作り直して、B(a,b)をメモ帳から、コピーするというのは、 いかがでしょうか? カッコなどの入れ子が分かりにくく煩雑であるばあい、 メモ帳で、すべての式を組み立てます。 この時、カッコ、カンマなどをインデントなどで分かりやすくします。 最終的に完成したら、インデントを削除して、Excelに貼り付けます。

noname#248169
質問者

お礼

やっぱり、パパッと‥‥というのは難しいのですね。 横着をしてはいけないとことですね。 ありがとうございました。

関連するQ&A