• ベストアンサー

Excelセル値入力

セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。C列の数式はD列に表示しています。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。B4に入力する数式をどうかよろしくお願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答No.2です。  もう一点確認し忘れていた事があるのですが、A3:B5の範囲やA7:B9の範囲に入力される数値は、C12セル(割増2)に入力される数値と同様に、必ず正の数値か0に限られるのでしょうか?  もし、上記の条件通りである場合には、B4セルに入力する関数を次の様なものにされると良いと思います。 =IF(COUNT($F$1,$A4)=2,(($F$1-SUM($C$3,$C$5,$C$10,C13)-SUM($C$13)*0.08-NOT(ISNUMBER($C$13))*SUM($C$3,$C$5,$C$10)*0.05*1.12-(MAX($A4,$C$3,$C$5,$C$10,$C$13)>0)*SUM($C$3,$C$7:$C$8)*0.25-SUM($C$5,$C$9)*0.16))/(1+NOT(ISNUMBER($C$13))*(MAX($A4,$C$3,$C$5,$C$10)>0)*0.05*1.12+(MAX($A4,$C$3,$C$5,$C$10,$C$13)>0)*0.25)/$A4,"")  後、余談になりますが、計算を行う上で必要な項目が未入力となっているセルに関しては、0を表示するのではなく、計算を行っていない事を示すために何も表示しない様にするために、各セルの関数を次の様なものとされては如何でしょうか? (尚、小計や合計、総合計等を求める際には、A3:B5の範囲とA7:B9の範囲の項目の全てに入力しておかなければ計算結果を出してはいけないのか、それとも未入力の箇所が一部のみに限られている場合には計算結果を出した方が良いのかが、判りませんでしたので、取り敢えず、小計や合計、総合計に関しては、未入力の箇所が一部のみに限られている場合には計算結果を出す様にしております) 【C3セルの関数】 =IF(COUNT($A3,$B3)=2,$A3*$B3,"") 【C4セルの関数】 =IF(COUNT($A4,$B4)=2,$A4*$B4,"") 【C5セルの関数】 =IF(COUNT($A5,$B5)=2,$A5*$B5,"") 【C6セルの関数】 =IF(COUNT(C3:C5),SUM(C3:C5),"") 【C7セルの関数】 =IF(COUNT($A7,$B7)=2,$A7*$B7,"") 【C8セルの関数】 =IF(COUNT($A8,$B8)=2,$A8*$B8,"") 【C9セルの関数】 =IF(COUNT($A9,$B9)=2,$A9*$B9,"") 【C10セルの関数】 =IF(COUNT(C7:C9),SUM(C7:C9),"") 【C11セルの関数】 =IF(COUNT(C$6,C$10),SUM(C$6,C$10),"") 【割増1を求める関数】 =IF(OR(ISNUMBER($C$13),SUM($C$11)=0),"",$C$11*0.05)  それから、質問者様の添付画像に写っている割増Aや割増Bを求める関数には、必要のない括弧が多数有るなど、無駄な部分が多々ありますので、次の様にされては如何でしょうか? 【割増Aを求める関数】 =IF(OR(ISNUMBER($C$13),SUM($C$11)=0),"",SUM($C$11)*(0.25+0.05*0.12)+SUM($C$5,$C$9)*(0.16-0.25)) 【割増Bを求める関数】 =IF(ISNUMBER($C$13),SUM($C$11)*0.25+SUM($C$5,$C$9)*(0.16-0.25)+$C$13*0.08,"")  処で、この割増Aや割増Bの項目は、必ず割増1とは別個に表示しなければならない様なデータなのでしょうか?  もし、単に質問者様が別個に分けずに計算させる方法を思いつかなかったために、3つに分けて表示させる様にしておられるだけであるのでしたら、次の様な関数にする事で、割増1、割増A、割増Bの3種類の割り増しの合計を、1つのセルに表示させる事が出来ますから、割増Aと割増Bを表示する欄が不要になります。 =IF(OR(SUM($C$11),ISNUMBER($C$13)),IF(ISNUMBER($C$13),$C$13*0.08,$C$11*0.05*1.12)+SUM($C$11)*0.25+SUM($C$5,$C$9)*(0.16-0.25),"")  因みに、下の添付画像の例では、C12セルの「割増1(改)」の所に表示されている値がC11の5%ではなくなっておりますが、これは上記の割増1(旧)、割増A、割増Bの3種類の割り増しの合計を求める関数を入力いるためですから、その下に写っている割増1(旧)、割増A(旧)、割増B(旧)の値と比較してみて下さい。

kuma0220
質問者

お礼

大変ありがとうございます。見積書の自動計算で下行にまだ項目が続くのですが非常に勉強になり回答を応用して仕上げようと思っています。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 確認したい事があります。  C12セルに入力されている「割増1」を求めるための関数 =IF(C13>0,0,C11*0.05) では、C12セル(割増2)に0よりも大きな値(文字列も0よりも大きな値に含まれます)が入力された場合には0を表示し、C12セルに負の数や0が入力された場合や、C12セルが空欄である場合には、C11*0.05の計算結果を表示させる様な関数となっています。  そうしますと、C12セル(割増2)に入力された値がマイナスであった場合には、C11*0.05の計算結果を表示しなければなりません。  同様に、C12セル(割増2)に入力された値がマイナスであった場合には、C12セルに値が入力されているにもかかわらず、C15セル(割増B)の値は0になってしまいますし、C14セル(割増A)の値は0以外の値が表示されてしまう事になりますが、それで宜しいのでしょうか?  それとも、C12セル(割増2)にマイナスの値が入力された場合においても、C12セル(割増1)やC14セル(割増A)の値を0とし、C15セル(割増B)には0以外の値が表示される様にした方が良いのでしょうか?  もし、C12セル(割増2)に入力された値がマイナスであった場合には、C12セル(割増1)やC14セル(割増A)の値が0とはならず、C15セル(割増B)の値は0になるという事ですと、計算がややこしくなってしまいますので、上記の点に関してどちらが宜しいのかを御教え願います。

kuma0220
質問者

お礼

ご指摘ありがとうございます。 補足にて説明しますのでご回答のほどよろしくお願いします。

kuma0220
質問者

補足

言葉足らずですみません。C13(割増2)は0.1以上の数値を直接入力します。よって入力すればC12(割増1)とC14(割増A)が0となりC15(割増B)に計算式により数値が入力されます。

noname#191575
noname#191575
回答No.1

前回答No.1です。 まずC12の不等式の向きが逆ですね。 それに、C14の計算式を計算しますと「4.16」になります。 1.本当に入力している式は何なのか? 2.F1の数字「111」が何なのか? 3.割増の部分の計算の意味は何なのか? これらをわかるように、言葉で説明されないと意味不明です。 例えばC12の式の(C6-C5)*0.25を取ってみても 1.なぜC6からC5を引く(逆に言うとC3とC4だけを足す)のか? 2.0.25という数字は何なのか? がわからない為、 1.C6からC3を引かないとおかしいのにC5を引いているよ 2.0.25をかけるのでは無く、0.35をかけるのだよ みたいに訂正・説明が出来ません。 計算の根拠をお願いします。

kuma0220
質問者

お礼

ありがとうございます。

関連するQ&A

  • Excelセル関数入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い方法はないでしょうかよろしくお願いします。

  • Excelセル数式入力

    添付の見積書のうちセルE2の合計がH2の数値と同じもしくは近似値:±10,000になるようにセルD5とD9に数式を入力したいのですが。E列の数式をF列に表示しています。条件がありましてF1の値は都度手入力で変更されます、また見積書の諸経費はI2が空白であれば数値が入りI2に数字1を手入力すれば数値が入らず加算されないようになります。尚、D5+D9を100%とした場合セルD5はJ2の割合、D9は(100%-J2%)になるようにしたいのですが数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。D5,D9に入力する数式をどうかよろしくお願いします。

  • Excel数式入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い解決策はあるでしょうかよろしくお願いします。

  • Excel関数について

    セルD6の合計がF6の数値と同じになるようにセルB3に数式を入力したいのですが、7行目が数式となります。尚、F6の値は都度手入力で変更されます。循環機能も試みましたが他の数式も含め影響を及ぼしました。B3に入力する関数もしくは何か良い解決策はあるでしょうかよろしくお願いします。

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上

  • エクセルで、入力のないセルを無視した計算

    おせわになります。      A  B  C   1  3     5   2  4     3   3  2     1 SUM 9  0  9 → 平均 6 上のような、シートがあり、合計、平均が、に数式が設定されており、A,B,C列に数値を入力すると自動で計算されますが、B列に数値を入れない場合があり、このとき、合計に0を返すため、平均値が間違った値になります。これを回避する方法を教えてください。 基本的には、合計の数式をなんとかする事になると思うのですが。。。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • EXCELで入力された式の値を求めて自動計算

    A B C D E 1|データNO |数値1| 数値2| 数値3| 2| 1| 0.3 | 0.2 | 0.5 | 3| 2| 0.3 | 0.2 | 0.5 | 4| 3| 0.3 | 0.2 | 0.5 | -------------------------------------------- 10| 2/1| 数式1| 数式2 | 数式3 | 11| 3/2| 数式4| 数式5 | 数式6 | 12| 【求めたい値】 数式1には=C3/C2、数式2には=D3/D2、数式3には=E3/E2 数式4には=C4/C3、数式2には=D4/D3、数式3には=E4/E3 B列の2/1というのをそのまま式にしたいです。 2/1、3/2などは規則性はありません。その都度変わります。 C列の式ではC列の値を、D列の式ではD列の値を用います。 関数で=MATCH(LEFT(D34,SEARCH("/",D34,1)-1),D1:D23,0))と入れ、C3の値を求めようと思いましたが この時点でエラーになりました。=MATCH(2,D1:D23,0)だと大丈夫なのですが・・・。 関数でやるととても式が長くなりそうなので、VBAの方が良いかとも思っています。 どのようにコード、もしくは式を書けば希望の値が得られるでしょうか? VBAの場合は2/1などの数値を入れた時点で自動計算できれば嬉しいです。 よろしくお願いします。

  • エクセルで、あるセルに入力されたらこのセルを参照する…

    B1セルに値が入力されたら、A1セルがC1セル(データ入力済)の値を参照する、 ような数式を教えてください. またこのような数式がたくさんあるサイトでオススメを教えてください.