- ベストアンサー
EXCEL関数について
データ張付け用シートBが以下の場合 A B 1 東京 56 2 名古屋 42 3 大阪 32 4 博多 12 転機用シートA A B 1 北海道 0 2 東北 0 1 東京 56 2 名古屋 42 3 大阪 32 4 博多 12 またはデータ張付け用シートBに全くデータが無い場合 A B 1 2 3 4 5 6 転機シートA A B 1 北海道 ブランク 2 東北 ブランク 1 東京 ブランク 2 名古屋 ブランク 3 大阪 ブランク 4 博多 ブランク の様にする為の関数をご教示ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
B1セルに以下のように書きます。 =IF(COUNTA(データ張付け用シートB!A:A)<>0,IF(ISERROR(VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE)),0,VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE)),"") こう書いたら、必要なだけ、下方向にセルをコピーして下さい。 「COUNTA(データ張付け用シートB!A:A)<>0」の部分で「データ張付け用シートBのA列に入力されているセルの個数」を調べます。 データ張付け用シートBのA列に何らかのデータが1つ以上あれば、この判定式はTRUEになり、1つも無ければFALSEになります。 IF関数は「判定式がTRUEなら、2番目の値を、FALSEなら3番目の値を返す」ので、これで「データ張付け用シートBのA列に何らかのデータがあれば、IF(ISERROR(VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE)),0,VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE))を、なければ""(ブランク)」になります。 次に「IF(ISERROR(VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE)),0,VLOOKUP(A1,データ張付け用シートB!A:B,2,FALSE))」の部分ですが、これは「VLOOKUPがエラーになるなら0を、VLOOKUPがエラーにならないならVLOOKUPで探した値」になります。 VLOOKUPで「検索の型」にFALSEを指定すると「一致する値が見付からなかったらエラーになる」ので、これで「見付かったかどうか」を判定しています。 これで、北海道や東北など、データ張付け用シートBに無い地名のデータは「0」になり、東京、名古屋、大阪、博多は「見付かった値」になります。
その他の回答 (1)
- aokii
- ベストアンサー率23% (5210/22062)
シート名称が、"A"と"B"の場合、シートAのB1セルに以下の式を入れて、下にドラッグコピーしてみてください。 =IF(ISNA(VLOOKUP(A1,B!A:B,2,FALSE)),"",VLOOKUP(A1,B!A:B,2,FALSE))
補足
aokii様 回答有難うございます。 Aシートにデータが何もない特はブランクになりましたが 以下の場合、北海道、東北はブランクになりますが0を表示させる方法 は有りますでしょうか。 A B 1 東京 56 2 名古屋 42 3 大阪 32 4 博多 12 転機用シートA A B 1 北海道 0 2 東北 0 1 東京 56 2 名古屋 42 3 大阪 32 4 博多 12 宜しくお願い致します。