- ベストアンサー
エクセル数式の意味を教えてください
- エクセルの数式を使ってセルの値を増やす方法について質問しました。
- 回答として、「=if(A1+50>=250,A1-200+1,A1+50)をA2に入力する」という方法が教えられました。
- しかし、エクセルに関して素人のため、その数式の意味が理解できずに困っています。解説をお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ステップ1: A列を列選択する 右クリックしてセルの書式設定を選ぶ 表示形式のタブを開く ユーザー定義を選び,右中の種類の記入欄に 00000 と記入してOKする 以上で,数字の1,2,3が表示として00001,00002,00003となるよう仕込みをする。 ステップ2: A1に開始の数字 1 を記入する 前述の設定で 00001 と表示される。 ステップ3: A2に =A1+IF(A1<200,50,-199) と記入して下向けにコピーする 一つ上のセル(A2から見てA1,A3から見てA2)の数字がまだ200になってなければ(A2はA1に,A3ではA2に)50足す そうでないなら(一つ上が200以上に到達してたら)一度200戻して(引き算して)から1増やす(足し算する)。 算数で,200引いて1足すのは,要するに199を引き算することになる。
その他の回答 (6)
- keithin
- ベストアンサー率66% (5278/7941)
>A2に「=A1+IF(A1<500,100,-499)」で合ってますか? えぇ,それで合ってますよ。 問い合わせをいただいたら,やっぱり手間を掛けて回答しないとなりません。 質問するまでもなく,その式で正しい答えが並んだのを,ご自分の目で確認されましたよね? なぜわざわざ質問されたのでしょうか。
お礼
お早うございます。 お手間をおかけしてすみません…同じシートで色んなパターンを試しているうちに出来なくなってしまい書き込んだのですが、新規書類で一から試したらちゃんとできました。 ありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
No.2です。 >真、偽の意味は○、×というか正、誤のような意味でしょうか…? =IF(条件文,条件が正しい場合の処理,条件に合わない場合の処理) 上記の“条件が正しい”が真であり、“条件の結果に合わない”が偽となります。 条件文 A1+50>=250 は A1>=200 となり、ひとつ前の行の内容が 200以上なら真、200未満なら偽となります。 真の場合の処理 A1-200+1 は結果としてA1が200~249の場合になるので、 0~49に1を加算する処理になります 偽の場合の処理 A1+50 は結果として前行の値に50を加算する処理になります
お礼
mshr1962さん、お早うございます。 条件に合うか合わないかという意味なんですね。 ちゃんと意味を理解していないと素人に応用は難しいですね… ご丁寧な解説ありがとうございます。○*
- nattocurry
- ベストアンサー率31% (587/1853)
基本的には、上のセルの値に50を足す。 上のセルが200に達したときは、上のセルから200を引いて1を足す。 ということをやっていますね。 =IF(A1+50>=250,A1-200+1,A1+50) の内訳は、 A1+50>=250 : 上のセルに50を足した値が250以上だったら A1-200+1 : 上のセルから200を引いて1を足す A1+50 : (上のセルに50を足した値が250以上じゃなかったら)上のセルに50を足す 条件式になぜ A1+50>=250 を使っているのかちょっと解りませんが。 私なら、「200番台に達すると」をそのまま条件式にして、A1>=200 にしますけど。 で、どのような応用をしたいと思っているのでしょうか?
お礼
nattocurryさん、回答ありがとうございます。 「条件式になぜ A1+50>=250 を使っているのかちょっと解りませんが。 私なら、「200番台に達すると」をそのまま条件式にして、A1>=200 にしますけど。」 というのをやってみたのですが、はじめのあたりがマイナス数値になってしまいました…汗 自分で質問をしておいてなんなのですが、どうして250という値が出てきてるんでしょうか…? 応用というのは一つ理解しておけば値が変わっても使えるかなと思ったからなんですが、 例えば、 00001 00101 00201 00301 00401 00501 00002 00102 00202 00302 00402 00502 00003 以下略 のように、100ずつ送り500番台に達すると戻り…のような感じです。 この場合、=IF(A1+100>=???,A1-500+1,A1+100) ですか? ???のところには何をいれたらいいのでしょうか…? 色々質問攻めですみません。
- mm_wanko_mm
- ベストアンサー率30% (34/111)
if(条件式,真の場合,偽の場合)です。 つまりお書きになってる式では 条件式:A1+50>=250 (A1+50が250以上である) この条件式が 真の場合:A1-200+1 (セルの値をA1-200+1にする) 偽の場合:A1+50 (セルの値をA1+50にする) となり、if文で判定されどちらかの値が選択されます。
お礼
mm wanko mmさん if文…難しいんですね、条件にはまる場合は甲で、そうでない場合は乙で、のような意味合いでしょうか…。 回答ありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
「=if(A1+50>=250,A1-200+1,A1+50)」 A1=151の時 A1+50=201 となり 250未満の為、偽(FALSE)となり A1+50=201 が表示される。 A1=201の時 A1+50=251 となり 250以上の為、真(TRUE)となり A1-200+1=201-200+1=2 が表示される。
お礼
mshr1962さん、さっきも回答してくださって、またまたありがとうございます。 真、偽の意味は○、×というか正、誤のような意味でしょうか…?
- FEX2053
- ベストアンサー率37% (7991/21371)
=if(A1+50>=250,A1-200+1,A1+50) こいつを下にコピーすると言う事は、A1の部分が順にA2,A3・・・と進むと言う事ですよね。ということは、このA1の部分は「すぐ上のセル」と読み替えてオッケーなんです。 で。 A1+50 とは、そのセル+50、すなわち一つ下のセルの値です。こいつが250以下ということは、そのセルが200を越えたということなので、「200を越えた値が出てきたら」と言い換えてオッケーです。 A1-200+1 とは、セルの内容から200を引く・・・すなわちカウントの一番初めの数字ですね。こいつに+1ということは次の先頭の数字を計算する、ということです。 ということで、 (一つ下のセルが200を越えたら、次のブロックの先頭数字を計算する)(それまでは、+50ずつ数値を足していく)という処理になります。
お礼
FEX2053さん、回答ありがとうございます。 ご丁寧な解説ありがとうございます。 数式の中に250と出てくるんですがそれはなんなのでしょう…? 私は特に指定していなかったと思うのですが…。
お礼
keithinさん、回答ありがとうございます。 keithinさん提唱のステップ3の数式を入れてみました。数式は異なってもちゃんとできました! では「100ずつ増えていき、500番台に達したら戻る」という場合は、 00001 00101 00201 00301 00401 00501 00002 00202 …以下略 A2に「=A1+IF(A1<500,100,-499)」で合ってますか?