• 締切済み

Excel IF関数を別の関数で省略するには?

次のような関数を省略、追加するにはどうしたらよいでしょうか? 考えている内容は電気料金の計算です。 単位がW、VAの2つが混ざった表でバラバラに並んでいます。 この表の金額の合計値を出して他のシート上に結果を表示させるということを考えています。 =IF(E23<=10,$E$29*G23,IF(AND(10<E23,E23<=20),$E$30*G23,IF(AND(20<E23,E23<=40),$E$31*G23,IF(AND(40<E23,E23<=60),$E$32*G23,IF(AND(60<=E23,E23<=100),$E$33*G23,IF(100<E23,$E$34*G23)))))) ある物の数値が   0~ 10ならば  0~ 10の時の値段と物の個数を掛ける  10~ 20ならば 10~ 20の時の値段と物の個数を掛ける  ・  ・  ・ 100~   ならば   ~100の時の値段と物の個数を掛ける   といったところまでは上手くいった気がするのですがとても長くなってしまいます。 VLOOKUP関数を使えばいいと調べたらわかったのですが使い方がわかりません。 またこの関数にさらに追加したい条件として 100を超えた場合、50毎に値段を追加する さらに別の数値の条件で   0~ 50ならば  0~ 50の時の値段と物の個数を掛ける  50~100ならば 50~100の時の値段と物の個数を掛ける 100を超えた場合、50毎に値段を追加する を追加したいのですが同様にしたところエラーが出ました。

みんなの回答

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

> VLOOKUP関数を使えばいいと調べたらわかったのですが使い方がわかりません。 「検索値」と「対応する数値」を検索値「0」から「200」(最大値?)までを羅列した表を作成すれば、 =VLOOKUP(検索値, 範囲, 列番号, 検索の型) で、「対応する数値」が表示されます。 「VLOOKUP関数【キッカリ検索編】」 http://kokoro.kir.jp/excel/vlookup-false.html > さらに別の数値の条件 第一の条件との関係が不明ですが、例えば、加減乗除の関係なら、同様に第二の表を作成して、2つのVlookupを並べて、加減乗除するだけです。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>VLOOKUP関数を使えばいいと調べたらわかったのですが使い方がわかりません。 VLOOKUP関数を使うなら以下のような数式になります。 =VLOOKUP(A1-10^-10,$E$2:$F$7,2,TRUE) 上記の式はA1セルに検索値があり、添付画像のようなリストをE2:F7セルに作成した場合(0の右のセルに0~10の時の値を記入)、その値を取得する数式ですので、実際の数式ではセル番地に合わせて適宜数式を作成してください。 >またこの関数にさらに追加したい条件として 100を超えた場合、50毎に値段を追加する 「値段を追加する」の意味は単純に条件を追加するという意味なのでしょうか? その場合はリストの数を増やしてください。 >さらに別の数値の条件で   0~ 50ならば  0~ 50の時の値段と物の個数を掛ける  50~100ならば 50~100の時の値段と物の個数を掛ける 100を超えた場合、50毎に値段を追加する を追加したいのですが同様にしたところエラーが出ました。 具体的な数字などが出されていないので、どのようなことがしたいのかよくわかりません。 VOLOOKUP関数だけで対応できない場合は、どのような操作をしたいのか、具体的な数字などを挙げて補足説明してください。

関連するQ&A

  • エクセルの関数とグラフについて

    VLOOKUPを使って入力したIDNoに対して、別々のシートから検索するため次のような関数をいれています。=IF(ISERROR(VLOOKUP($E1,'シート名(1)’!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(1)'!$B$5:$IV$254,COLUMN(G6),0))&IF(ISERROR(VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)) この関数から得られた数値を折れ線グラフに反映させたいのですが、グラフに数値として認識されません。セルの書式設定は数値にしています。 ネットで色々調べてみて、この関数の最後に)/1を追加させた式を入力すると数値は認識されるようになりました。しかし空白の場合に#VALUEになり”プロットしない”に設定しても0にグラフが出てしまいます。 また同じ表で日付に対しても日付で表示されなかったので=IF(ISERROR(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))&IF(ISERROR(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))の関数を入力したところ日付が表示されるようになったのですが、空白の場合は”M33.1.0”となりグラフ上でも表示されてしまいます。 どうすれば日付や数値としてグラフ上に反映させられるのか教えてください。また空欄の場合には0にポイントされないM33.1.0にならない方法も教えてください。 エクセルは2003です。 エクセル初心者のため説明不足等あるとは思いますがよろしくお願いします。

  • エクセル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文にも自信がないのですが、 上記のようなことが出来るようにするには、 どういった関数にすればよいのかご教示願います。 よろしくお願いいたします。

  • IF関数

    みなさん教えてください。 下記のIF関数で、正確な数値が出ません。ドコを訂正すればよろしいでしょうか?Vlookupだと参照する数値を入力する必要がある為、IF関数で入力したいと思っております。 検索値(E3) 計算式 これ以下 引数 1000 9700 3000 17500 5000 21000 10000 26900 15000 35300 20000 43600 25000 51300 30000 59400 35000 67300 40000 75300 45000 83500 50000 91400 55000 99500 60000 106600 これは数値がおかしくなって駄目でした。 =IF(E3<1000,IF(E3<3000,IF(E3<5000,IF(E3<10000,IF(E3<15000,9700,17500),21000),26900),35300),IF(E3>20000,IF(E3>25000,IF(E3>30000,IF(E3>35000,IF(E3>40000,43600,51300),59400),67300),75300),IF(E3>45000,IF(E3>50000,IF(E3>55000,IF(E3>60000,83500,91400),99500),106600)))

  • エクセル IF関数

    長さ、個数、重量の3つの数値を使って 長さ=0 ならば、個数×重量 個数=0 ならば、長さ×重量 長さ>0かつ個数>0 ならば、個数×長さ×重量 上記のIF関数を教えてください。

  • IFとVLOOKUP関数を組み合わせて

    IFとVLOOKUP関数を組み合わせて条件に一致させた数値を出したいのですが引数の記述がわかりません具体的にはセルB5の値が2以上10未満の時は4,100を10以上15未満の時は6,500を15以上25未満の時は11,300を25以上35未満の時は16,100を35以上45未満の時は20,900をセルD5に標示させたい時はどんな記述をすればよろしいでしょうか?IF関数VLOOKUP関数を用いて別のセルにこの参照をさせる表(セルA7に2,B7に4,100 A8に10,B8に6,500 A9に15,B9に11,300…)を作成するすればできると思うのですが…

  • エクセルでIFを使った関数

    エクセルで 品番 材料名   個数   品番   個数   材料 A  ■ー555   10   A(1)  40(2) (3) B  ▲ー100   50 C  ◎ー200   30 D  ▲ー100   20 E  ◎ー200   40 A  ■ー555   30 上記のような表があり、(1)に品番を入力すると (2)にはSUMIFを使って個数がでてきます。 表に品番Aというものがひとつしかないと限らないので、 あわせた個数がでてくるようになっています。 問題は(1)に品番を入力したときに(3)に品番に見合った材料をでてくるようにしたいのです。 IF関数を使ってやってみたのですが、材料が文字列のせいかVALUEとエラーが出ていまいちわかりませんでした。 どなたか詳しい方よろしくお願いいたします。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • Excel IF関数について

    いつもお世話になります。 Win XPpro OFFICE2003です。 ここの過去ログを見てよく関数を意味がよくわからないまま拝借してるんですが =IF(AND(O7>=1,A<=19),0,IF(AND(O7>=20,O7<30),20,IF(AND(O7>=31,A<=100),50,IF(AND(O7>=101,O7<500),100,IF(AND(O7>=501,A<=1000),150,IF(AND(O7>=1001,O7<3000),200,IF(AND(O7>=3001,A<=10000),250,))))))) なぜか#NAME?になります。 ネストが7つまでということなので省略したんですが 1~20なら0 21~30なら20 31~100なら50 101~500なら100 501~1000なら150 1001~3000なら200 3001~10000なら250 10001以上なら”要相談” としたいだけなんですが。 最近VLOOKUPをみなさまのおかげで活用できるようになり別シートに入れたかったんですがあまりの多さと重さに断念しました。IF関数だけではなく他に方法があればぜひご教授下さい。 よろしくお願い致します。

  • Excel2002 IF関数の組み合わせ

    初歩的な問題ですが、組み合わせ方が他のサイトに例が見つからなかったので質問します。 IF関数で、 D列に、『もしA列が○○なら、B列の数値をもってきなさい。そうでなければC列の数値を持ってきなさい。』 というような単純な数式が入っているとして、ここに別の条件をまた付け加えたくなったので、どうすればよいか 質問させて下さい。 内容は、上記の条件のあとに、『E列が△△なら、F列の数値を持ってきなさい。』 というものです。 式としては IF(A1="大阪",B1,C1) 追加したいのは IF(E1="国語",F1,C1) ということで、全く違う条件を追加したい場合はどのように組み合わせればよいでしょうか?

  • ExcelのIF関数で困ってます・・・

    ExcelにあるIF関数についてです。 条件(やりたいこと)は、『もし、そのセルに数値が入っていたら、~をしなさい。』と言う命令の関数を作りたいのですが、 『if(A1=』の後がどう入れたらよいのかわからずに困っています。どなたかわかる方がいましたらアドバイスよろしくお願いします。

専門家に質問してみよう