• ベストアンサー

エクセルでの計算式を教えてください。

エクセルでC列に結果を表示させたいのですが A:社名 B:商品名 C:価格   A1が空欄 → Cも空欄に。 A1にAという社名 → B1の商品名を[シート1]から検索し、Cに価格を表示 A1にA以外の社名 → B1の商品名を[シート2]から検索し、Cに価格を表示 今までは単純にA1に社名が入っていれば[シート1]から検索すればよかったので =IF(A1="","","VLOOKUP(A1,[シート1]!A:D,3,FALSE)) とやっていました。 条件が1つ増えたので式をかえたいのですがどのようにすればいいでしょうか? マクロはさっぱりなので、IFとかORとかで式ができるのであれば教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

A1に社名、B1に商品名でB1を検索するなら =IF(A1="","",VLOOKUP(B1,IF(A1="A",シート1!A:D,シート2!A:D),3,FALSE))

kansyoku
質問者

お礼

ありがとうございました。 希望通りになりました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =IF(A1="","",IF(A1="A",VLOOKUP(A1,シート1!A:D,3,FALSE),VLOOKUP(A1,シート2!A:D,3,FALSE)))

kansyoku
質問者

お礼

ありがとうございました。 希望通りにできましたが、merlionXXさんの式の方が短かったので使わせていただきました。 勉強になりました。

関連するQ&A

  • エクセル、VLOOKUP関数について

    (1)セルAの値を他シートから検索 (2)セルAが空欄なら空欄を返す (3)セルAが空欄でなければ、その検索したセルの値を返す (4)検索したセルが空欄であればBを返す =IF(ISNA(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)),"",IF(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)="","B",VLOOKUP(A1,前年度成績!$B$4:$G$501,2,0))) という風にしたくて、上記の式を書きましたが、(4)の検索したセルが空欄であってもBが表示されません。 どこを直せば良いか、教えてください。

  • エクセル2003 関数 IFとVlookupの組み合わせについて

    エクセル2003 関数 IFとVlookupの組み合わせについて IF関数とvlookuo関数を組み合わせて関数を組もうとしています。 vlookupしたい元データが18万あるのでシートを(1)~(3)に分けています。 やりたいことは、 シート「(1)1~60,000」     A列:ID B列:社名 シート「(2)60,001~120,000」 A列:ID B列:社名 シート「(3)120,001~180,000」 A列:ID B列:社名 シート「集計」 このシートに関数の結果を表示したいです シート「集計」のH9のセルにIDを入れたらI9のセルに社名が自動表示される。且つH9のセルが空欄ならI9のセルも空欄になる。※入るIDはシート(1)~(3)のどこかにあります 関数教えて下さい。よろしくお願いします。

  • 計算するにはどうしたらよいですか?

    昨日下記のような質問をさせていただきました。 (Sheet1表1) A列 B列 C列・・・ 空欄 ポスター ハガキ ・・・ 写真 \20 \10 イラスト \15 \2 (Sheet2表2) A列 B列 C列 D列 E列 使用者 コード 用途 用途料金 印刷枚数 ウシ 11111 ポスター 空欄 1,500 カメ 22222 ハガキ 空欄 1,800 ハト 33333 買取 空欄 3,400 (Sheet3表3) A列 B列 コード カテゴリ 11111 イラスト 12345 イラスト 22222 写真 23456 イラスト 上記の表があり、Sheet2表2のD列の用途料金を求めたいです。 表1からもってくればいいのは分かります。 ただその表1の参照の仕方が分かりません。 カテゴリ(写真等)はVLOOKUPを使って表3を見に行けばいいのでしょうが、そこから用途(ポスター等)を探して金額を表示させるにはどうしたらいいですか?COLUMN関数なら列番号を返すのでいいかなと思ったのですが、引数に関数は使えるのでしょうか? 他にいい方法があるようでしたら教えて下さい。 よろしくお願いします! その際に Sheet2!表2D2=HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0) という式を教えていただき解決したのですが、実は表2D2欄は用途単価を導くのではなく、 IF(C3="買取",0,HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0)),FALSE) と先頭にIF関数がつき、表2E列に追加した「印刷枚数」という項目があり、最終的には「用途単価」*「印刷枚数」の料金を出すのです。で、教わった式に「*E2」を追加してもエラーになってしまいます。 最初からそのように質問しろって感じですよね。計算なら単純に計算式を加えればできると思ってたので・・・ たびたびで本当に申し訳ないですが、どのようにすればいいか、教えて下さい。よろしくお願いします!

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

  • エクセルVlookup~&””の結果が数値にならず

    =IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか左寄せになっています。 書式設定を見ると通貨になっており、カンマ入り数値にしても 右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

  • エクセル

    セルを飛ばして数式のコピーができますか? 例えば、A1にIF関数やvlookupを使った式が入ってます。(仮にvlookupの検索値をシート1のA2とします) B1にはまったく関係のない式が入っています。 C1にA1の関数を持ってきたいのですが、その際普通にコピーしてくると検索値がC2になってしまいます。これをB2にすることはできますでしょうか? よろしくお願いいたします。

  • エクセル2003VLOOKUP 検索値が数式の場合

    検索値が数式(表示形式がパーセンテージ)になっているものを IFとVlookupで処理しようとしたところ、エラーがでてしまいます。(#N/A) 例:C2が検索値。結果下記式の結果をD2に表示。100%以上の場合はすべて100%と表示。 A2  B2  C2      D2 50  40  B2/A2(%で表示) =IF(C2>=100%,100%,VLOOKUP(C2,他のシートの表の範囲,2,FALSE)) 100%の部分については問題なく表示されますが、 VLOOKUPで検索するデータが(100%以下)が表示されません。 検索値(C2)を値で貼り付けすると、問題なく表示されますが、 数式はそのままのこしてD2に表示することは可能なのでしょうか。 ちなみにD2も%表示です。 どなたかお分かりの方がいらっしゃれば教えていただけますと幸いです!

  • VLOOKUPの検索値の集計について

    複数シートのデータをVLOOKUPを使って、sheet1(B2~B50)に検索表示させ、更にその値を縦集計し、sheet1(B1)に表示させたいのですが、検索値が文字列のため集計ができません。 VLOOKUPの式に、文字列を数値に変換するように組み込む方法があれば教えてください。 (元データの表示形式は「標準」になっております。) sheet1(B2~B50)には、現在このような式を入れています↓ =IF(COUNTIF(sheet2!$A$2:$E$50,sheet1A!$2),VLOOKUP(sheet1!$A2,sheet2!$A$2:$E$50,2,FALSE)*1,"")&IF(COUNTIF(sheet3!$A$2:$E$50,sheet1!$A2),VLOOKUP(sheet1!$A2,sheet3!$A$2:$E$10,2,FALSE)*1,"")

  • エクセル VLOOKUP 番号重複でも表示させたい

    初めて質問いたします。 以下の表を別シートで検索して価格を表示させたいのですが、 顧客番号が重複により、表示させたい価格が出せません。 ------------------------------------ 例:シート1      A      B    C    D    1 顧客番号_会社名_商品_価格 2     01_A社__テレビ_5,000 3     01_A社__モニタ_2,000 4     02_B社__テレビ_5,000 5     03_C社__テレビ_5,000              :              : ------------------------------------ シート2 B2に以下の式を入れています。  =VLOOKUP($A2,シート1!$A$2:$D$5,4,0)      A      B      1  顧客番号_価格  2      01_5,000 3      01_5,000 ←ここを、2,000と表示させたい。 ------------------------------------ わかる方がおりましたら、ご教示ください。 よろしくお願いいたします。

  • エクセルの関数の分かりやすい説明の仕方教えて下さい!!

    初心者にエクセルを教えることになりました。 関数をどう説明していいのか分からないので教えて 下さい。 (1)VLOOKUP   式は=VLOOKUP(B5,H5:J10,2,FALSE)で   B5は品番、H5:J10は商品一覧です。 (2)IF   式は=IF(E3>=180,"合格","不合格")    (3)IFを使う式で、エラーを防ぐ式(IFとVLOOKUP)   =IF(A5="","",VLOOKUP(A5,$G$5:$I$16,2,FALSE))    A5=品番  お願いします

専門家に質問してみよう