• ベストアンサー

IF関数 VALUE エラーが出ます

教えてください どうしても上手くいきません。 式が入ってるのが 仕入れ率G11  =IF(E9="","",+F9/E9) 販売率H11 =IF(F11="","",+G11+5%) 販売額I11 =IF(E11="","",ROUNDUP(E11*H11,0)) 今回エラーになる 累計残高K11 =IF(J12="",K11+I12-J12,K11-J12) なんでエラーになるのでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

K6セルに =IF(AND(I6="",J6=""),"",SUM($I$6:I6)-SUM($J$6:J6)) K6をコピーして下向けに全部貼り付けておく K列が,あなたが質問しているあなたの式で#VALUEが出ている列です。 6行目が,先頭の1000円が記入されている行です。 まずここまで,今度は間違えずにやってみてください。 >頂いた数式を入れてみましたがエラーがでました。 >やはり数字が出ているセルと「""」が出ているセルを足したり引いたりしようとしたからだと思います。 回答した式とは違う,間違った式を入れています。 また回答の式は「””」のセルを足したり引いたりしていません。その点でも,あなたは何か回答とは全然違うことをしているようです。 あなたは何を教わったのか,また何の情報提供が足りていないから何を補足してくださいとお願いされているのかも,理解されていない様子です。 これ以上二度手間三度手間四度手間を避けるため,問題をきちんと解決したいのでしたら, ○正確にどこ番地のセルに ○教わったのを見て自分でエクセルにどんな内容で式を書いたら ○どんな計算結果が現れて意図と違うのか もっと丁寧に実際に起こっている事実を補足に書いてください。 また先にも書いたように,あなたの添付した絵は小さくてどこ番地に何が入っているのか見えません。 ○表の先頭の1000円が一体どこ番地のセルなのか も教えてください。

kahulahu
質問者

お礼

お手数をおかけしてすみません。 今回の説明で意味が理解できて 計算も望んだようになりました。   本当に助かりました。ありがとうございました 関数を初めたばかりでよくわからず使ってたので、今回はすごく勉強になりました  又、困ったら相談します ありがとうございました。

その他の回答 (4)

  • kaya_taku
  • ベストアンサー率37% (51/135)
回答No.4

NO.1の方が表記されているように合計関数は=セル+セル-セル(エラー原因)はあまり使用しない方が良いかと思われます。=sum(セル:セル)か=sum(セル,セル,セル)を使用しないと空白行以外は数字以外のデータが入力されていて該当セルの計算結果が数式でないとエラー表示されますので。 補足:Σボタンはさらにひどく空白行や他データがあるとそこまでしか範囲指定しません。

kahulahu
質問者

お礼

わかりやすく説明ありがとうございます  その方法で式をくんでみます

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>よろしくお願いします 回答した数式を,まだ試していないのでしょうか? まだなら,やってください。回答の式はあなたが欲しかった結果を計算しています。 補足してくださった「数式でやりたかったこと」は,全て最初のご相談の数式を読んで理解できています。 見えなかったのは,表名何列何行から始まっていてどこ番地のセルに何を入れているのかですが,それもあなたが回答の式を正しく直せてご相談を解決できていれば,別に補足していただく必要はありません。

kahulahu
質問者

補足

頂いた数式を入れてみましたがエラーがでました。 やはり数字が出ているセルと「""」が出ているセルを足したり引いたりしようとしたからだと思います。     なにか、いい方法があれば・・・と思ったのですが ありがとうございました

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

K11+I12-J12,K11-J12でしているセルのどれかに、数値でないセルがあるのではないですか? 空白は関数式の加算では、0の扱いのはずなので演算は可能とおもう。 目に見えないが、1スペ-スは不可(Value!が出た)。文字列は不可。 ーー 式が入ってるのが 仕入れ率G11  =IF(E9="","",+F9/E9) 販売率H11 =IF(F11="","",+G11+5%) 販売額I11 =IF(E11="","",ROUNDUP(E11*H11,0)) の部分は質問異は記載不要では。 j12,K11,I12,と関係ないのでしょう。 こういう、すっきりした切りワケが出来ないと言うことが、色々今後のエクセルの学習に影響しますよ。 ーー コンピュター利用は、プログラムや関数式の書き方とともに、データの学びでもあるのです。ほとんどの質問が前者にだけ注目した質問ですが、本当は後者も大切。 ほとんどの回答が、適当なデータをいれた場合、と言う前提での回答になっている。 データの(種類)に関心を向けてください。

kahulahu
質問者

補足

アドバイスありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

ご質問の直接の回答は,数字が出ているセルと「""」が出ているセルを足したり引いたりしようとしたからです。 またご相談に掲示された問題のK列の数式自体も間違いがあるようです。 J12が""かどうか調べているのに,続く真の式と偽の式の両方に「-J12」が絡んでいますが,見るべきセルも式もどちらも間違えています。 K12の式は =IF(AND(I12="",J12=""),"",SUM($I$6:I12)-SUM($J$6:J12))  をK6からずっと下のセルまでコピー。  掲示の画像が小さくどこからが表なのか見えませんので,「6」の部分は実際の表に合わせてちゃんと直してください。「6」は最初の1000円が入ってる行番号を意図しています。 などのような計算ではありませんか。

kahulahu
質問者

お礼

聞く人がいなくて困っていたのですぐに回答をいただきありがとうございます

kahulahu
質問者

補足

見えずらくてすみません。 販売管理表で仕入れ金額と定価から仕入れ率を出して、その仕入れ率の5%増しを販売率に、その販売率を定価に掛けて販売価格を出して円未満を繰り上げしています。  最後の累計残高K12のセルは前の行の残金+Kの行の販売価格ー支払額を入れたいのですが、行に購入や支払いがない時は数値を出さないようにしたくてこまっています。 よろしくお願いします

関連するQ&A

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • エクセルの2000で下記のような式を作りたいのですが、#VALUEにな

    エクセルの2000で下記のような式を作りたいのですが、#VALUEになってしまいます。 D1~I1が空白であれば、J1にI2を表示、 E1~I1が空白であれば、J1にD2を表示、 F1~I1が空白であれば、J1にE2を表示、 G1~I1が空白であれば、J1にF2を表示、 H1~I1が空白であれば、J1にG2を表示、 I1~I1が空白であれば、J1にH2を表示、 D1~I1がどれも空白でない場合も、J1にI2を表示します。 =IF(D1:I1="",I2,IF(E1:I1="",D2,IF(F1:I1="",E2,IF(G1:I1="",F2,IF(1:I1="",G2,IF(I1:I1="",H2,I2)))))) ネスト回数には引っかかっていないと思うのですが、IF関数の論理式は複数のセルを選択出来ないんですかね? D~H2のセルには=SUM(D15:I15)/SUM(D1:I1)といった数式が入っており、パーセンテージで小数点以下第二位まで表示しています。 うまく表示できる方法をどなたか教えていただけないでしょうか? 逆に D1だけが空白でなければ、D2を表示、 D1~E1だけが空白でなければ、J1にE2を表示、 D1~F1だけが空白でなければ、J1にF2を表示、 D1~G1だけが空白でなければ、J1にG2を表示、 D1~H1だけが空白でなければ、J1にH2を表示、 D1~I1だけが空白でなければ、J1にI2を表示、 D1~I1の全てが空白の場合は、J1にI2を表示、 でもかまいません。 どうかよろしくお願いします。

  • IF関数を教えてほしい

    H6=買ならK6=J6-I6 H6=売ならK6=I6-J6 といった数式をIF関数で考えてるんですが、うまくいきません。 全くの初心者です。どうぞ宜しくお願いします。

  • IF関数で計算する

    J4セルへ入れている関数と式 =IF(F4=11,J3+C4,IF(G4=11,J3-C4,J3)) F・G列にはコード C列には金額 J列には差引残高  J3の残高に対してF4が11だったらJ3+C4を        もしG4が11だったらJ3-C4で差引残高を。。 質問です F・G列に入れている数字が11だけだと成立しているのですが やりたいことは11・12・13・14と四つのコードどれが入った場合でも 上記の計算式を成立させたい。 よろしくお願いします。     Jin1118

  • エクセルの数式

    恐れ入りますが、次の数式を、「もし、何がどうなら、こうする。」のような日本語で説明して頂けませんでしょうか? (1) =IF(ROUND(SUM(I:I),0)>=J8,ROUNDUP(G8,0),INT(G8)) (2) =IF(K8<1000,IF(E8="なし",K8,0),0) (3) =IF(L8=0,F8,0)

  • IF関数についてです

    エクセル初心者です。 わかりづらかったらすいません。 たとえば A1*B1の結果をF1へ。 C1+D1+E1の結果をG1へ。 で、F1+G1の結果をH1へ。 という表を作っています。 で、結果が0の時に空白を返したいので、それぞれを IF(A*B=0、””、A*B)として、 IF(C1+D1+E1=0、””、C1+D1+E1)としています。 最後にF1+G1の結果も0、もしくは空白の時に空白を 返したいのですがどのように数式を入れればよいのでしょうか。 自分なりにいれてみましたがエラーがでてしまいます。 よろしくお願いいたします。

  • IF関数の計算式で質問です。

    エクセルが苦手で困っています。 以下の2つのIF関数がどういった計算式(言葉で表現すると何を求めているのか?)なのか解明していただけないでしょうか。 式が長すぎてエクセル初心者の私にはわかりません。 仕事に必要なエクセルの資料で前任者が作成した計算式です。 前任者が辞めてしまい連絡が取れないため困っています。 IF(I6=0,"",ROUND((0.3*(1+F26/100+F31/100)+IF(E6>=3,F36/100,(F43+F51*0.81)/100))/(1+IF(E6>=3,F36/100,(F43+F51*0.81)/100))*100,2)) IF($I$6=0,"",ROUNDUP(($M$72/100+$M$74/100*($F$26/100+$F$31/100)+IF($I$6>100000000,($F$43+$F$47*1.48)/100))/(1+IF($I$6>100000000,($F$43+$F$47*1.48)/100))*100,2)) お手数をおかけしますが、よろしくお願いします。

  • エクセル2010 IF関数について

    以下のような表を作成中です。 H6 =H7 H7 =E10 H8 =E10 H9 =E10 H11 =IF(AND(H$8>=$E11,H$8<=$F11),"1",IF(OR(H$8>=$F11,H$8<=$G11),"2","")) H11の条件付き書式は以下のようになっています。 H11 =H11="1" 緑に塗りつぶし H11 =H11="2" 赤に塗りつぶし H11の関数についてご教示お願いいたします。 E11に開始日、F11に終了日、G11に遅延の日付を入力するようになっています。 G11に日付が入っていなければE11とF11の日付を、 G11に日付が入っていればE11とF11、F11とG11の日付を 条件付き書式でそれぞれ塗りつぶしたいのですが、 今のH11のIF文だと遅延の日付が入らなくても赤く塗りつぶされてしまいます。 G11が空欄なら・・・と付け加えたいのですが、うまくいかずに困っています。 そもそものIF文にも自信がないのですが、 上記のようなことが出来るようにするには、 どういった関数にすればよいのかご教示願います。 よろしくお願いいたします。

  • お判りになる方、是非ともお助け下さい(Excel)

    Excel関数で、以下の関数を使用したいのですが、どうしてもうまくいきません。どうすればよいでしょうか =IF(M5="",L5,IF(AND(M5="",L5=""),K5,IF(AND(M5="",L5="",K5=""),J5,IF(AND(M5="",L5="",K5="",J5=""),I5,IF(AND(M5="",L5="",K5="",J5="",I5=""),H5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5=""),G5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5="",G5=""),F5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5="",G5="",F5=""),E5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5="",G5="",F5="",E5=""),D5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5="",G5="",F5="",E5="",D5=""),C5,IF(AND(M5="",L5="",K5="",J5="",I5="",H5="",G5="",F5="",E5="",D5="",C5=""),B5,IF(B5="",B5,M5)))))))))))) 左から右に4月から3月までの行方向の表があり、入力されたら数値を反映させたいのですが、3月と2月は問題ないものの1月からは反映されません

  • #VALUE!エラー

    エクセル2000、以下の関数で#VALUE!になります。 =IF(AND(B1<H95,G93=""),G94+G42+I42,G93+G42+I42),IF(AND(B1>=H95,I93=""),I94+I42,I93+I42) 前後別々だと問題ありません。 =IF(AND(B1<H95,G93=""),G94+G42+I42,G93+G42+I42) =IF(AND(B1>=H95,I93=""),I94+I42,I93+I42) B1は today() H95は 2016/1/4 G93とI93とG94は 数値入力します。 G42とI42は SUM関数で合計しています。 何が間違っているのでしょうか?

専門家に質問してみよう