重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Excel2007の関数 VALUEについて

 CS(コンピュータサービス技能評価試験) のExcel2級を受験しようと思っています。
 
問題の中に注文CDがあります。そのCDの一部を使って、別sheetのリストを参照し、
氏名や単価エリアなどを求めていきます。

  例 注文CD   7-00010C
    
  ★一番左の「7」のみ使うとき  =VLOOKUP(VALUE(LEFT(B6,1)),送料,2,FALSE)というように  VALUEを使っています。

  ★真ん中の「00010」を使うとき  =VLOOKUP(VALUE(MID(B6,3,5)),名簿,2,FALSE)というように
VALUEを使っています。  
  
  ★右の「C」のみを使うとき =IF(RIGHT(B6,1)="C","クレジット","商品代引")というようにVALUEを使っていません。

 この問題のときにLEFT MIDのときにVALUEを使用しないとエラーメッセージが出ます。
また、RIGHTのときにVALUEを使用するとエラーメッセージが出ます。

VALUEを使用する場合と使用しない場合の決まりがよくわかりません教えてください。

A 回答 (3件)

 


7-00010C・・・これは文字です、数値ではありません
LEFT(B6,1)で「7」が抽出されますがまだ「文字」ですvalueで文字を数値に変換してます。

「C」を使うときは「C」が文字なのでそのまま使えます。
 
    • good
    • 0

次の3つの事を理解しておく必要があります。



1.VALUE関数は数字で書かれた文字を数値に変えること
2.VLOOKUP関数は,数値の「7」と数字で書かれた文字の「"7"」を区別すること
3.MID関数やLEFT関数の計算結果は文字列になること


つまりLEFT関数やMID関数で7や0010を切り出しただけでは,まだ「数字で書かれた文字」の"7"や"0010"の状態です。
そして検索対象範囲の表の左端列には「数値で」7や10を記入し作成していた場合,その中を「文字の"7"」をVLOOKUPで検索しても,見つからない#N/Aの結果になります。
検索対象範囲の表の左端列に数値で7や10を記入していた場合は,VALUE(LEFT(B6,1))のように文字列の"7"から数値の7に計算し直して検索することで,ようやく正しい答えを見つけてくることができるようになります。


また言わずもがなですが,VALUE関数は「数字で書かれた文字を数値にする」関数ですから,数字ではない「C」にVALUE関数をあてがっても全くナンセンスです。



#少し前に全く同じ内容のご相談投稿がありましたので,ご参考に。
http://oshiete.goo.ne.jp/qa/6425281.html
    • good
    • 0

VALUE関数の意味は調べましたか?



VALUE関数
VALUE関数は数値を表す文字列(日付・時刻など)を数値に変換します。
数値として認識できない文字列を指定した場合はエラー値#VALUE!が返されます。

問題の場合、数値として取り出したいときと、そのまま文字として使う場合で使用するかしないかを決めています。
    • good
    • 0

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