アプリ版:「スタンプのみでお礼する」機能のリリースについて

シートが2枚あり、sheet1は工事記録一覧、sheet2は納品書です。

sheet2のセルA1に、工事記録の管理番号を入力し、
セルA2以降に、管理番号に該当する住所や建物名、
工事種類などを表示させたいと思ってます。

参考にするセルが空欄の場合には、空欄のままにしたいので、
IF関数とVLOOKUP関数を組み合わせて
下のように自分で式を組んでみましたが、#N/Aになってしまいます。

=IF(A1="","",VLOOKUP(A1,sheet1!A1:J20,3,FALSE)

同一シート内で同様の式を入れた時は、希望通りの答えが返ってきましたが、
別のシートだと上手くいきません。

どなたか正しい式をご教授いただけますでしょうか。

エクセル初心者で、ネットや本で調べながら作成しているので、
分かりやすく教えていただければ助かります。

どうぞよろしくお願いいたします!

A 回答 (3件)

こんばんは!



>セルA2以降に、管理番号に該当する住所や建物名、
>工事種類などを表示させたい・・・

というコトは2行目に数式を入れないといけませんよね?

方法としては
(1)手っ取り早く
=IF(A2="","",VLOOKUP(A2,Sheet1!$A$1:$J$20,3,FALSE)&"")
としてみる。
この場合、表示されるデータは文字列となります。

(2)コツコツと
=IF(OR(A2="",VLOOKUP(A2,Sheet1!$A$1:$J$20,3,0)=""),"",VLOOKUP(A2,Sheet1!$A$1:$J$20,3,0))
とする。

※ 余計なお世話かもしれませんが、A列に間違ったデータを入力した場合は
エラーになりますので、

=IF(COUNTIF(Sheet1!A:A,A2),VLOOKUP(A2,Sheet1!$A$1:$J$20,3,0)&"","")
のようにする方法もあります。m(_ _)m
    • good
    • 4
この回答へのお礼

tom04さん、こんにちは。

教えていただいた、下の式を試したところ、希望の回答が返ってきました!

=IF(A2="","",VLOOKUP(A2,Sheet1!$A$1:$J$20,3,FALSE)&"")


式の最後にある(&””)は知らなかったのですが、
答えがブランク表示できるようになり、勉強になりました。
ありがとうございました!


ご指摘通り、A列に間違ったデータを入力するとエラーにりますが、
A列は管理番号なので、管理番号の入力ミスを防ぐためにも
エラー表示が出ても良いかな、と思ってます。


他の書類作成にも利用してみようと思います。
ありがとうございました!

お礼日時:2013/11/04 17:22

別シートに関数が入れてあるのですよね


=IF(A1="","",VLOOKUP(A1,sheet1!A1:J20,3,FALSE)

=IF(sheet1!A1="","",VLOOKUP(A1,sheet1!A1:J20,3,FALSE)
ではないでしょうかね。
    • good
    • 0
この回答へのお礼

回答、ありがとうございました!
こちらの式で試したところ、希望の回答が返ってきましたが、
A1がブランクの場合は、なぜか「0」と回答が返ってきてしまいました。
エクセル、奥が深が深いですね…

お礼日時:2013/11/04 17:25

Sheet2のA2セルに



=IFERROR(VLOOKUP(A1,sheet1!$A$1:$J$20,3,0),"")

ではどうでしょうか。

IFERRORの書式は、
IFERROR(値、エラーの場合)

つまり、

A2セルに、VLOOKUP(A1,sheet1!$A$1:$J$20,3,0) の値を。
でもエラーの時には空欄で。

という意味です。A1が空欄の場合は、空欄で返ってきます。

あなたの式の場合は、A1が空欄の時の処理は空欄と書いてありますが、
もしA1セルに誤った管理番号が入力された場合に#N/Aとなってしまうと思います。
    • good
    • 0
この回答へのお礼

ご丁寧な回答、ありがとうございました!
IFERRORはまだ試したことがなかったので、参考になりました。
IFERRORでは希望通りの回答が返ってこなかったので、
やはり、IFとVLOOKUPを組み合わせてやってみようと思います。
ありがとうございました。

お礼日時:2013/11/04 17:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!