• ベストアンサー

このようなエクセルの関数の組み合わせはありますか

エクセルの関数についての質問です。 たとえば、A列とB列にタテに10個ずつのデータ(A1:B10)があって、 (1)A列とB列の同じ行のデータの小さいほうを選んだあと、 (2)選んだ10個のデータを合計したい のですが、そのような関数の組み合わせを作る(一つのセルに一気に表示する)としたら、どのようなものになるのでしょうか。MIN関数と、SUM関数を組み合わせればいいような気がするのですが、うまくいきません。 ご存知の方ならすぐにわかるようなことでしょうが、どうもわかりません。どなたか教えていただけないでしょうか。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

=SUMPRODUCT((A1:A10)*(A1:A10<B1:B10)+(B1:B10)*(A1:A10>B1:B10)) でどうでしょうか。

siiwan
質問者

お礼

ご回答どうもありがとうございます。 ただこの式では、sige1701さんのおっしゃるとおり、横のセルの値が等しいときには出てきた値が違うような気がします。

siiwan
質問者

補足

すみません。単純に考えておりました。 sige1701さんのご指摘どおり、「<」の記号を「<=」で置き換えれば、この方法がベストのような気がします。とてもきれいな式ですね。 どうもありとうございました。

その他の回答 (3)

  • neconama
  • ベストアンサー率26% (146/541)
回答No.4

C列とかに最小を求める計算式を置き、別のセルでC列の合計を計算する、そしてC列を非表示にする。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.3

お遊びで回答します =SUMPRODUCT(A1:B10*((A1:A10>B1:B10)+1=COLUMN(A1:B10))) No2 さんの回答の 大小比較条件部分のどちらかに「=」を 付けないと、同じ値の場合に困りませんか?

siiwan
質問者

お礼

ご回答どうもありがとうございます。 私の質問の出し方が悪かったのですが、実は、扱っているデータの列が隣り合わない場合(たとえばA列とC列)にも適用したいと考えております。この式で、「A1:B10」の部分を、「A1:A10,C1:C10」のように書き換えてみたのですが、「この関数に対して、多すぎる引数が入力されています」という表示がされてしまいます。もし、wisemac21さんのご回答にある「Ctrl + Shift + Enterで確定する」という操作を経由しない方法があれば、それが最もいいような気がします。しかし、それは私のような分際では、わがままということになるのでしょうか。 とにかく、迅速なご回答、どうもありがとうございました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.1

=SUM(IF(A1:A10<B1:B10,A1:A10,B1:B10)) Ctrl + Shift + Enter で確定する

siiwan
質問者

お礼

なんですかこのやり方は!! ものすごい技が存在しますね。びっくりしました。美しいです。 ただ、ちょっと試していて気づいたのですが、データ範囲を改めて指定するときに、「Ctrl + Shift + Enterで確定」というのを忘れないようにしないといけないですね。私は、忘れないようにテキストボックスでメモっておきました。 迅速なご回答どうもありがとうございました。

関連するQ&A