- ベストアンサー
このようなエクセルの関数の組み合わせはありますか
エクセルの関数についての質問です。 たとえば、A列とB列にタテに10個ずつのデータ(A1:B10)があって、 (1)A列とB列の同じ行のデータの小さいほうを選んだあと、 (2)選んだ10個のデータを合計したい のですが、そのような関数の組み合わせを作る(一つのセルに一気に表示する)としたら、どのようなものになるのでしょうか。MIN関数と、SUM関数を組み合わせればいいような気がするのですが、うまくいきません。 ご存知の方ならすぐにわかるようなことでしょうが、どうもわかりません。どなたか教えていただけないでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=SUMPRODUCT((A1:A10)*(A1:A10<B1:B10)+(B1:B10)*(A1:A10>B1:B10)) でどうでしょうか。
その他の回答 (3)
- neconama
- ベストアンサー率26% (146/541)
C列とかに最小を求める計算式を置き、別のセルでC列の合計を計算する、そしてC列を非表示にする。
- sige1701
- ベストアンサー率28% (74/260)
お遊びで回答します =SUMPRODUCT(A1:B10*((A1:A10>B1:B10)+1=COLUMN(A1:B10))) No2 さんの回答の 大小比較条件部分のどちらかに「=」を 付けないと、同じ値の場合に困りませんか?
お礼
ご回答どうもありがとうございます。 私の質問の出し方が悪かったのですが、実は、扱っているデータの列が隣り合わない場合(たとえばA列とC列)にも適用したいと考えております。この式で、「A1:B10」の部分を、「A1:A10,C1:C10」のように書き換えてみたのですが、「この関数に対して、多すぎる引数が入力されています」という表示がされてしまいます。もし、wisemac21さんのご回答にある「Ctrl + Shift + Enterで確定する」という操作を経由しない方法があれば、それが最もいいような気がします。しかし、それは私のような分際では、わがままということになるのでしょうか。 とにかく、迅速なご回答、どうもありがとうございました。
- wisemac21
- ベストアンサー率39% (171/429)
=SUM(IF(A1:A10<B1:B10,A1:A10,B1:B10)) Ctrl + Shift + Enter で確定する
お礼
なんですかこのやり方は!! ものすごい技が存在しますね。びっくりしました。美しいです。 ただ、ちょっと試していて気づいたのですが、データ範囲を改めて指定するときに、「Ctrl + Shift + Enterで確定」というのを忘れないようにしないといけないですね。私は、忘れないようにテキストボックスでメモっておきました。 迅速なご回答どうもありがとうございました。
お礼
ご回答どうもありがとうございます。 ただこの式では、sige1701さんのおっしゃるとおり、横のセルの値が等しいときには出てきた値が違うような気がします。
補足
すみません。単純に考えておりました。 sige1701さんのご指摘どおり、「<」の記号を「<=」で置き換えれば、この方法がベストのような気がします。とてもきれいな式ですね。 どうもありとうございました。