• ベストアンサー

エクセルの関数内にあるマイナス(-)マークの意味について教えてください

エクセルの関数内にあるマイナス(-)マークの意味について教えてください。 既に作成されたエクセル表を修正する必要があります。 下のような式が入っているセルがあるのですが、このマイナスマークの意味がわからず困っています。 作成者には連絡が取れない状態です。 =SUMPRODUCT(--($D$52:$D$62="○○"),--($I$52:$I$62="△△")) 宜しくお願いします。

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

  • ベストアンサー
回答No.1

($D$52:$D$62="○○")は論理式なので、D列が○○だったらTRUEで、 そうでなかったらFALSEが返ります。論理値であるTRUEやFALSEを四 則演算にぶち込むと、TRUEは1でFALSEは0として扱うことになってい ます。さらに、数式の前の-は符号の反転で、-1を掛けることと同義 です。そのマイナスが2個ついてるってことはマイナスのマイナスで すから符号が元に戻ることになり、要は1をかけてるのと同じです。 つまり、--($D$52:$D$62="○○")はD列が○○だったら1で、そうで なかったら0ということですね。わたしなら($D$52:$D$62="○○")*1 と書くところです。 式全体では、D列が○○かつI列が△△な行をカウントしろ、と書い てあります。

KEJ
質問者

お礼

大変わかりやすいお答えをありがとうございました。 数式の理解のみならず、言葉でわかりやすく説明できるお力に感激しました。 助かりました。 ありがとうございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

($D$52:$D$62="○○")は、配列内に○○の等しいセルにはTRUE、等しくないセルはFALSEという論理値となるだけで実数ではありません。 この論理値を実数にする為、四則演算でマイナス(-1)乗算を利用していると思われますが、2連(-1×-1)にしているのはその人の趣味かも知れません。 因みに、マイナス一つでも同様の結果が得られますし、($D$52:$D$62="○○")*1でも同じです。 <参考> 仮にD52,53が○○ならば(1,1,0,・・・0)、I52,53が△△ならば(1,1,0,・・・0)、 SUMPRODUCT関数は配列同士を積(1,1,0・・・0)、これを合計するので「2」が戻される。 つまり、D列が○○で且つ、I列が△△である個数を計数している事になります。 一例ですが、=SUMPRODUCT(($D$52:$D$62="○○")*($I$52:$I$62="△△"))で同様です。

KEJ
質問者

お礼

ありがとうございました。 先の方と同様にわかりやすく、ご丁寧なお答えを下さり感謝しています。 ベストアンサーは先に回答くださった方を選びましたが、同じくらい感謝しています。

関連するQ&A