• 締切済み

ある条件のもとで計算元としないための関数式

セルA68に =SUM(A24:A27,A36:A39,ABS(A52)) という数式が入ってます。 これを以下の条件に編集することはできますか? A24~A27、A36~A39に入る数値がすべて0の場合にのみ、A52の数値を計算の対象としない(つまりA52は0として扱う)。

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

みんなの回答

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

--------ここから-------- =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)*L52) に変えましたが、まったく違った回答がでました。 --------ここまで-------- L23、L24、L25、L26、L27、L35、L36、L37、L38、L39、L52の値を提示してください。 また、まったく違った回答の値も提示してください。 尚、あなたが正しいとする値も提示して頂ければ何処に食い違いがあるか分かると思います。 --------ここから-------- >L52(未入力)の0を乗じてください。 ということは何だったのでしょうか? --------ここまで-------- 回答No.5の補足では次の数式を提示していますのでその中でL52は未入力であると考えました。 =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)) 回答No.4では次の数式を提示させて頂きました。 =SUM(A24:A27,A36:A39,(SUM(A24:A27,A36:A39)<>0)*ABS(A52)) 回答No.4の数式ではA列での計算例ですが回答No.5の補足ではL列での計算に置き換わっています。 回答→補足→回答→補足→回答のように繰り返すときに計算対象をA列からL列へ移り、更に、計算対象をA列へ戻すというQ&Aに混乱があるのかも知れません。

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

>(2)A54には次の設定での回答を示します。 A68ではなかったのですか? または別の列(L)にA列の相当する行番号に提示の数値を入力してL68セルへ目的の数式をコピペするのではないですか? A52とL52の関連について説明がありませんので提示の数式で*0の発想が理解できません。 >ですが >L52(未入力)の0を乗じてください。 >ということですので以下の式に直しました。 それが余分な修正です。 説明に不備が有ったでしょうか? (1)で試されたA68セルをL68へコピペすれば良いだけです。 A68=SUM(A24:A27,A36:A39,(SUM(A24:A27,A36:A39)<>0)*ABS(A52))      ↓ コピペで次の数式になります。 L68=SUM(L24:L27,L36:L39,(SUM(L24:L27,L36:L39)<>0)*ABS(L52)) ABS(L52)はL52が未入力のとき0になりますので改めて*0を追記する必要はありませんし、A列用の数式へL列の特定セル(L52)を参照する意味が分かりません。

frau
質問者

お礼

お返事が遅れて申し訳ありません。 質問のセルA68は回答を示すセルで間違いありませんが、試用シートでのセルのことでした。ですが他の参照先はすべてあってます。改めて、実際の回答先は以下となります。 補足の (1)については実際にはA73に (2)については実際にはA74に それぞれ回答を示します。 A74に回答を示すための(1)の式は =SUM(A24:A27,A36:A39,(SUM(A24:A27,A36:A39)<>0)*ABS(A52)) (2)の式は =SUM(A23:A27,A35:A39,(SUM(A23:A27,A35:A39)<>0)*A52*0) でよいのかと前回の補足で質問しましたが、 >ABS(L52)はL52が未入力のとき0になりますので改めて*0を追記する必要はありません という回答をここでもらいましたので(2)のことだと思い、先の補足で考えた =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)*L52*0) を =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)*L52) に変えましたが、まったく違った回答がでました。 >L52(未入力)の0を乗じてください。 ということは何だったのでしょうか?

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

回答No.6で補足の見逃しがありましたので訂正します。 >補足したエラーというのは(1円プラスされている)L52は設定していない場合についてです。 =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0))        ↓ =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)*L52) L52が未入力(数式の未設定も含む)の場合であっても*L52は必要です。 前回の回答で説明しましたが論理式の結果がTRUEのとき1になるためL52(未入力)の0を乗じてください。 Excelでは未入力セルの値は文字列として評価すると""(文字数0の文字列)になりますが数値として評価すると0になります。 従って、余分な修正をしたためにゴミが残ったものと思います。

frau
質問者

補足

補足説明を具体的にしていなくてすみませんでした。 試してみたところ正常に計算できましたが、一応整理すると以下となります。最後の式で大丈夫だったでしょうか? (1)A52には次の設定での回答を示します。 A23➡19,000円 A24➡1,600円 A25➡0円 A26➡1,000円 A27➡0円 A35➡0円 A36➡0円 A37➡0円 A38➡0円 A39➡0円 A52➡4,000円 (2)A54には次の設定での回答を示します。 A23➡19,000円 A24➡1,600円 A25➡0円 A26➡1,000円 A27➡0円 A35➡0円 A36➡0円 A37➡0円 A38➡0円 A39➡0円 (1)はご回答のとおりの =SUM(A24:A27,A36:A39,(SUM(A24:A27,A36:A39)<>0)*ABS(A52)) にて、正常に計算されました。 (2)はA52に数値入力なしですので、この部分を抜いたわけですがそしたら1がプラスされてしまったわけですが、TRUEのときに1となるということで了解しました。 ですが >L52(未入力)の0を乗じてください。 ということですので以下の式に直しました。 =SUM(A23:A27,A35:A39,(SUM(A23:A27,A35:A39)<>0)*A52*0)

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

>という設定です。つまり*ABS(A52)のみ抜きました。 何故*ABA(A52)を抜いたのですか? 質問の内容と異なることをしているため思惑通りにならないのです。 =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0))       ↓ =SUM({19000;1600;0;1000;0},{0;0;0;0;0},(21600<>0))       ↓ =SUM(21600,0,1) → 21601 Excelの計算では 21600<>0 → TRUE → 1 という仕様になっています。 >A24~A27、A36~A39に入る数値がすべて0の場合にのみ、A52の数値を計算の対象としない(つまりA52は0として扱う)。 「A24~A27、A36~A39に入る数値の何れかが0ではない場合」にA52を加算するのですよね? 今回提示の模擬データではA52の値が提示されていませんのであなたが必要とする数式を組み立てられません。 次のような数式を期待していたのでしょうか? =IF(SUM(A24:A27,A36:A39)=0,0,SUM(A24:A27,A36:A39,A52) 今回の補足でA52を省いているのでしたら質問で提示した数式が無意味になりますので質問の内容を再確認してください。

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

>元の値は間違ってません。どれも同じ結果になってしまいます。 >原因と対処の方法をご存知でしたら教えてください。 数式のみの提示なので原因を調査できません。 A24~A27、A36~A39、A52の模擬データを提示して頂ければ原因が分かります。 SUM関数はカッコ内に列記された値を合計しますので、あなたの思惑と異なる「1が加算される」要因が何処かにあると思います。

frau
質問者

補足

補足したエラーというのは(1円プラスされている)L52は設定していない場合についてです。 =SUM(L23:L27,L35:L39,(SUM(L23:L27,L35:L39)<>0)) という設定です。つまり*ABS(A52)のみ抜きました。 事例なのですが、 A23➡19,000円 A24➡1,600円 A25➡0円 A26➡1,000円 A27➡0円 A35~A39➡0円 となります。つまりA28が合計21,600円となっているので元の値は正常なのですが、回答をだすA74には21,600円とならずに21,601円となっているのです。 ちなみに書式設定は#,##0"円"です。違うセルで試しても1円プラスされてしまいます。他に何もいじってません。どうしてでしょう…

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

幾つかの方法があります。 その1つとして下記のように修正してみると良いでしょう。 =SUM(A24:A27,A36:A39,ABS(A52))       ↓ =SUM(A24:A27,A36:A39,(SUM(A24:A27,A36:A39)<>0)*ABS(A52))

frau
質問者

補足

いつもご回答ありがとうございます。 この式で試してみました。正常にできました。 しかしなぜかどれも計算結果が1プラスされてしまいます。 たとえば1000円という結果なら1001円というふうにです。 元の値は間違ってません。どれも同じ結果になってしまいます。 原因と対処の方法をご存知でしたら教えてください。

回答No.3

【補足】論理式の計算について 質問者にとって、論理式を使った計算は馴染みがないかもしれないのでチョイと補足しておきます。添付図を一瞥されて下さい。

  • mdmp2
  • ベストアンサー率55% (438/787)
回答No.2

=SUM(A24:A27,A36:A39)+IF(COUNTIF(A24:A27,"<>0")+COUNTIF(A36:A39,"<>0")=0,0,ABS(A52)) ただし、A24:A27,A36:A39 に数値ではなく、文字が入っている場合もABS(A52)をカウントします。

回答No.1

【お断り】Excelは一度も触ったことがないド素人の挑戦! 当然に見当違いだあったり、間違いだったり・・・。で、質問者もそのつもりで回答を眺めて下さい。 =SUM(A3:C3,D3:E3,ABS(F3))  ↓ =SUM(A3:C3,D3:E3,ABS(F3)*OR(A3:C3,D3:E3)) AND()があればOR()もあるだろう。0+0=0、1+0=1、1+1=1だから、OR()でいけるだろう。なんて考えて試してみたが・・・。初めての挑戦なので自信はない。

関連するQ&A

  • エクセルの近似値の関数で教えて下さい。

    B30からB38のセルを選択し 条件付き書式で以下のような数式を入れています。 =B30=LOOKUP(1,0/(ABS($B$30:$B$38-$A$1)=MIN(INDEX(ABS($B$30:$B$38-$A$1),))),$B$30:$B$38) セルA1に数値を入力し、その数値の近似値をB30~B38の中で探し、当てはまるセルを赤く塗り潰すようにしてあります。 この時、0の近似値を探す際に、B30~B38の中で空白があるとそこを選ばれてしまい困っています。空白セルは無視して、数値の入ってる所だけを参照したい場合はどうすればいいでしょうか?

  • エクセルの簡単な計算式で・・・・

    初心者です。エクセルの表で、計算式・・縦合計の数式を 例=SUM(A5:A35)と入れており、その上部のセルに毎月異なる数値を打ち込んで自動計算していたのですが、先月から数値を打ち込んでも合計数値が変わらなくなってしまいました。(前月の合計数値のままです。) 合計数式の入ったセルをダブルクリックすれば正しい合計数値が現れるのですが、膨大な数の数式が入っている為、非常に時間がかかります。なぜこのようなことになったのかがまったく解りません。 どなたか以前の様に自動計算される方法を教えてください。 よろしくお願いいたします。

  • Excel関数の使い方、条件と選択

    エクセルを用いて以下のようなことをしたいです。 まず条件として1は1000、2は2000、3は3000、4は4000。 つぎにAさん、Bさん、Cさんなどに条件、1、3、4などを割り振りその結果、1000、3000、4000などの数値を出したいです。 A列 B列 1 1000 2 2000 3 3000 4 4000      ↓この1000、3000、4000などを数式で表したい。 Aさん 1 1000 Bさん 3 3000 Cさん 4 4000 Aさん・・・・や1,3・・・などは自分で手入力します。その右セルの1000・・・などを数式で表して結果を表示させたいです。 Choose、Indrect、If、など調べてみたのですがどの関数を使ったらよいかわかりません。 もっと具体的に言うと、Aさん、Bさんなどそれぞれに数字の条件を割り振り、その時のお金の金額を計算したいです。 以上、よろしくお願いいたします。

  • Excelの計算式または関数について

    Excel2007を使用しています。  次のようなことをやりたいのですが、計算式または関数、または関数と計算式の組み合わせを教えていただきたくお願いいたします。 問題  例えばA列にA1からA10まで何らかの数値は入っていて、次にA11に何らかの数値を入力した場合、A11に入力した数値がA1からA10までのいずれかのセル入力されている数値と同じ場合にはB11のセルに「重複」と表示する。以下A12セルへの入力された数値はA1からA11までのいずれかのセルに入力されている数値と同じ場合にはB12のセルに「重複」と表示する。以下セルA13以下へ入力する数値についてもすでに入力済みのセルの数値と同様な比較を行って対応のB列のセルに「重複」と表示をする処理を行う。  以上のような処理を行いたいのです。よろしくお願いいたします。

  • 関数式で計算された答えの前に、文字を入れたい

    EXCEL2002です。 A10のセルに、SUM関数を使ってA1~A9までの数値の合計を計算したのですが、合計の前に、「計」という文字を入れて「計○○」と入れたいと思っています。 どうやって入れるのでしょうか?式の書き方を教えてください。

  • エクセルのデータベース関数の条件入力について

    いろいろと調べてみましたが、なかなか分からないので質問させていただきます。 たとえば以下のようなデータベースを作成したとします。   A   B 1 年数 2 数式 3  4 年数  金額 5 10 100 6 15 200 7 20 300 8 30 400 A4:B8をデータベースとします。 A2の数式は、他のセルを参照して、計算されるものとします。(たとえばE1+E2など) とした場合に、年数が、数式で得られた値よりも大きい場合の金額の合計を計算する場合に、 条件の入力方法が分かりません。 下記式の○○の部分です。 =DSUM(A4:B8,B4,○○) また、できれば、条件入力のセルを使わずに、直接DSUMの数式内に組み込んでしまう 事は出来ますか? =DSUM(A4:B8,B4,>A2) イメージとしては、左記のようにA2より大きいもの といった感じです。 その他に方法があれば、どんな方法でもかまいません。 教えて頂けると助かります。 よろしくお願いします。

  • 数式の結果である数値のみカウント・合計

    =COUNTIF(A3:A9,">=0")で「0以上の、数式の結果である数値」のセル数のカウントと、 「数式の結果である数値」のセルのみ合計計算したいのですが、 「直接入力した数値」はカウント(計算)せずに、 「数式の結果である数値」のみカウント(計算)することはできますか? 例えば、A3~A9セルに表示されている数値が A3:5 A4:3 A5:8(=SUM(A3:A4)) A6:2 A7:空白 A8:4 A9:-2(=A6-A8) の場合、=COUNTIF(A3:A9,">=0")で「5」となりますが、 数式の結果の数値で>=0である個数の「1」(A5が該当)となるようにカウントするにはどうすればよいでしょう? また、0以上の条件部分が「0未満」、「条件なし」の場合も可能でしょうか? そして、=SUM(A3:A9)だと「20」となりますが、 「数式の結果である数値」のみ合計計算して「6」(A5とA9の合計)を結果として表示させることはできますか? できれば数式での解決が第一希望です。 以前、全く逆の、「数式の結果である数値を除いた、直接入力した数値のみカウント」する方法を質問し、 おかげさまで、数式をSUBTOTAL関数で小計等を避けて集計することで無事解決したのですが、 今度は小計等の数式の結果の数値のみをカウントするという、逆のパターンが必要になってしまいました。

  • Excelの関数式について

    添付画像のような数式をExcelの関数式で表すとどの様になるのでしょうか? 各対象セルを以下の場合としたとき t1:A1 t2:A2 t3:A3 よろしくお願いします。

  • エクセルのSUM関数の計算結果

    例えば セルA1、B1 セルC1、D1 セルE1、F1 セルG1、H1 が結合されている表があって =SUM(A1:H1) の計算結果と =SUM(A1,C1,E1,G1) の計算結果が 異なることはあるのでしょうか? 実際は各セルにもそれぞれ乗算・除算等の数式が入っているものですが、結果が100違いました。 正しいのは、電卓をたたいた結果 =SUM(A1,C1,E1,G1) の方でした。 原因がどうしてもわかりませんので、どなたか、一般的な話でいいので、教えてください。

  • エクセルの計算式

    宜しくお願いします。 エクセルを使った計算式で0以下は繰り上げした数値になるようにしたいのですが。 仮にA1(セル)-A2(セル)=A3(セル)と計算式を作ったときにA1に100、A2に50の場合はA3は「50」 またA1に100、A2に150の場合はA3は「0」と0(ゼロ)以下はすべて繰り上げした数値にしてエクセルを使った単純な引算式を設定したいのですが・・・ どうぞ宜しくお願い致します。

専門家に質問してみよう