• ベストアンサー
  • すぐに回答を!

エクセル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)のどこかにあります 関数教えて下さい。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数1391
  • ありがとう数2

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

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

一例です。 =IF(AND(H9>0,H9<=180000),VLOOKUP(H9,INDIRECT("sheet"&INT((H9-1)/60000)+1&"!A:B"),2,FALSE),"")

共感・感謝の気持ちを伝えよう!

関連する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が表示されません。 どこを直せば良いか、教えてください。

  • VLOOKUPとIFの組み合わせで困ってます

    シートが2枚あり、sheet1は工事記録一覧、sheet2は納品書です。 sheet2のセルA1に、工事記録の管理番号を入力し、 セルA2以降に、管理番号に該当する住所や建物名、 工事種類などを表示させたいと思ってます。 参考にするセルが空欄の場合には、空欄のままにしたいので、 IF関数とVLOOKUP関数を組み合わせて 下のように自分で式を組んでみましたが、#N/Aになってしまいます。 =IF(A1="","",VLOOKUP(A1,sheet1!A1:J20,3,FALSE) 同一シート内で同様の式を入れた時は、希望通りの答えが返ってきましたが、 別のシートだと上手くいきません。 どなたか正しい式をご教授いただけますでしょうか。 エクセル初心者で、ネットや本で調べながら作成しているので、 分かりやすく教えていただければ助かります。 どうぞよろしくお願いいたします!

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

その他の回答 (4)

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

参考までに。 今回の質問のように文字列を抽出するなら、以下のように&で結合して直列にした数式の方が簡潔でわかりよいと思います。 =IF(H9="","",IF(ISNA(VLOOKUP(H9,Sheet1!A:B,2,0)),"",VLOOKUP(H9,Sheet1!A:B,2,0))&IF(ISNA(VLOOKUP(H9,Sheet2!A:B,2,0)),"",VLOOKUP(H9,Sheet2!A:B,2,0))&IF(ISNA(VLOOKUP(H9,Sheet3!A:B,2,0)),"",VLOOKUP(H9,Sheet3!A:B,2,0)))

共感・感謝の気持ちを伝えよう!

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

以下のようなIF関数で分岐します。 =IF(H9="","",IF(ISNA(VLOOKUP(H9,Sheet1!A:B,2,0)),IF(ISNA(VLOOKUP(H9,Sheet2!A:B,2,0)),VLOOKUP(H9,Sheet3!A:B,2,0),VLOOKUP(H9,Sheet2!A:B,2,0)),VLOOKUP(H9,Sheet1!A:B,2,0)))

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

I9セルには次の式を入力します。 =IF(COUNTIF(Sheet1!A:A,H9)>0,VLOOKUP(H9,Sheet1!A:B,2,FALSE),IF(COUNTIF(Sheet2!A:A,H9)>0,VLOOKUP(H9,Sheet2!A:B,2,FALSE),IF(COUNTIF(Sheet3!A:A,H9)>0,VLOOKUP(H9,Sheet3!A:B,2,FALSE),"")))

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • kybo
  • ベストアンサー率53% (349/647)

シート(1)~(3)のどこか1ヵ所にしかないなら、以下の様にすれば出来ます。 =IF(ISERROR(VLOOKUP(H9,Sheet1!A1:B60000,2,FALSE)),"",VLOOKUP(H9,Sheet1!A1:B60000,2,FALSE)) &IF(ISERROR(VLOOKUP(H9,Sheet2!A1:B60000,2,FALSE)),"",VLOOKUP(H9,Sheet2!A1:B60000,2,FALSE)) &IF(ISERROR(VLOOKUP(H9,Sheet3!A1:B60000,2,FALSE)),"",VLOOKUP(H9,Sheet3!A1:B60000,2,FALSE))

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • IFとVLOOKUP関数

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

  • VLOOKUPとIFCOUNTの組み合わせについて

    初めての投稿です。 下記の様な場合、どの様な関数で値を返すことができますでしょうか。。。 【 シート1の列Aにあるデータを参照し、該当があった場合、シート1のM列にある「特定データの合計値」をシート2のE3に返す 】 ※シート2のE3のセルにVLOOKUPとIFCOUNTの組み合わせの関数を入れる形になるかと・・・ ご存じの方がいらっしゃったら、是非ご教授頂けますでしょうか。

  • Excel2000のIF関数についてと他方法教えて下さい。

    AシートとBシートを作り、Aにはデータを入れ、Bの方で必要なデータの形にして資料を作成しています。 Aシートの方のセルAの列には、文字形式のデータが全てに入っています。セルB列には、A列と同じ形式のデータですが、空欄のセルがあります。 このA列B列のデータをBシートのA列に下記のように表示させたいのです。 例 Aシート A-1 ○○○  B-1 A-2 △△△  B-2 ▲▲▲ をBシートでは A-1 ○○○ A-2 △△△     ▲▲▲ というようにAシートのB列にデータがある場合は、改行して表示したいのです。 また、データがひとつの場合は改行させたくありません。 はじめは、単に Aシート!A1&" "&Aシート!B1 と書きましたが、これでは、B1にデータがないときも改行されてしまいます。 そのため。IF関数で下記のように書いてみましたが、うまくいきません。 =IF(Aシート!A1<>"",Aシート!A1,Aシート!A1&" "&Aシート!B1) 何かよい方法を教えて下さい。よろしくお願い致します。

  • ifとvlookupに代わるようなマクロ

    お願いします。 一行1件で900件程度のデータがあります。1件当たりの項目(列)は150ほどです。住所録.xlsというファイルです。 これとは別に、個別1.xls~個別30.xlsというファイルがあり、それぞれシートが30ずつあります。 このシート全てに同一の個票フォーマットを作りました。vlookupやifとvlookupの組み合わせ関数をそれぞれの該当セルに入れれば各データは取り出せるのですが、非常に重く実用に向きません。こういった作業を効率よく行えるマクロをお教え願えませんでしょうか? 宜しくお願いいたします。

  • IF関数とLOOKUP関数の組み合わせについて

    指定したセルと等しい数値(文字列?)をLOOKUP関数を使って別シートのデータベースを検索させて、そのシートに無ければまた別のシートのデータベースを検索させるものを作りたいのですが上手くいきません。 指定したセルが空白なら空白を返すように次のような感じで作っています。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,LOOKUP(A1,シート2!A1:A15,B1:B15),LOOKUP(A1,シート1!A1:A15,B1:B15))) VLOOKUP関数でもやってみたのですがこちらも上手くいきません。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,VLOOKUP(A1,シート2!A1:B15,2,0),VLOOKUP(A1,シート1!A1:B15,2,0))) ご指摘いただければ嬉しいです。

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

    いつもお世話になります。 エクセルのIF関数について教えてください。 Aシートを入力用のシートとして使用し、別のシートに上記のIF関数を使いたいと思っています。 (1)AシートのAF15番地に数字があればその数字を返し、空欄であれば0を返す。  なおAF15番は元々は空欄で、数字を入れる場合は入力者は手動で数字を入れます。 (2)AシートのR26番地に※があれば1を返し、空欄であれば0を返す。  なおR26番地にはプルダウンリストをあらかじめ作成してあり、※か空欄かの2択になっています。 (3) 上記の(1)と(2)の合計値を別のシートのセルに返す。 【例1】AF15番地に3と入力して、R26番地は※を選択  ⇒ 4と表示 【例2】AF15番地は空欄のままで、R26番地は※を選択  ⇒ 1と表示 【例3】AF15番地に1と入力して、R26番地は空欄を選択 ⇒ 1と表示 【例4】AF15番地が空欄のままで、R26番地は空欄を選択 ⇒ 0と表示 私は、このように作ってみたのですが、エラーが出てしまいます。  =(IF(Aシート!AF15="","0",Aシート!AF15))+(IF(Aシート!R26="※","1","0")) エラーの原因を教えていただけると大変助かります。 なお(1)同士のIF関数の組み合わせは問題なく動作しました。 よろしくお願いします。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • 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関数、VLOOKUP関数について

    エクセルなんですが、2007を使用しています。OSはビスタです。 IF関数とVLOOKUP関数を使って表を作成したいのですが、なかなか出来ません。。。そこで皆さんのお力をお借りできればと・・・ 特に IF VLOOKUP にこだわる事はないので教えていただけると助かります。 <シート1>       A       B       C     1   日本or東海 2 3   愛知       a 4   岐阜       b 5 データ              日本     東海 7   愛知       a       A 8   岐阜       b       B 9   三重       c       C A1セルに『日本』と入れてもA2のセルは空白なのでB2のセルは空白のまま、 同様にA3のセルには『愛知』と入れたのでデータの日本の下のB7のデータ の『a』を反映させたいんです。 これがA1セルに『東海』と入れた場合は自動的にB3セルは『A』のでーたが 反映されるようにしたいんです。 ちなみにA1セル及びA2~A5はリスト設定をしてあるので、リストから選んだら 自動的に反映させるようB2~B5セルに入れる関数を教えて下さい。 皆さんのお知恵をお借りできれば助かります。よろしくお願いします。