• ベストアンサー

エクセルの関数の意味を教えてください。

関数がまったく分からない者です。 以前エクセルの関数について質問をしました。(URL参照) http://questionbox.jp.msn.com/qa7570017.html その時は急いでいて意味を聞く時間がなかったので 下の関数の意味が分かる方、ぜひ教えてください。 =IF(A1=MAX($A$1:A1)-4,MAX($A$1:A1)+5,A1-1) 私の解釈は、A1が1であるときは5を足して、そうでないときは1を引く?なんですが ($A$1:A1)のところがよくわかりません。 よろしくお願いします。

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

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

例えばB1セルにお示しの式を入力して下方にドラッグコピーして使うとしたら、式の意味は例えば3行目では式は次のようになっていますね。 =IF(A3=MAX($A$1:A3)-4,MAX($A$1:A3)+5,A3-1) この式に意味はA3セルの値がA1セルからA3セルの範囲の中で最大の値から4を引いた値と同じ場合には、最大値に5を加えた数値を表示しなさい、そうでない場合にはA3から1を引いた数値を表示しなさい、という意味です。 A1セルが1である時にはA1に5を足して、そうでないときは1を引くということでしたら次の式で十分ですね。 =IF(A1=1,A1+5,A1-1)

sp-san
質問者

お礼

回答ありがとうございます。 根本から間違っていたようですね… 勝手な解釈をしていました。 ありがとうございました。

その他の回答 (2)

回答No.3

5個セットの数字(数列)があり、5個目までは差分が(-1)、その次のセットになると、最初の数を、前のセットの開始値よりも(+5)した値にリセットする、これを繰り返す。 モデルとなっている式「=IF(A1=MAX($A$1:A1)-4,MAX($A$1:A1)+5,A1-1)」に書かれている「$A$1」はセル位置の絶対表現で、どこのセルに書かれていても常に固定位置のセル「A1」を参照している。(今はA列しか対象になっていないので「$A」は単に「A」でも同じこと) 一方、「A1」の方は、実はその式が書かれているセルの位置によって、その実体が変化(数字のところが「行番号」になる)している。

sp-san
質問者

お礼

回答ありがとうございます。 絶対表現の解説、わかりやすくて助かりました。 ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>A1が1であるときは その解釈から、間違いです。 元のご相談であなたがやりたかったのは、開始の数字から5ずつ繰り上がっていく、それよりも-4した値だったら5繰り上がりたい(そうでなければ1ずつ下がりたい)です。 5から始まって1まで降りたら10にしたい、 その10から6まで降りたら、次は15にしたい、 のように。 >($A$1:A1)のところがよくわかりません あなたが計算したかった結果(=回答した計算式で得られる結果)をよく見てみれば、5から始まって5ずつ繰り上がった10や15は、数列の「各セルで自分より上にある数字の中の最大の数字」であることが分かります。 A7から見れば10、A12から見れば15のように。 それらの数字から、1ずつ降ろしたかったのだし、次は15や20にしたかったわけです。

sp-san
質問者

お礼

回答ありがとうございます。 勝手な解釈で勘違いをしていたようです。 解説ありがとうございました。