2通りの条件での入力結果の全パターンを表にまとめる方法とは?

このQ&Aのポイント
  • 2通りの条件を指定して入力結果の全パターンを表にまとめる方法について教えてください。
  • 入力条件や結果の表示条件についての詳細な説明をお願いします。
  • 入力値の組合せに応じて結果の表示が変わる場合、具体的なパターンと表示方法について教えてください。
回答を見る
  • ベストアンサー

同セルに対し、2通りの条件をだしたい(続き)

前回の質問の続きです。 https://okwave.jp/qa/q9487151.html?by=datetime&order=ASC#a_area 減算される側の値が2つ増えただけで条件の内容は変わりませんが、改めて質問を立てました。 入力と結果の全パターンの表を改めてアップするのと、一応文での説明を以下に述べました。 前回のご回答者様、どうぞよろしくお願いいたします。 【入力条件】 ・「減算する値」(J46)には必ず正数か0が入り負数は入れない ・「減算の答えを示す」(J47)には以下の数式が入る =J46-J21-J27-J33-J39-J45 (J46には正数か0が入るため、J47の計算結果には0、正数、負数の3種類のいずれかになる)。 ・「差額」(J47)から「合計」(J46)を減算した答えをJ48~J55の回答欄に絶対値として表示する。 ・上記条件にあてはまなければすべて0とする 【入力の値の条件】 ・J21、J27、J33、J39、J45には0か正数が入る ・いずれのセルが正数ならば他のセルは0となる (たとえばJ21が正数、A2が0、A3が0、A1が0の場合、J27が正数、A3が0という形となる) 入力の全ての組合せは以下となる ・入力の全ての組合せは左表の入力どおりとなる。ひとつのパターンを「入力パターン(1)」とする。 【結果表記の条件】 ・入力値の条件に対する結果表示(回答パターン)を以下とする。 回答パターン(1)➡J48に表示 回答パターン(2)➡J48に表示 回答パターン(3)➡J48に表示 回答パターン(4)➡J48に表示 回答パターン(5)➡J52に表示 回答パターン(6)➡J49に表示 回答パターン(7)➡J49に表示 回答パターン(8)➡J49に表示 回答パターン(9)➡J49に表示 回答パターン(10)➡J53に表示 回答パターン(11)➡J50に表示 回答パターン(12)➡J50に表示 回答パターン(13)➡J50に表示 回答パターン(14)➡J50に表示 回答パターン(15)➡J54に表示 回答パターン(16)➡J51に表示 回答パターン(17)➡J51に表示 回答パターン(18)➡J51に表示 回答パターン(19)➡J51に表示 回答パターン(20)➡J55に表示 (これらJ48~J55に示す結果は絶対値とする)

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

質問者が選んだベストアンサー

  • ベストアンサー
  • miso_kasu
  • ベストアンサー率60% (6/10)
回答No.3

>・「差額」(J47)から「合計」(J46)を減算した答えをJ48~J55の回答欄に絶対値として表示する。 回答No.1で指摘しているようにJ48~J55の値は質問に添付の画像と一致しません。 つまり、次のようになります。 J47-J46 → 0-5000 → -5000 画像に表示されているJ48の値は 0 です。 >・上記条件にあてはまなければすべて0とする これも添付の画像と一致しません。 貼付画像では条件にあてはまらないセルは空欄("")のように見受けられます。 また、入力パターンの(5)、(10)、(15)、(20)については未入力のセルが有るようです。(0が入力されているものと見做します) 質問に貼付の画像と同じ結果になる処理を回答します。 数式の設定はJ48~J55のセルへ以下の数式を設定します。 J48=IF((J47=0)*(J21+J27+J33+J39),J47,"") J49=IF((J47<0)*(J21+J27+J33+J39)*J46,ABS(J47),"") J50=IF((J47<0)*(J21+J27+J33+J39)*(J46=0),ABS(J47),"") J51=IF((J47>0)*J46*(J45=0),J47,"") J52=IF((K47=0)*(K45),K47,"") J53=IF((J47<0)*J45*J46,ABS(J47),"") J54=IF((J47<0)*J45*(J46=0),ABS(J47),"") J55=IF((J47>0)*J46*(J45>0),J47,"") J21~J39の間のセルに数値の入力が無ければ(J21+J27+J33+J39)をSUM(J21:J39)のように簡素化できます。 尚、IF関数の論理式(第1引数)の結果が0のときはFALSEが返り、0以外のときはTRUEが返ることをご存知ですよね? IF([論理式],[TRUEのときの処理],[FALSEのときの処理])

frau
質問者

補足

失礼いたしました。A列をJ列に替えるのを忘れてました。 >未入力のセルが有るようです これが「・上記条件にあてはまなければすべて0とする」ということです。 「J47からJ46を減算した答えをJ48~J55の回答欄に絶対値として表示する」ので、回答に指定されたセル以外の表示については0とするということです。(たとえばJ49にでる答えは1000となる場合、それ以外はすべて0と表示される) おっしゃるとおり("")は空欄ではなく0になりますが表に0と記入しておけばよかったと反省しております。 まだまだ不備がありました。申し訳ないです。 >IF関数の論理式(第1引数)の結果が0のときはFALSEが返り はい。今回覚えました。 ご回答のとおりにできましたがひとつだけこちらで直ししたものがあります。 >J52=IF((K47=0)*(K45),K47,"") このKはJでよいですよね? ありがとうございます。助かりました。 後学のためにも、できれば、式の意味をご解説いただけると助かります。よろしくお願いいたします。

その他の回答 (5)

  • miso_kasu
  • ベストアンサー率60% (6/10)
回答No.6

>後学のためにも、できれば、式の意味をご解説いただけると助かります。よろしくお願いいたします。 J48~J55のの数式を1つずつ説明しなければいけませんか? J49とJ53について説明すれば他は解読できると思います。 J49=IF((J47<0)*(J21+J27+J33+J39)*J46,ABS(J47),"") IF関数の論理式は (J47<0)*(J21+J27+J33+J39)*J46 です。 J47が負数で然もJ21、J27、J33、J39の何れかが0以外の値で更にJ46が0以外のとき論理式の結果が0以外となりますのでTRUEで指定したABS(J47)をJ49セルへ代入します。 O列からR列の入力パターン(5)~(9)ではO21:R21、O27:R27、O33:R33、O39:R39の何れかが0以外なのでO47:R47が負数であり、O46:R46が0以外なのでO47:R47の絶対値(1000)がO49:R49へ代入されます。 入力パターン(5)の論理式 (O47<0)*(O21+O27+O33+O39)*O46 → (-1000<0)*(5000+0+0+0)*4000 → 1*5000*4000 → 20000000 →TRUE J53=IF((J47<0)*J45*J46,ABS(J47),"") IF関数の論理式は (J47<0)*J45*J46 です。 J47が負数で然もJ45とJ46の双方が0以外のとき、論理式の結果が0以外なのでTRUEで指定したABS(J47)をJ53セルへ代入します。 S列の入力パターン(10)のときS47が負数で然もS45とS46が0以外の値なので論理式の結果が0以外となりS53セルへS47の絶対値である1000が代入されます。 (S47<0)*S45*S46 → (-1000<0)*5000*4000 → 1* 5000*4000→ 20000000 → TRUE

frau
質問者

お礼

例の表までいただいて感謝します。今後の関数習得のための参考にいたします。 最後までお付き合いただいて助かりました。ありがとうございました!

  • miso_kasu
  • ベストアンサー率60% (6/10)
回答No.5

回答No.3で1つの数式に誤りがありました。 お詫びして、訂正します。 誤:J52=IF((K47=0)*(K45),K47,"") 正:J52=IF((J47=0)*(J45),J47,"")

frau
質問者

お礼

訂正しました。

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

ANo.2です。 > 画像についてはクリックで拡大してご覧になりましたか? > トップ画面ではわかりずらいですが、拡大すると普通に見えます。 なるほど、OKWAVEでは拡大できるのですね。 #以前は横420ピクセル、縦315ピクセルという制限が有りました。 当方、OKWAVEから見ていませんので気づきませんでした。 早くパートナーサイトの方も対応してほしいものです。

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

> J47はJ46からJ21~A45のいずれかの値を減算した答えを示し、J48~J55のいずれかの回答欄に絶対値として表示する。この条件に満たない場合は0と表示する。 これもJ47については誤解の元かと思います。 J47の説明は↓の方が明確で解りやすいです。 > ・「減算の答えを示す」(J47)には以下の数式が入る > =J46-J21-J27-J33-J39-J45 あと、大きな画像は縮小され見難くなります。 セルの横幅を短くするなどしてなるべくコンパクトな画像の方が見やすいです。 また、画像が見難くても文章で説明が有れば理解できる場合が多々あります。 今回の場合ですと、回答パターン1~20がそれぞれどんなパターンなのかの説明があれば文字がつぶれて読めない画像でも理解がしやすくなります。 回答ではなく、質問の仕方へのコメントだけで申し訳ない。

frau
質問者

補足

>> J47の説明は↓の方が明確で解りやすいです。 で了解いたしました。 画像についてはクリックで拡大してご覧になりましたか? トップ画面ではわかりずらいですが、拡大すると普通に見えます。

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

回答ではありませんが…… > ・「差額」(J47)から「合計」(J46)を減算した答えをJ48~J55の回答欄に絶対値として表示する。 前の質問にもこれと似た文章が何回か出てきましたが、どういう意図でこの文章を挙げているのでしょう? この文章のとおりですと、J48~J55に表示するのはJ47-J46の結果の絶対値という事になります。 でも、J48~J55に表示したいのはJ47の絶対値ですよね? 回答する側としてはとても混乱します。

frau
質問者

補足

ご回答ありがとうございます。 質問の >「差額」(J47)から「合計」(J46)を減算した答えをJ48~J55の回答欄に絶対値として表示する。 ではダメでしたか… たとえば入力パターンが(6)で回答パターンが(2)の場合J4には-1000という結果がでます。これをJ49に1000として表示させたいのです。なので >J48~J55に表示したいのはJ47の絶対値 でよいです。 このような書き方ならば大丈夫ですか? J47はJ46からJ21~A45のいずれかの値を減算した答えを示し、J48~J55のいずれかの回答欄に絶対値として表示する。この条件に満たない場合は0と表示する。

関連するQ&A

  • 同セルに対し、2通りの条件をだしたい。

    (1)A5には以下の数式が入る =A4-A1-A2-A3 (2)A4には必ず正数か0が入り負数は入れない (3)A5からA4を減算した結果を関数上では絶対数とする 値が ❹A1が正数、A2が0、A3が0 ❺A1が0、A2が正数、A3が0 の場合、 セルA7に答えを示す。 このように、同セルに対し、2通りの条件の回答をだしたいのです。

  • このような条件と目的の関数式を教えてください。

    A1、A2は双方とも正数または0が入る。 A3は正数のみ。 A3に入力した数値をA2またはA1それぞれから減算し、その結果をA4に示す ・A1~A3はいずれも固定された値ではない。 ・結果が負数ならば絶対数を正数で表示する。 このような条件と目的の関数式を教えてください。 以下入力例です。 (1) A1が10,000または0 (2) A2に10,000または0, (3) A3に5,000 (4) A4にA3からA1またはA2を減算した答えを示す。

  • 以下の条件を満たす関数式を教えてください。

    ------------------------------------------------------------------------------- 条件 (1)A1が正数のとき、A2は0、かつ、A1が0のとき、A2は正数の値が入る。 (2)A4には「A3-A1-A2」の式が入る。 (3)A6、A7、A10、A11にはマイナスの符号が記述されないようにする。 (4)A3かつA4に対し、以下の条件が、A5~A8、またはA9~A12に表記される。 ア)A5またはA9には、A4の結果がゼロの場合に表示される。 イ)A6またはA10には、A3が負数、かつ、A4の結果が正数の場合に表示される。 ウ)A7またはA11には、A3がゼロ、かつ、A4の結果が負数の場合に表示される。 エ)A8またはA12に、A3かつA4の結果が正数の場合に表示される。 -------------------------------------------------------------------------------- たとえば添付ファイル「A1」が「0」のときに「A2」が「5000」という数値が入っている場合、その答えが反映するA6には1000(実際は-1000だが符号を示さないので1000となる)。 同時に逆のパタンが反映するA10は0というように表示させる…ことが目的です。 ためしにA6,A10に対しては以下の式を考えたのですが =IF(OR(A1<0,A2>0),A3-A1-A2,0) …うまくいきませんでした…お力をお貸しください!

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

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

  • エクセル関数の使い方

    エクセルの入力で困っています。IF関数でいいと思うのですが、A×Bの値をCに表示させ、Cが0より大きい(正数)ときはその計算結果をそのままに表示し、Cがマイナス(負数)になるときは「0」と表示させる入力式を教えてください。

  • 【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】計算結果のタイプ別にセルに反映させる

    たとえばセル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に数値が入っているかそうでないかということでも表記されるセルを区別したいのですが関数などでそのようなことはできるのでしょうか?(かつ、マイナスの場合にはマイナスの符号がつかないようにしたいのです)。 当方関数にはまったく無知ですので詳しく教えていただけると助かります。

  • 複数のデータについて正数か負数かを一括して識別したいのですが(ワークシート関数)

    例えばセルA1~A20のデータが全て正数もしくは全て負数ならば B1にA1~A20の合計値を、正数と負数両方混じっているならB1には ゼロを出力させたいのですが、この処理を簡潔に記述する方法は ありますか? データの数が多くなるケースもあり、「IF(A1>0 and A2>0・・・」と 一つずつ記述すると冗長になりすぎてしまいます。 OSはWindows2000、エクセルはExcel2000を使用しています。 ワークシート関数での回答をお願いします。

  • Excelにおけるセルの参照方法について

    少し複雑なセルの参照方法について、分からなくて困っています 例えば、A1~K1 A2~K2 A3~K3     A4~K4  にある値が入力されているとき、 A10に[=A1]と入力した場合は、隣のB10にD1の値を、C10にG1の値を、D10にJ1の値が出力され、 A10に[=A2]と入力した場合は、隣のB10にD2の値を、C10にG2の値を、D10にJ2の値が出力され、 以下[=A3][=A4]の場合も同様に出力されるようにするためにはどうすればよいのでしょうか? 関数の組み合わせなどで解決できるのでしょうか?実際にはもっと膨大なデータを処理しなければならず、現在は手入力で非効率的な作業を行って困っています(^^;)どなたかご教授お願いしますm(__)m

  • 【VBA】条件を満たしたセルを塗り潰し

    VBAで下記のようにしたいのですが、どのようにすれば良いでしょうか?      A 1    100 2    110 3    120 4    130 5    140 6    150 7    160 8    170 9    180 【条件】この場合、A1:A9の範囲内でB1の値を超える値が入力されているセルを黄色で塗りつぶす ※前提として、B1に150と入力されているとします 上記のようなVBAを作成したいと思っています。 この場合、塗りつぶしの対象となるセルはA7,A8,A9となります。 条件付き書式で対応できるのですが、Excel2007で作成したファイルをExcel2003で開くと条件付き書式が反映しませんでしたので、VBAで対応しようと思いました。 宜しくお願いします。

専門家に質問してみよう