• ベストアンサー

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

関数がまったく分からない者です。 以前エクセルの関数について質問をしました。(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/7940)
回答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
質問者

お礼

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

関連するQ&A

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

    先ほど http://questionbox.jp.msn.com/qa6868174.htmlで エクセルの数式について質問をしました。 概要は 「A1に「00001」と入力してセル右下の「+」を下にドラッグすると00002、00003…と増える機能?を利用して、 00001 00051 00101 00151 00201 00002 00052 00102 00152 00202 00003 …以下略 のような50ずつ増えて、200番台に達すると00002からまた50ずつ増えて、また200番台に達すると次は00003から増えていく…のような文字列は出来るのでしょうか…?」 というもので、回答として 「=if(A1+50>=250,A1-200+1,A1+50)をA2に入力する」というものを教えていただき、やってみると求めていた通りに出来てとても助かったのですが、 エクセルに関して全くの素人のため、応用しようと思ったのですが意味がさっぱりわからず 止まってしまいました…。 解説をしてくれる方、いらっしゃいましたらお願いします。

  • 関数式の意味

    エクセルで関数を使った、数式がありますが、関数の中に関数を入れたりして、長い数式になると、その数式の意味がわかりにくくなってきてしまいます。 どこから、順番に読み始めればいいのか、分からない時がりますが、なにかコツのようなものはないでしょうか? 例えばこのような =(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)) 宜しくお願いします

  • エクセル関数を教えて下さい。

    http://okwave.jp/qa/q6822393.html  こちらで 質問して 解決しましたが  新たに 混乱しましたので 助けて下さい。  画像参照して頂き C1に入る エクセル関数を教えて下さい。  

  • Excel 関数について

    エクセルの関数について質問です。 範囲内の一番大きな数字が○○の場合は**と表示、△△の場合は@@と表示、みたいな関数ってありますか? もう少しわかりやすく書くと、下の画像のリストの場合、B2:B4の中でB2が最大値の場合はA、B3の場合はB、B4の場合はCと表示、ということです。つまりこの場合は、リスト外のセル(A6等)にCと表示したいのですが・・ ifとrankやmaxのネスト関数も考えたんですが、ムリですよね?多分・・ エクセルは少し覚えようと思って数日前に2日程勉強しただけなので、そういう関数も勉強したけど 忘れてるだけかと思い、質問しました。 ちなみにエクセル2003です。 わかる方いらっしゃったら教えてください、よろしくお願いします!

  • EXCELの関数の使い方

    何度もすいません…。 EXCELの関数を用いて、以下の事をしたいのですが可能でしょうか? ____________________________ ≪質問内容≫ IFAND関数の使い方について 例) C1に「1」と記載をしたら「=IF(AND(A1>=1,A1<100),"1",)」 C1に「2」と記載をしたら「=IF(AND(A1>=1,A1<100),"2",)」 C1に「3」と記載をしたら「=IF(AND(A1>=1,A1<100),"10",)」 上記のように、他のセルの数値を参照して表示させる数値を変える事は可能でしょうか? その他の関数を用いても構いません。 ____________________________ 以上、よろしくお願いいたします。

  • エクセルの関数について

    エクセルの関数について教えてください。 エクセルでセルを参照した関数を作る時、参照元が空欄の場合"#VALUE"と表示がでるのですが、出ないようにするにはIF文で条件を設定していますが、もっと簡単な方法はないでしょうか? 初歩的な質問ですみません。

  • エクセルで関数を作る

    お願いします。 エクセルで関数を作ろうと思います。 以下の表で、「あA」かつ「いA」かつ「うA」でありその結果をvlookupを使用して「えA」に入力したいのです。 多分 えAには =if(あA="1",if(いA="22",if(うA="33",vlookup(う33,検索範囲,2)))) 見たいな関数が入ればいいのでしょうが、問題は1,22,33はそれぞれ変動値で、それぞれ10個づつくらい候補があることです。 つまり約1000個のデータから合致したものを拾ってきます。 (vlookupの参照データは別存在するとします。) 「あA」、「いA」、「うA」それぞれ変動しても結果をひろってきて「えA」に入れるような関数を作りたいのです。 function 結果(あ、い、う) function end このfunction~function endまでどのように入れたらよいでしょうか? わかりにくい質問かもしれませんがよろしくお願いいたします。  | あ |  い | う  | え |  |----|------|------|----|- A| 1 |  22 | 33  |   |  |   |    |    |   |

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

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

    =IF(AND(I8<$J$7,I8>=$K$7),4,IF(AND(I8>=$J$7,J8<>5),4,0)) の関数がありました。 自分なりの解釈では I8がJ7よりも小さくてK7以上なら4を入力, または,I8がJ7以上でJ8が?(<>がわかりません) なら4を入力, どちらにも該当しないなら0を入力しなさい。 という意味なのでしょうか? 特に J8<>5 の<>が何を意味するのかわかりません。 どなたか教えてください。 J8<>5 の意味がよくわかりません。 どういう意味なのか教えてください。

  • Excelの重複した場合の表示関数について

    いつも、お世話になっており、大変助かっています。 http://okwave.jp/qa/q7087265.html の質問をさせていただいて、「=IF(MAX(FREQUENCY(A1:C1,A1:C1))>=2,"×","○")」を利用させていただいています。 大、中、小の文字が重複した場合のものも作りたいのですが、上記の関数ではできませんので、文字でも表示させるにはどうしたらいいでしょうか。 また、「=if(or(A1=B1,A1=C1,B1=C1),"×","○")」は、文字でも認識してくれるのですが、空白時に表示させないようにするにはどうしたらいいでしょうか。 よろしくお願いします。

専門家に質問してみよう