【最大10000ポイント】当たる!!質問投稿キャンペーン!

エクセル2000を使用しています。
"Sheet5"のM列にある「商品コード」を元に別シート"商品金額マスタ"から
商品金額を"Sheet5"のO列に表示させたいのですが、#N/Aエラーが出てしまいます。
O列には以下の数式を入れています。
=IF($M2="","",VLOOKUP($M2,商品金額マスタ!$A$2:$C$5,3,FALSE))

M列の各セルをクリックするとなぜか数式が反映され、O列に正しい値(商品金額)が表示されるのですが、
これはどういったことなのでしょうか?
"Sheet5"のM列は元々"Sheet5"のA列にある商品コードの左6文字をLEFT関数で選んでいます。
この6文字は頭にゼロがつく商品コード1桁から4桁のものです。
#N/Aエラーが出るのは、このゼロが原因だったりしますでしょうか?
どうぞよろしくお願いします。

"商品金額マスタ"
    A列     B列      C列
1  商品コード  商品名    商品金額(税抜)
2  000001    Tシャツ     2,660
3  000002    パンツ      3,000
4  000003    タンクトップ   3,000
5  000004    長袖Tシャツ    3,000

このQ&Aに関連する最新のQ&A

A 回答 (3件)

おそらくM列のセルが数字の文字列で、商品金額マスタのA列が数値を


表示形式 000000 で表示したものだからです。

=LEFT(Sheet5!A2,6)*1
で表示形式を 000000 とするか
=VLOOKUP(M2*1,範囲,列番号,FALSE)
としてください。
    • good
    • 0
この回答へのお礼

mshr1962さん、解決しました!
早急なご回答ありがとうございました。
また機会がありましたらよろしくお願いします。

お礼日時:2008/03/10 12:19

NO1です。


M列選択→データ→区切り位置→完了をお試し下さい。
    • good
    • 0
この回答へのお礼

色々と情報ありがとうございました。
とても参考になりました。

お礼日時:2008/03/10 13:02

>M列の各セルをクリックするとなぜか数式が反映され、O列に正しい値(商品金額)が表示される


⇒ツール→オプション→計算方法タブで計算方法を手動になっていれば自動に変更で如何でしょうか。

この回答への補足

自動になっています。
「F2」+エンターキーを複数セルで同時に行うことは可能でしょうか?
ひとつずつのセルでしか実行できません。
これをマクロにできれば一応解決するのですが。

補足日時:2008/03/10 11:27
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QエクセルのVLOOKUP関数について

エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。
それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。
LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。
3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。
文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか?
1つずつ自分で数字を入力するしかないのでしょうか?
他に何か別の方法でも構いませんので、教えていただけないでしょうか?

Aベストアンサー

LEFT関数の結果が文字列になってしまい、一方シート2にある支店コードが(おそらく)数値であるため、型が一致していないのではないかと思います。

文字列を数値に変換するVALUE関数を使用し、
=VLOOKUP(VALUE(LEFT(**)),・・・・)
としてみてください。

QVLOOKUPで値があるのにエラーになる

EXCEL2003でVLOOKUP関数を使用しています。

=VLOOKUP(A1,マスタ,2,0)

上記の関数をコピーしたのですが、いくつかエラーとなる箇所があり、
マスタの検索先を調べてみると、検索値と一致している項目があるのに
エラーとなっているものがあります。
IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。
原因がわかる方いらっしゃいましたら教えてください。

Aベストアンサー

・検索先はマスターの左端の列ですよね
・検索先のセルをA1にコピーしてもエラーになりますか
・マスターの部分を範囲指定で置き換えたらどうなりますか

QEXCELマクロを無効にして開く方法

掲題の通りなのですが、EXCEL2007で作成されたマクロ有効ファイル(XLSM形式)を
マクロ無効の状態で開く方法が分からず困っております。

マクロの内容は Workbook_Open 処理で、特定セルに入力されている
EXCELファイルを開き、自身は閉じるというものです。


Private Sub Workbook_Open()

Dim FileName As String

'1ファイル目
Range("A2").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

'2ファイル目
Range("A3").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

・・・・・・繰り返し

DoEvents
ThisWorkbook.Close

End Sub


上記の特定セルに設定してあるファイルパスを変更するためには
マクロを無効にして開かなければなりません。

マクロのセキュリティを変更して、「すべてのマクロを無効にする」を設定して
該当のファイルを開けば良い事は分かっているのですが、他に分かりやすい方法で
マクロ無効状態で開く方法があれば、ご教授頂ければと思います。

掲題の通りなのですが、EXCEL2007で作成されたマクロ有効ファイル(XLSM形式)を
マクロ無効の状態で開く方法が分からず困っております。

マクロの内容は Workbook_Open 処理で、特定セルに入力されている
EXCELファイルを開き、自身は閉じるというものです。


Private Sub Workbook_Open()

Dim FileName As String

'1ファイル目
Range("A2").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

'2ファイル目
...続きを読む

Aベストアンサー

Win7、Excel2010、ダブルクリックでファイルを開く設定、の場合ですが、
Excelが開いていない状態で、
一旦、ファイル(またはショートカット)をクリックしてから、
Shiftキーを押し、そのまま、ダブルクリック、
以上の手順で、セーフモードでExcelとブックが開きます。
つまり、Private Sub Workbook_Open()は実行されません。
環境によって手順は異なると思いますけれども。


人気Q&Aランキング