- ベストアンサー
エクセルで数値計算に悩んでいます
- エクセルで数値計算をする際に悩んでいます。条件に合致する場合に特定の計算式を使用し、結果を出力する方法が分かりません。
- 現在、エクセルで数値計算を行っていますが、特定の条件を満たす場合にのみ計算を行いたいです。しかし、正しい方法がわかりません。
- エクセルで数値計算をする際に困っています。特定の条件に応じて計算式を設定し、答えを求めたいのですが、上手くいきません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
質問状態からできるのは、0以上のときをB列、0未満?のときをC列、とりあえずこれでもわかる。 説明があいまいだと回答側も解釈に悩む。0以上0以下はない、式は今どのセルに入れたか、Aの数値に割合かけるが式のFは何か、等。 質問の投稿前に読み上げ直しする。これだけで気付くことある。 どうしよう、のときでも正確に伝えたら1、2回で回答来ます。
その他の回答 (5)
- sai2003
- ベストアンサー率36% (28/77)
おそらく ANo.2 の回答がご希望の計算式ではないかと思います。 考え方としては、 もしも( if ) A列にある数値が0以上の場合( A1>=0 ) A列の数値*0.01 ( A1*0.01 ) として そうでない場合、A列の数値*0.5 ( A1*0.5 ) とする *A1 は、1行目の場合なので、2行目の場合は A2 となります。 関数は一足飛びに書くのではなく、一つずつ順を追って考えるとわかりやすいかと思います。 Tips A列に数字が入力済みで、隣のB列に式を入力(コピー)するには 式が入力されているB列の最初の行のセルを選択して、 セルの右下に表示されるフィルハンドルをダブルクリックすれば A列に数字が入力されているところまで一気にコピーできます。 (A列の途中に空白があると、そこで止まります)。
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルを少しやれば、常識と言える、IF分のネストで解決するパターンだろう。 IF関数は、SUM関数などに続いてまずエクセル関数で必要なっもので、ここに質問するとは、エクセル関数をほとんど勉強して無いということ。 条件が3つ4つぐらいが実用的な限度だろう。式が長くなり、カッコの間違いなども起こりやすくなる。 それ以上の値分類に分かれる場合はVLOOKUP関数のTRUE型の問題にする。 ーー =IF(第1条件、真の場合行う計算式、IF(第2条件、第2条件が真なら行う計算式、IF(第3条件、第3条件が真なら行う計算式、第3条件が偽なら行う計算式))) のような構成になる。真とか偽とかはわかるかな。 第x条件はA1>1、A1>B1のようなタイプがありえる。3>A1>1のような書き方はダメ。2つに分解しAND条件を使う。 先に出てきた条件で、先に判定されるから、良く考えて条件の後先を組み立てること。 第1条件を、A>1として、偽の場合A1>2なんてしてもおかしいです。 今回もそれらしきことを回答者に指摘されているのでは。 ーーー =IF(A:A>=0,(F:F*0.01)) こんなのは、頭でっかちの考えで、実際のエクセルの関数式の経験が少ない証拠。 セル範囲に対して一遍にはかけない。1セルに式を入れて、同列のセルに対し式の複写という仕組みで対処する。 こういう記法は普通の関数では認められない。 セルの範囲が関数の引数(判るかな)に認められる場合は、関数ごとに決っているので、関数個別に勉強となる。
- keithin
- ベストアンサー率66% (5278/7941)
=F:F*IF(A:A>=0,0.01,0.5) など。 あなたが実際にやってみたこと: >=IF(A:A>=0,(F:F*0.01)) F列の所定倍を計算 あなたの説明: >A列にある数値が0以上の場合 : A列の数値*0.01 >A列にある数値が0以下の場合 : A列の数値*0.5 A列の所定倍を計算 間違った内容で質問を立てると,間違った回答が寄せられます。
- tgook
- ベストアンサー率48% (96/198)
条件を以下のように変更可能でしょうか? <条件>計算式 A列にある数値が0以上の場合 : A列の数値*0.01 A列にある数値が0より小さいの場合 : A列の数値*0.5 B列に以下IF関数を入れてください。 =IF(A1>=0,A1*0.01,A1*0.5) あとはB1をコピーして、A1をセレクト。 CTRLキー を押しながら ↓キー で恐らく1500行目まで移動します。 B1500をセレクトして CTRLキー と SHIFTキー を押しながら ↑キー でB1まで選択されると思います。 1回 ↓キー を押して、選択範囲をB2までにして CTRLキー と Vキー で数式を貼付け。 これで良いのではないかな?と思います。
- papapa0427
- ベストアンサー率25% (371/1472)
条件が矛盾してます。 数値が0の場合はどっちの計算をするのですか? 0以上は0を含みます。0以下も0を含みます。どっちですか? 条件を書いてあるコードより 0以上なら : A列の数値*0.01 0未満なら : A列の数値*0.5 とします。複数条件がある場合はelse節を使用します。ほかの方法もありますがとりあえず =IF(A:A>=0,(F:F*0.01)) elseif(a:A<0,(F:F*0.5)) でよろしいかと。