• 締切済み

【Excel】計算結果のタイプ別にセルに反映させる

たとえばセルA1とA2、A3を以下のようなパターンで入力し、後に計算するとします。 ■パターン1 A1➡5000 A2➡0 A3➡5000 ■パターン2 A1➡5000 A2➡0 A3➡0 ■パターン3 A1➡5000 A2➡4000 A3➡0 ■パターン4 A1➡5000 A2➡4000 A3➡5000 以下はすべてのパターンに共通する計算方法です。 A4➡A1~A3の合計 A5➡A4からA1を減算した結果 各パターンの結果は0、-5000、4000、4000とA5セルに表示がされますが、それぞれの結果を別々のセルに反映させたいのが目的です。 たとえばパターン1の結果はA6に、2はA7に…というようにです。 結果は0、マイナス、プラスになりますが、パターン3と4はマイナスです。ですがセル2に数値が入っているかそうでないかということでも表記されるセルを区別したいのですが関数などでそのようなことはできるのでしょうか?(かつ、マイナスの場合にはマイナスの符号がつかないようにしたいのです)。 当方関数にはまったく無知ですので詳しく教えていただけると助かります。

  • frau
  • お礼率54% (2370/4367)

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.18

> No.16の式の場合、空白のときには0となることです。 > たとえばA12には-1000(実際は1000)と表示されたとき、A11、A13、A14は当然のことながら答えはでませんがその空白部分をすべて0に表記されるということはこの式を使ってできますでしょうか? 人様の回答の修正は控えさせて頂きますが、式を読んで理解し、式中で空白("")にしている箇所を0に変更してみてはいかがでしょう。

frau
質問者

お礼

本当に助かりました。ありがとうございました!

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.17

> この式ですとシンプルでよいと思いますが、あと一点の、目的である結果がマイナスとなる場合の符号を示さないということが叶っておりません。よろしくお願いいたします。 マイナス符号の件を失念していました。 A11~A14セルに入れる式中の A5+A10 を以下のように ABS(A5+A10) と書き換えてください。 A11:=IF(OR(A15=5,A15=40),ABS(A5+A10),0) A12:=IF(OR(A15=3,A15=24),ABS(A5+A10),0) A13:=IF(OR(A15=1,A15=8),ABS(A5+A10),0) A14:=IF(OR(A15=7,A15=56),ABS(A5+A10),0)

frau
質問者

補足

ありがとうございました。無事できました。 他の方の回答ですが、回答がありませんのでmt2015さんにお伺いしたいのですが… No.16の式の場合、空白のときには0となることです。 たとえばA12には-1000(実際は1000)と表示されたとき、A11、A13、A14は当然のことながら答えはでませんがその空白部分をすべて0に表記されるということはこの式を使ってできますでしょうか? もしお分かりになりましたら教えていただけますでしょうか。

  • SI299792
  • ベストアンサー率48% (715/1477)
回答No.16

また、HohoPapaさんの回答を見てわかりました。 必要な情報が書いてありません。 例えば、 ・A2が0、かつ、A3が0以外の数値という条件を指している。 これだとたA1は0 でも0 でなくてもいいと思ってしまいます。 A1も0 でなければならないのなら、 ・A1が0、かつ、A2が0、かつ、A3が0以外 ときちんと書いて下さい。情報が足りないから正しく伝わりません。 なお、「の数値という条件を指している。」は必要ありません。 HohoPapaさんの式はうまくできているのですが、条件に合わないときに0が表示される、-符号が付くという問題があります。この式の修正は本人に任せるとして、私なりの式を作りました。長いですが、 A11 より =IF(AND(A1<>0,A2=0,A3<>0,A6=0,A7=0,A8=0),ABS(A5),IF(AND(A1=0,A2=0,A3=0,A6<>0,A7=0,A8<>0),ABS(A10),"")) =IF(AND(A1<>0,A2<>0,A3=0,A6=0,A7=0,A8=0),ABS(A5),IF(AND(A1=0,A2=0,A3=0,A6<>0,A7<>0,A8=0),ABS(A10),"")) =IF(AND(A1<>0,A2=0,A3=0,A6=0,A7=0,A8=0),ABS(A5),IF(AND(A1=0,A2=0,A3=0,A6<>0,A7=0,A8=0),ABS(A10),"")) =IF(AND(A1<>0,A2<>0,A3<>0,A6=0,A7=0,A8=0),ABS(A5),IF(AND(A1=0,A2=0,A3=0,A6<>0,A7<>0,A8<>0),ABS(A10),"")) 「A12 に-1000 と入れば」と捕捉に書いてありましたが、これも理解できませんでした。 A12 は計算結果を表資するところなので、入れることはできません。A12 になった場合ということでしょうか。 あと、1ヶ所で2つの質問をしたため、ここはずいぶん複雑になっています。 今後、こういう時は、新しい質問を立てた方がいいと思います。

frau
質問者

補足

パターン6はセルA12と共にセルA13にも同じ数値(1000)、またパターンがでてしまいますがこれはどういうことでしょう? パターン5もセルA11とA13に同時にでます。 また先のお礼にかいた0表記のことはいかがでしょうか。 A11~A14の範囲に表示される結果以外、すべて0表記にさせることです。 たとえばA12には-1000(実際は1000)と表示されたとき、A11、A13、A14はすべて0に表記されるということです(つまり空白にはしない)。よろしくお願いいたします。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.15

セルA15を作業用セルとして使用します。↓の式を入れて下さい。 =SUMPRODUCT((A1:A8<>0)*{1;2;4;0;0;8;16;32}) 式の説明は後述しますが、パターン1~8に合致する時、A15には以下の値が表示されます。 パターン1の時:5 パターン2の時:3 パターン3の時:1 パターン4の時:7 パターン5の時:40 パターン6の時:24 パターン7の時:8 パターン8の時:56 A11~A14セルには以下の式を入れます。 A11:=IF(OR(A15=5,A15=40),A5+A10,0) A12:=IF(OR(A15=3,A15=24),A5+A10,0) A13:=IF(OR(A15=1,A15=8),A5+A10,0) A14:=IF(OR(A15=7,A15=56),A5+A10,0) これでどうでしょう? A15の式では、A1、A2、A3、A6、A7、A8の値が0以外の場合、2進数の1~6ビット目を立てるのと同じことをして、作業用のユニークな値を作っています。 追伸: frauさんはExcelに不慣れなため、必要と思われる情報を可能な限り書き出しているのだと思いますが、残念ながらセル式を作るにあたっては不要な情報が多く、用語の使い方が独特なのも相まって私を含めた回答者の混乱招いているようです。 例えば、「条件」と言う言葉を出されると、その条件さえ満たしていれば良いと(少なくともExcelを使用するうえでは)考えてしまいますが、提示された「条件」はそれだけでは成立しないので、今回は失礼ながら無視して独自にやらせて頂きました。

frau
質問者

補足

お礼が遅くなりすみません。 結果、ご呈示のとおりになりました。 この式ですとシンプルでよいと思いますが、あと一点の、目的である結果がマイナスとなる場合の符号を示さないということが叶っておりません。よろしくお願いいたします。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.14

ようやく「パターン」の意味が解った気がします。 「条件」の事を忘れて以下のように整理しました。 合ってますか? パターンを決める対象セルはA1、A2、A3とA6、A7、A8の計6個 パターン1:A1とA3が0以外、他の対象セルは0 パターン2:A1とA2が0以外、他の対象セルは0 パターン3:A1が0以外、他の対象セルは0 パターン4:A1、A2、A3が0以外、他の対象セルは0 パターン5:A6とA8が0以外、他の対象セルは0 パターン6:A6とA7が0以外、他の対象セルは0 パターン7:A6が0以外、他の対象セルは0 パターン8:A6、A7、A8が0以外、他の対象セルは0

frau
質問者

補足

すべて合っております。 >他の対象セル を「対応セル」に読み替えでください。A1はA6に、A6はA7に…というように「対応している」と考えていただけるとわかりやすいと思います。

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.13

例x A1➡0 A2➡0 A3➡0 A4➡0+0=0 A5➡0-0=0 A6➡5000 A7➡3000 A8➡2000 A9➡2000+3000=5000 A10➡5000-5000=0 これが、パターン8なんですね。 では、 なぜこれが、パターン6に該当しないのか その理由を教えてください。 例y A1➡0 A2➡0 A3➡0 A4➡0+0=0 A5➡0-0=0 A6➡5000 A7➡0 A8➡6000 A9➡0+6000=6000 A10➡6000-5000=1000 これがパターン5なんですね。 では、 なぜこれが、パターン7に該当しないのか、 その理由を教えてください。

frau
質問者

補足

>なぜこれが、パターン6に該当しないのか > なぜこれが、パターン7に該当しないのか、 とおっしゃる理由がわかりませんが、それぞれのパターンはそれぞれすべて組合せが違いますよね?

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.12

聞き方をちょっと変えます。 次の例x、例yは、8つあるパターンのどれに該当しますか? 例x A1➡0 A2➡0 A3➡0 A4➡0+0=0 A5➡0-0=0 A6➡5000 A7➡3000 A8➡2000 A9➡2000+3000=5000 A10➡5000-5000=0 例y A1➡0 A2➡0 A3➡0 A4➡0+0=0 A5➡0-0=0 A6➡5000 A7➡0 A8➡6000 A9➡0+6000=6000 A10➡6000-5000=1000

frau
質問者

補足

例Xがパターン8、yがパターン5です。

  • SI299792
  • ベストアンサー率48% (715/1477)
回答No.11

比較とは意味が不明…判り難い表現でした。チェックする対象という意味で書きました。 A2+A3-A1、対応するA6+A7-A8 私は、 A2+A3-A1、対応するA7+A8-A6 だと思っていました、上と下でなぜ計算方法(つまり、並び方)が違うのか不明ですが、これなら納得できます。数式も書いていただければ、このような混乱は防げます。 このまま作れば、パターン5はA11 とA13 の2ヶ所に表示されます。 この点の返答はまだ頂いていませんが、これでいいのですね。 A11 ~A14 は =IF(OR(AND(A2=0,A3<>0,A6=0,A7=0),AND(A2=0,A3=0,A6<>0,A7=0)),ABS(A10),"") =IF(OR(AND(A2<>0,A3=0,A6=0,A7=0),AND(A2=0,A3=0,A6<>0,A7<>0)),ABS(A10),"") =IF(OR(AND(A2=0,A3=0,A6=0,A7=0),AND(A2=0,A3=0,A6<>0,A7=0)),ABS(A10),"") =IF(OR(AND(A2<>0,A3<>0,A6=0,A7=0),AND(A2=0,A3=0,A6<>0,A7<>0)),ABS(A10),"") になります。

frau
質問者

お礼

ご回答の式で目的を達成しました! ありがとうございました。

frau
質問者

補足

お礼を書いたあとにすみません。 この式では前の補足に追加で書いたものが達成されておりません。 結果が表示されたセル以外はすべて0の数値が入ることですが、できますでしょうか? たとえばA12に-1000と入れば、A13~A14の結果表示のためのセルはすべて0に表記されるということです。よろしくお願いいたします。

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.10

もう一つ、コメントします。 >一方の領域(A1~A5もしくはA6~A10)の答えが0以外になるときには >もう一方の領域(A6~A7もしくはA1~A5)が0以外の数値になる >という条件です。 これは、 A1~A5のどれかが0以外になるときには A6~A10には全数0が埋まる。 他方、 A6~A10どれかが0以外になるときには A1~A5には全数0が埋まる。 と読むんだろうと思います。 ならば、(ちょっと自信が無いんですが) パターンは、 8通りではなく、6通りになるものと推測します。 いかがでしょうか?

frau
質問者

補足

>>一方の領域(A1~A5もしくはA6~A10)の答えが0以外になるときには >>もう一方の領域(A6~A7もしくはA1~A5)が0以外の数値になる について厳密に訂正します。 一方の領域A1~A5の答えが0になるときにはA6~A10が0以外の数値になる。 もう一方の領域の答えがA6~A7が0以外の数値になるときにはA1~A5が0の数値になる。 計算の入力パターンは以下の4とおり。 (1) A1➡5000 A2➡0 A3➡5000 A4➡0+5000=5000 A5➡5000-5000=0 (2) A1➡5000 A2➡4000 A3➡0 A4➡4000+0=4000 A5➡4000-5000=-1000 (3) A1➡5000 A2➡0 A3➡0 A4➡0+0=0 A5➡0-5000=-5000 (4) A1➡5000 A2➡4000 A3➡5000 A4➡4000+5000=9000 A5➡9000-5000=4000 これらがA1~A5の計算の場合には相対する領域がA6~A10となる。 逆にA6~A10の計算の場合には相対する領域がA1~A5となる。 相対する領域同士はいずれかが0か0以外の数値になる。 という表の構成上です。たとえばA1~A5は通常払い、A6~A10は借入の金額を入力する領域といえばよいでしょうか。 通常払いの場合には借入の金額は入力しません。しかしそれぞれの明細項目は計算する必要があるということです(表の構成上のことについては詮索しないでください)。

  • SI299792
  • ベストアンサー率48% (715/1477)
回答No.9

私も、間違いだと思われる点を。 mt2015さんやHohoPapaとダブりますが。 パターン5は、A11 に表示するとありますが、パターン1もA11 に表示するとあります。 これが間違いでないとすると、A11 はパターン1の時とパターン5の時に表示することになります。 パターン5~8はA15 ~A18 に表示するの間違いではないですが。 パターン5とパターン7は同じです。 このまま作れば、パターン5はA11 とA13 の2ヶ所に表示されます。 パターン6とパターン8も同じです。 A2,A3,A6,A7 を比較するのも不思議です。A2とA3は加算していますが、A6とA7は加算していません、A7とA8を加算しているので、本当に比較場所が間違っていないか、確認して下さい。

frau
質問者

補足

>これが間違いでないとすると、A11 はパターン1の時とパターン5の時に表示することになります。 そのとおりです。 >A2,A3,A6,A7 を比較するのも不思議です。A2とA3は加算していますが、A6とA7は加算していません、 比較とは意味が不明です。どのようなことでしょうか。 すべてのパターンについてはA2+A3-A1、対応するA6+A7-A8も同じです。加算しているではないですか。

関連するQ&A

  • 【Excel】一つのセルの結果を別のセルにも反映

    たとえばA3セルにA1とA2の計算の結果を示し、その数値がマイナスになったときには「-1,000円」というように表示されますが、A4セルにはプラスとしてその数値を反映させることはできますか? プラスというのは「-」を表記させないという意味でもありますが、計算上での利益として扱うということでもあります。 もし可能なら教えてください。

  • 【Excel】計算式の一部を他のセルに反映させたい

    2007利用です。 減算の式は「=100-50」と入力しますが、たとえばA1セル上でこの式を入力し、マイナスした数値50を別のセル(B1)に反映させる方法を教えてください。

  • 【Excel】計算結果がゼロ以外の場合にのみ反映

    以下は表の構成上のことです(そのためなぜこのような計算方法をするのかということは聞かないでください)。 (1)パターン1 A1セル~A4セルに「ゼロ以外の数値」が入りA1~A4の合計がA5セルにでるが、A5が正か負の数値の場合にはA6セル~A9セルには必ず「ゼロの数値」が入る(A10セルにはA6~A9の結果が入るが当然結果はゼロ)。 (2)パターン2 パターン1とは逆に、A1セル~A4セルには「ゼロの数値」が入りA1~A4の合計がA5セルにでるが、A5が正か負の数値の場合にはA6セル~A9セルには必ず「ゼロ以外の数値」が入る(A10セルにはA6~A9の結果が入るが当然結果は正か負)。 このような入力パターン(条件)ですが、A11セルにはA10の合計結果が正か負の場合にのみ、その結果が反映させたいのです。その方法がありましたら教えてください。

  • 【Excel】プラス表記の結果を自動でマイナス表記

    たとえばセルA2を収入項目とし、A1をかかった経費の項目とし、A1からA2の収支の結果をA3に示すとします。 経費は(その性質上)収入よりも絶対的にプラスの値であることを条件とする場合、結果も必然的にプラスとなりますので、結果のA3セルにもプラスで反映されます。 しかし項目の性質の条件も「支出」となりますのでプラス表記になってしまう結果を自動でマイナス表記にしたいのです。 書式設定や関数など何でもよいですのでその方法がありましたら教えてください。

  • エクセル(Excel)の計算結果を行番号に反映させるには?

    エクセルのセル表記についてのご質問です。 計算結果をセルの表記に反映させたいと思っています。 例1: A1の計算結果が『2』 B1の計算結果が『3』 この場合は、C5(2+3=5)に、Z5からの値を代入する 例2: A1の計算結果が『10』 B1の計算結果が『15』 この場合は、C25(10+15=25)に、Z25からの値を代入する =$Z$(A1+B1) =$Z$[A1+B1] =$Z$'A1+B1' 上記のようなイメージです。 どなたか、お教えいただけると幸いです。 よろしくお願い致します。

  • EXCELの計算結果について

    EXCELの計算結果の表示方法について教えて下さい。 セルA3=A1-A2の結果を表示させる場合、プラスの場合はゼロを、マイナスの場合は結果をマイナス表示させたい場合の関数を教えて下さい。 5-2=0 6-4=0 2-4=-2 6-14=-8 宜しくお願い致します。

  • 【Excel】離れたセル同士の減算の関数式

    たとえば以下のような数値が各セルに入力されているとします。 ひとつめの数値入力(また結果)のパターン A1➡5000 A5➡0 A6➡4000 A7➡-1000 ふたつめの数値入力のパターン A1➡0 A5➡5000 A6➡4000 A7➡-1000 このように、A6からA5もしくはA6からA1を減算したときにその結果が表示される(A7)関数式を教えてください。 これは蛇足質問ですが、「=A1+A2」のような式に替わる「=SUM(A1:A2)」のようなSUM関数がありますが、なぜ減算の場合にはないのでしょうか?

  • 【Excel】複数のセル上で正の結果のみ指定したい

    たとえばセルA2からA1をマイナスした結果とA3からA1をマイナスした結果のいずれかのうち、どちらかが正の数の場合、その計算結果がA4に表記されるという式は可能でしたら教えてください。

  • 入力条件に基づいた計算結果が別々に表示される関数

    以下は各セルの設定(条件)となります。 (1)A1セルとA2セルの一方は正数、かつ一方は0とする。 (たとえばA1の「支出(通常)」セルに5000という数値がある場合はA2の「支出(立替)」は必ず「0」が入力される。同様、A1が0の場合にはA2は5000と入力される) (2)A3~A6は各「臨時収入」という項目とする。 (3)A7は(2)の合計結果が表示される(「臨時収入合計」) (4)A8はA7(臨時収入合計)からA1、A2いずれかを減算した場合の結果が出る。 以上の設定に対し、A9~A12の各セルへ以下の入力規則による計算結果を表示する(目的)。 ・A1が正数、A2が0、 A3が正数 の入力結果をA9に表示 ・A1が正数、A2が正数、A3が0 の入力結果をA10に表示 ・A1が正数、A2が0、 A3が0 の入力結果をA11に表示 ・A1が正数、A2が正数、A3が正数 の入力結果をA12に表示 また以下はA9~A12の表示の際の条件です。 ・A9~A12での結果表示にマイナスの符号がついたものについてはその符号を示さない。 ・A9~A12での結果表示以外の数値はすべて「0」と表記される。 このような設定が叶う関数式を教えてください。(わかりずらい説明かもしれませんので例もアップしました) *なお、作表の目的についての詮索などは控えてくださるようお願いします。 当方関数を勉強中ですので回答の関数式の説明も簡単にあると幸いです。 よろしくお願いいたします。

  • エクセルの計算結果をセルに反映

    エクセルで、計算式の入ったセルは ・セル内容は計算式 ・セルの表示は計算結果 となっていますが、 これを、 「計算式を削除し、計算結果をそのままセル内容に」 する方法はありませんでしょうか? 例えば、 セル内容「=A1+A2」 セル表示「10」 となっているものを セル内容「10」 セル表示「10」 にしてしまう方法を探しています。

専門家に質問してみよう