- ベストアンサー
エクセル2003 IFとVlookupの組み合わせについて
- エクセル2003でIF関数とVlookup関数を組み合わせて使用する方法について説明します。元データが18万行ある場合は、シートを3つに分けて管理します。
- 具体的な手順として、シート「(1)1~60,000」「(2)60,001~120,000」「(3)120,001~180,000」にデータを入力し、シート「集計」に関数の結果を表示します。
- 集計シートのH9に任意のIDを入力すると、対応する社名が自動的にI9に表示されます。また、H9が空欄の場合はI9も空欄になります。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 =IF(AND(H9>0,H9<=180000),VLOOKUP(H9,INDIRECT("sheet"&INT((H9-1)/60000)+1&"!A:B"),2,FALSE),"")
その他の回答 (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)))
- 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)))
- 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),"")))
- 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))