• 締切済み

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

以下は各セルの設定(条件)となります。 (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」と表記される。 このような設定が叶う関数式を教えてください。(わかりずらい説明かもしれませんので例もアップしました) *なお、作表の目的についての詮索などは控えてくださるようお願いします。 当方関数を勉強中ですので回答の関数式の説明も簡単にあると幸いです。 よろしくお願いいたします。

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

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

> この質問でだした例に対し、実際の表はこの例のA1からA2のあいだに複数のセルが入っていますので(表ではA1がA3に、A2がA6に該当) > =A7-SUM(A1:A2) > ではA1からA2つまりA5まですべて合計されてしまいます。 そのものズバリの関数でなくても、何をやっているのかを考えれば応用が効きます。 これで解りますか。 =A7-A1-A2

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

> A8:=A7-SUM(A1:A2) > > についてなのですが、これはA7からA1からA2の合計数を引くことだと思いますが、A1かA2いずれかをA7から引くという式にはならず、A7からA1からA2の合計を引くということになっています。 > > あくまでもどちらか一方という式に変えることはできますか? 何故そんな処理が必要なのでしょう? A1とA2のどちらか一つは必ず0なんですよね? それなら=A7-SUM(A1:A2) で問題ありません。 逆にA1とA2どちらも正数だった場合はどうしたいのですか?

frau
質問者

補足

>逆にA1とA2どちらも正数だった場合はどうしたいのですか? あくまでもA1が0の場合はA2が正数、その逆という条件になります。 仮にA1からA2の間にセルが追加されたと考えてください。 A1からA2までをA3で合計し、A4からA5をA6で合計し、同様、A3が0、A6が正数、またはA3が正数、A6が0の場合、A4、A6のいずれかをA7で示すと考え直してください。 この質問でだした例に対し、実際の表はこの例のA1からA2のあいだに複数のセルが入っていますので(表ではA1がA3に、A2がA6に該当) =A7-SUM(A1:A2) ではA1からA2つまりA5まですべて合計されてしまいます。 つまり実際にはA7からA1かA2いずれかは、それらを含んだ合計額から減算されてしまっています。

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

ANo.2の補足に書かれた新しい条件では、A9は常に0ですが良いのですか? A8:=A7-SUM(A1:A2) A9:0 A10:=ABS(A8)*AND(A8<0,A7>0) A11:=ABS(A8)*AND(A8<0,A7=0) A12:=MAX(0,A8)

frau
質問者

補足

A8:=A7-SUM(A1:A2) についてなのですが、これはA7からA1からA2の合計数を引くことだと思いますが、A1かA2いずれかをA7から引くという式にはならず、A7からA1からA2の合計を引くということになっています。 あくまでもどちらか一方という式に変えることはできますか?

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

補足の内容で以下が気になったのですが…… > 同様、A1に0、A2に5000、A7に4000の場合でもA8は-1000となります。 A1=0の時はA9~A12全てで「A8の絶対値表示」の条件を満たさないので、A9~A12は全て0になります。 これで宜しいですよね。

frau
質問者

補足

お世話になっております。 申し訳ございません。せっかく考えて回答をくださったのですが、これまでの質問や補足は一度リセットしてくださるようお願いします。 まったく見当違いの質問でした。 以下に訂正や新しい補足をしますので、この条件での関数を教えてください (また例とした添付画像も差し替えました。ご参照ください) (1)以下A1とA2の入力規則。 パターン1)A1が正数のときA2は0。 パターン2)A1が0のときA2は整数 A3~A6(臨時収入)の合計をA7に示すが、パターン1)の場合には、A7からA1を減算した結果をA8に示す。 A3~A6(臨時収入)の合計をA7に示すが、パターン2)の場合には、A7からA2を減算した結果をA8に示す。 これら2つのパターンをA8に関数式で設定したい。 *添付した例ではパターン1)となります。 (3)A9~A12の目的は、以下のような種類ごとの表示となる。 ・A9➡A8の結果が0の場合に表示される ・A10➡A8の結果がマイナスの場合に表示される。但しA7の合計が正数の場合にのみ。 ・A11➡A8の結果がマイナスの場合に表示される。但しA7の合計が0の場合にのみ。 ・A12➡A8の結果がプラスの場合に表示される (4)他条件 ・A9~A12での結果表示には符号を示さない。 ・A9~A12では結果以外の数値はすべて「0」と自動表記される。 このような複雑な条件ですが決め手はA8になると思いますが可能でしょうか?よろしくお願いいたします。

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

A9~A12に何を表示したいのか分からない質問文でしたが、A8の絶対値と勝手に判断しました。 以下の式を入れてください。 A9:=ABS(A8)*AND(A1>0,A2=0,A3>0) A10:=ABS(A8)*AND(A1>0,A2>0,A3=0) A11:=ABS(A8)*AND(A1>0,A2=0,A3=0) A12:=ABS(A8)*AND(A1>0,A2>0,A3>0) ABS()は絶対値 AND(…)は、カッコ内の条件式が全て成立すると1、1つでも不成立なら0になります。 この2つを掛けて条件が全て成立した時にはA8の絶対値、1つでも不成立なら0を表示となります。

frau
質問者

補足

ご回答ありがとうございます。 大切なことを忘れていました。絶対値であると言われるA8セルの数式のことです。 すでに質問文で述べたとおり、A8にはA3~A6(臨時収入)の合計(A7)からA1セルまたはA2セルを減算した結果を示しますが、A1またはA2いずれも一方は正数、かつ一方は0となる場合のA8に示す計算結果を関数で示したいのです。 添付図のように、A1に5000と入力した場合、A2は0、このときA3が4000の場合にはA7は4000となりますがA8は-1000となります。 同様、A1に0、A2に5000、A7に4000の場合でもA8は-1000となります。 このように、入力するパターンが2つありますので関数で示すしかありません。 よろしくお願いいたします。

関連するQ&A