• ベストアンサー

複合式でmin関数を求めるには

こんにちは。 現在、以下のような問題で困っています。 誰かお分かりになる方がいらっしゃれば、お教え願えませんでしょうか? 現状 WindowsXP Microsoft Excel2000 A列 B列 C列 D列 1234 2467 12  7 2356 9864 2   34 2578 983  235 765 2789 876 23 12 というような数字が並んでいまして、私が求めたい数式は、 =(A+B)-(C か D)←CかDは、小さい方を求めたいのです。 この式をうまく作れずに困っています。 誰か、お分かりになる方がいらっしゃれば、教えてください。 お願いいたします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

=A1+B1-min(C1:D1)

ponaki
質問者

お礼

早速の回答、ありがとうございます!! 難しく考えすぎていたみたいですね…。 ありがとうございました!!

その他の回答 (1)

  • hagy5217
  • ベストアンサー率25% (25/97)
回答No.1

普通に =A1+B1-MIN(C1,D1) という感じで大丈夫です。

ponaki
質問者

お礼

早速の回答ありがとうございます。 式にしてみれば、納得の回答でした。 どうも、お手数をおかけしまして、すみません。 ありがとうございました。

関連するQ&A

  • 関数式

    下記表の()内の数字を関数式で表示させる方法はありますでしょうか? city   A  B  C  D  E tokyo 1200 1300 1400 (C)(1300) osaka 2800 2300 2200 (A)(2300) kyoto 3500 4000 3400 (B)(4000) ============================== total 7500 7600 7000 D列 tokyoの行で一番数字の大きい名前(A,B,C)を表示したい。(この場合はCが出てくる) E列 total数字の一番大きい人(この場合はB)の各数字を表示したい。 解りずらい説明で申し訳ないのですが、、、どなたか解る方、方法をご伝授ください。

  • 《エクセル2000》SUMPRODUCT関数、この式のどこがいけないのか…

    こんにちは。 A列が1であり、B列とC列に共に数字が入っている(空白でない)ものをカウントしたいと思い、以下の関数を書きました。 =SUMPRODUCT((A1:A50=1)*(B1:B50<>"")*(C1:C50<>"")) ですがこの式ですと、「B列とC列が共に空白なもの」の個数が返って来てしまいます。 「<>」が怪しい気がするのですが、具体的に何がいけないのでしょうか? また、欲しい数字を出すようにするにはどうすればいいのでしょうか。 よろしくお願いします…

  • Excelでの判断関数式

    以下のC,Dの人数を求める関数式を教えてください。 A列(曜日) "月"~"日"の全角1桁 B列(人数) 数字2桁 C列(平日人数) "月"~"金"の場合、Bの数字を移送入力 D列(土日人数) "土"OR"日"の場合、Bの数字を移送入力 宜しくお願いします

  • EXCEL IF関数に関する質問

    EXCELです。よろしくお願いします。 A列(A1~A300まで) に0~100までの数字が入っています。 B列に80以上100以下ならA、    60以上79以下ならB、    40以上59以下ならならC、    20以上39以下ならD、    0以上19以下ならEを 入れたいのです。 そして C列にB列がAなら5、    B列がBならば4、 B列がCならば3、 B列がDならば2、    B列がEならば1 を入れたいのです。 B1とC1のどのような関数を入れればよいですか。 教えてください。 よろしくお願いします。  

  • excelの関数について

    EXCEL2010と2013を使っています。 例えばA列にAB001、AB002、AB003・・・と並んでいるものを、途中でAB001をAB002、AB002をAB003・・・という風に変更したいのですが、それぞれが一つずつとは限らなく、AB001が2つとか3つとかあったりします。なので、オートフィルが使えません。 今やっている方法が、まずB列でRIGHT関数で右側4つの数字を抜き出し、そのあとC列で1をそれぞれに=A1+1という式ですべて1ずつ足して、そのあとD列で ="AB"&002のようにABを付け加える数式で計算したあとA列にコピーするというやり方しかわかりません。それらをいっぺんにする方法は何かないのでしょうか?

  • EXCELの式を宜しくお願いします。

    以下の式をお教え下さいませ。   A   B   C       D 1 100 10 100←入力   10   2 200 30 20 3 300 50 70 4 100 20 ↑ 5 100 70        結果数値 VLOOKUPとIF関数ぐらいで、何とかなりそうですが、なりません。 C列に目的の数字を入力し、それに対応するB列の数字(この場合10,20,70)をD列に出力したいのですが・・主旨が分かられますでしょうか?宜しくお願いします。

  • エクセル抜き出し合計関数式(SUNIF??)

     初めまして、よろしくお願いします。  C1に20、D1に32と入力すると、E1にA列の20から32の間の数字のB列の値の計(表ではA1の20とA3の28が当てはまるのでB1の2と、B3の1の計をE1に3と表示)を導き出す関数式を教えていただきたく、お願いします。     A  B  C  D  E   1  20  2 20 32  3 2  48  8 3  28  1 4  34  2 5  12  7 ・    ・  ・  ・    ・  ・  

  • EXCELで予測値を導き出す方法(複合バージョン)

    複雑になってしまいますが、みなさま、よろしくお願いします。 A列1~9行 50 70 30 60 10 90 50 60 20 A列10行 75もしくは76 以上のような数値とします。 (列はアルファベット、行は数字) B10 [式] =AVERAGE(A1:A10) C10 [式] =STDEVP(A1:A10) D10 =B10+C10 と式を入れ、 A列10行に「75」を入れますと、D10に表示される数字は75.38です。 A列10行に「76」を入れますと、D10に表示される数字は75.58です。 つまり、76で、はじめてD10の数字を超えます。 現在のやり方ですと、少しずつ数字を増減させて数字を導き出しているのですが、 このはじめて超える数字、この場合だと76を一発で出す関数式はどのようにすればいいのでしょうか? ○参考までに 昨日、同じような質問をしました。 http://oshiete1.goo.ne.jp/qa3270906.html 前回は、A列10行が空欄で数値が出るのですが、 今回は、A列10行に仮想的に数値を入れ、B10を出しておかないとD10が導き出せないことに気づきました。 B11 =ROUNDUP(AVERAGE(A1:A9),0) C11 =ROUNDUP(STDEVP(A1:A9),0) D11 =B11+C11 という感じに作ってみたのですが、B11の時点で49(B10では51.6)となり、最終のD列が一致しませんでした。

  • 複数条件のMIN関数

    いつもお世話になっております。 前回、誤って二重投稿してしまった為、サイト側で 削除されてしまったようなので、再投稿致します。 もう内容を見ていた方、何度もスミマセン。 A列 B列 1  06/08/01  3  06/07/20 1  06/07/25 2  06/07/28 2  06/07/20 ・  ・ ・  ・ こんな感じのデータがあります。 A列、B列ともに固定値ではないため、空の行が発生します。 そこで、A列が「1」だった場合のB列の最小値とか A列が「2もしくは3」だった場合のB列の最小値の日付データ をC列に求めたいと思ってます。 数式は、教えて頂いて =MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) =MIN(INDEX(SUBSTITUTE((($A$1:$A$10>1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) で記述しているのですが、A列の値がない場合数式の答えに 「9999999」や「10000000」が入ってきます。 (O値が入ったときに置き換えをしている為) それを表示させないために、「=IF(C1=9999999,"",」を 数式の頭に入れているのですが、何行にも渡って上記の数式を 書いているため、再計算され続けてパフォーマンスがかなり悪いです。 もっと効率よく、計算できる方法があれば教えて下さい。 お願い致します。

  • 複数条件のMIN関数

    いつもお世話になっております。 以前にも質問した内容なのですが、当てはまる回答が なかったため、再掲させていただきます。 A列 B列 1  06/06/06 3  06/08/01 2  06/06/15 3  06/07/25 1  06/07/20 1  06/06/06 ・   ・ ・   ・ のようなデータがあります。 そこで、C列に 1) A列が「1」且つ、B列が最小値のもの 2) A列が「2,3」且つ、B列が最小値のもの のデータを取得したいです。 ただ、A、B列ともに固定値ではないため、Null値が 発生します。 そこで、教えて頂いた数式が MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$B$1>0))*1,0,10^7)+(B1:B10)-1,))) で、Min関数がNull値を感知することと、シリアル値が0の場合、最小値がうまく取れないと いう現象を考慮してしてあります。 そのため、Null値の場合の答えが「9999999」になりますが これを表示させたくないので「=IF(C1=9999999,\"\",」 としてますが、この数式を何行にも渡り書いている為 パフォーマンスがかなり悪いです。 なにかいい方法、もしくはいい数式はないですか??教えて下さい。