• ベストアンサー

関数式の意味

エクセルで関数を使った、数式がありますが、関数の中に関数を入れたりして、長い数式になると、その数式の意味がわかりにくくなってきてしまいます。 どこから、順番に読み始めればいいのか、分からない時がりますが、なにかコツのようなものはないでしょうか? 例えばこのような =(MIN(B2,"9:45")-MAX("8:00",A2)) +MIN(MAX(B2,"10:00"),"12:00")-"10:00" +MIN(MAX(B2,"12:45"),"17:45")-"12:45" =IF(and(IV$2<=A2,A2<=IV$3),IV$3,IF(and(IV$4<=A2,A2<=IV$5),IV$5,A2)) 宜しくお願いします

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

  • ベストアンサー
  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.2

括弧の一方にカーソルを持っていくと対応する括弧が強調表示されますよね。 ただ、それだけで意味がわかりにくい場合もあります。 セルの式中 [alt]+[Enter] で改行出来るのをご存じでしょうか。 質問投稿の最初の式であれば、次のように改行するとわかりやすくなるのではないでしょうか。 =(MIN(B2,"9:45")-MAX("8:00",A2)) +MIN(MAX(B2,"10:00"),"12:00") -"10:00" +MIN(MAX(B2,"12:45"),"17:45") -"12:45" 二つ目の式は、このようにしてみます。スペースで空白を入れることが出来ます。 =IF(AND(IV$2<=A2,A2<=IV$3), IV$3, IF(AND(IV$4<=A2,A2<=IV$5), IV$5, A2 ) ) IF条件が正しい場合は次の行、そうでなければその次の行、という具合。 スペースは、IFの処理範囲をわかりやすくするために入れました。 意味もわかりやすくなると思いましたがいかがでしょう。

kotoha66
質問者

お礼

回答ありがとうございます。 まずは、式に使われている関数をしっかりと 理解していくことから、始めていきます。 >セルの式中 [alt]+[Enter] で改行出来るのをご存じ>でしょうか。 とても見やすくなりました。 ありがとうございました。

その他の回答 (3)

回答No.4

最初の式は、 > =(MIN(B2,"9:45")-MAX("8:00",A2)) a2と08:00の遅い方からB2と09:45の早い方までと、 > +MIN(MAX(B2,"10:00"),"12:00")-"10:00" 10:00からB2が12:00以前ならB2まで、以降なら12:00まで。B2が10:00 以前なら0 > +MIN(MAX(B2,"12:45"),"17:45")-"12:45" 12:45からB2が17:45以前ならB2まで、以降なら17:45まで。B2が12:45 以前なら0 を全部足す。 と読みます。日本語訳は 勤務時間は10:00から17:45までで12:00~12:45は昼休みとする。ただ し、09:45までには出勤すること。遅れたら減額。08:00以降の分は早 朝手当を認める。残業はなし。 ってところかな。 次の式は、 > =IF(and(IV$2<=A2,A2<=IV$3),IV$3, A2がIV2以上IV3以下ならIV3 >   IF(and(IV$4<=A2,A2<=IV$5),IV$5,   じゃなくてIV4以上IV5以下ならIV5 >     A2))     どっちでもなければA2のまま と読みます。

kotoha66
質問者

お礼

回答ありがとうございます。 まずは、式に使われている関数をしっかりと 理解していくことから、始めていきます。 ありがとうございました。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.3

前回投稿でスペースが反映されていませんでした。すみません。 ここで全角スペースに置き換えて再投稿します。 =IF(AND(IV$2<=A2,A2<=IV$3),   IV$3,   IF(AND(IV$4<=A2,A2<=IV$5),    IV$5,    A2   ) )

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

通常は前から順に解析していくと良いでしょう。 で、例題ですが 括弧が多いので、まず最初の括弧の対応先を探しそれを大きなブロックとしてその中を解析し、その次の括弧の対応先を探してブロックとして処理するのが良いでしょう。 次の例ですが、 IFなので、原則的に最初の条件が満たしたらこれをし、次のIFの条件を満たしたらこれをする、それいがいならこれをするというのがこの関数の意味ですから、and条件2個が満たしたらIV$3を表示し、次のand条件2個を満たしたらIV$5を表示し、それ以外の条件の時はA2を表示するという意味です。

kotoha66
質問者

お礼

回答ありがとうございます。 まずは、式に使われている関数をしっかりと 理解していくことから、始めていきます。 ありがとうございました。

関連するQ&A