• ベストアンサー

IF関数をVBAで表現したい

表題の質問をさせてください。 以下のIF関数をVBAで記述する方法を教えてください。 まる投げ的な質問で申し訳ないのですが、検索しても見つからなかったのでお願いいたします。 =IF(B1="東京",5,"")

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

if (Range("B1").Value = "東京" then  Range(ほげほげ).Value = 5 else  Range(ほげほげ).Value = "" end if

Haku46
質問者

お礼

早々にご回答いただきありがとうございました。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

C1セルに入力するとして With Range("C1")   .Formula = "=IF(B1=""東京"",5,"""")"   '状況に応じて .Value = .Value End With

Haku46
質問者

お礼

早々のご回答ありがとうございます。 質問締め切りの処理をしていたときにご回答をいただいていたようです。 そのため今回はポイントを使い切ってしまってしまいました。すいません。 さっそく試させていただきまして うまく動きました。 他の方の回答と検討しながら利用させていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>=IF(B1="東京",5,"") もし、この式がC1に入っているとして Sub Macro1() If Range("B1").Value = "東京" Then Range ("C1").Value = 5 Else Range ("C1").Value = "" End If End Sub となります。

Haku46
質問者

お礼

早々にご回答いただきありがとうございます。 助かりました。 ご回答いただいた順でポイントを付加させていただきました。

全文を見る
すると、全ての回答が全文表示されます。
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

追記。 「)」を1つ書き忘れました。「ここ」と思われる所に「)」を1つ足してください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでif関数の処理を1行で記述したい

    VBAで if関数の処理が複数ある場合、 if ** then (AAA と BBB) のように1行で記述したいのですが、可能でしょうか? また、Cだと、;で1行に追記できるのですが、 VBAで複数処理を1行で書く方法はあるのでしょうか?

  • 関数をExcel VBAに書き換える

    仕事で以下の関数を使っていたのですが、VBAに書き換えたいのですが.... VBAで以下の関数をセルに入力する方法ですと不安定になってしまいます。(正確に答えが返ってこない)どなたか教えていただけますか? {=SUM(IF((販売一覧!$B$4:$B$500=A4)*(販売一覧!$F$4:$F$500='1211作成'!D4),販売一覧!$I$4:$I$500))}

  • VBA上での関数について

    VBA上で関数を使いたいのですが、その記載方法がわかりません。 具体的にはIF関数をVBAで使いたいのですが、その他にも関数をVBAで使う際の定義みたいなものがありましたらお教えください。 幾分初心者のため質問自体がいまひとつ的を得ないかもしれませんが、ひとつよろしくお願いします。

  • IFとVLOOKUP関数

    VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • エクセルでif関数(VBA?)

    if(x=1,1,if(x=2,2,if(…のように偽の部分に続けてif関数を使用する場合連続7個くらいしかできないのですがこれをもっと続ける方法はありませんか? マクロやVBAの存在は知っていますが使ったことなどはありません。 使わないでできるのでしょうか? JAVA等の知識は多少ありますが役に立つのであれば幸いです。 会社のパソコンのためソフトをインストールするようなことはできないのであらかじめ了承をお願いします。

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • 文字列を含んだIF関数

    IF関数についての質問です 現在以下のような関数を入れています。 A1とは受注数量です。 A1が100個以下の場合A1×300円 A1が100個以上の場合A1×200円     ↓ =A1*IF(A1>=100,200,300) つまり、受注数量によって金額が変わるというものなのですが B1に顧客名を入れて、B1が○○様だった場合100円で売るという 文字を含んだIF関数も足したいのです。 方法がありましたら教えて頂けませんでしょうか。 お願い致します。

  • IF関数

    もしA商店とB商店とC商店なら、3万以上は315、3万以下は、105、 その他なら、3万以上は840、3万以下は630、 というIF関数を作りたいのですが、うまく作れません。 教えて下さい。

専門家に質問してみよう