• ベストアンサー

VLOOK &””で返された数字が数値にならない

VLOOKでエラーと計算結果0の両方を空白で表示したいために IF(ISERORR(VLOOK****)&"")という式を使っていますが 返された数値が左寄せになってしまいます。 書式設定でカンマ入り数値にしても、右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! すでに的確な回答がなされていますが。 最後の &"" は少し横着をして関数で返す値が空白の場合は「0」が表示されてしまいますので、 それを回避するためのもので、 結果は「文字列」になってしまいます。 いくら表示が数値であっても「文字列」扱いになりますので、 数値としたい場合は IF(ISERORR(VLOOK****)&"")*1 としてやれば数値になります。 ※ 注意点 ※ 関数で返る結果が「数字」以外(文字列)の場合は、いくら *1 としても 文字列に掛け算をしているので「#VALUE」というエラーになってしまうと思います。 今回の質問はエラーの場合に空白にしたいというコトですので Excel2007以降の場合になりますが、 =IFERROR(VLOOK****,"") とした方が良いと思います。 Excel2003までの場合はコツコツと IF(ISERORR(VLOOK****),"",VLOOK****) のように エラーの場合は空白に、そうでない場合は関数・・・ とやれば数値はそのまま数値・文字列はそのまま文字列として表示されます。m(_ _)m

mmmtter
質問者

お礼

わかりやすい説明ありがとうございました!

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 一番大切な >エラーと計算結果0の両方を空白で表示したいために・・・ を見逃していました。 数値だけの場合は *1 で問題ないのですが、文字列も数値も両方に対応したい場合は やはり前回の後者の方法で =IF(ISERROR(VLOOKUP(****)),"",VLOOKUP(****)) とコツコツ数式を入れるのが一番良いと思います。 IFERROE(****) では空白の場合は「0」が表示されてしまいます。 何度も失礼しました。m(_ _)m

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

No1です。 検索した結果に &"" と空文字列を連結しているので、結果が文字列になってます。 それをやめれば、元のデータが数値なのであれば、数値のままです。 元のデータが数値出なく、数字の文字列なのであれば、+0 するとか、value関数を使うか。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

結果が数値でなく文字列になっているのでは? 具体的にどういう式を入れているのですか?それを見ないことにはアドバイスできません。

mmmtter
質問者

補足

=IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか通貨になっています。

関連するQ&A

  • エクセルVlookup~&””の結果が数値にならず

    =IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか左寄せになっています。 書式設定を見ると通貨になっており、カンマ入り数値にしても 右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

  • Excel LEFT関数の際に

    1つのセルに『450612合計』と入っています。 これをLEFT関数で『45』だけ抜き出しました。 抜いたセルの中にある『45』は左寄せになっています。 (書式設定ではなく自動的に) この『45』にポイントを合わせ、数式バーでEnterを 押すと右寄せになります。本来はこの右寄せにしたい のですが、一つ一つを選択してEnterを押す作業を しています。セルの書式設定では【標準】になって います。(両方とも) これを一度に右寄せにする事は出来ないのでしょうか? ちなみにセルの書式設定で【数値】にしてもなりません。 もし解決できるようでしたらご指導をお願い致します。

  • VLOOKの記号の意味

    VLOOK関数はまったく無知ですので教えてください。 =if(E4="","",E4*0.2772) の場合、ifは何を、""は何を意味するのでしょうか? たとえばE9セルにE8に2を掛ける式を表示させたい場合(通常計算では「=E8*2」の式)は =IF(E8="","",E8*2) で正しいのでしょうか?

  • エクセル vlook関数、可視セルのコピーについて

    大量のデータを編集している仕事をしており、 教えて頂けないでしょうか。 ・可視セルから可視セルへのコピー ・vlookの結果を、関数式が入っていない状態で表示したい(TEXT関数ではなく) 説明が下手かもしれませんが申し訳ありません。 ある大量データのエクセルシートが二つあります。 それを合わせて、vlookで結果を出します。 結果を出したいシートの列には、予めいくつか入力されている消せないセルがあります。 この消せないセルは、vlookの結果を出すセルではありません。 ソートをかけて、vlookの貼り付け先であるセルを出します。 結果が反映されます。 この場合、結果先のセルにはvlookの関数式が入ったデータが入ります。 この結果を関数式が入っていない数値や文字にしたいのです。 私のやり方は、結果先の列の横に新たに列を挿入し そこにvlookの結果を出し、それをコピー、反映させたい列へ形式を選択して値を貼り付けています。 しかし一度に選択してコピーしようとしても、ソートがかかっており 可視セル状態にしても、うまく貼り付けができません。 なので、一つ一つのセルをコピーして値にし、横のセルに貼り付けています。 上記のどちらか一つがわかれば、できると思うのですが 何か良いやり方はないでしょうか。 あまり詳しくなく、教えてもらえればと思います。

  • LibreOfficeCalc VALUEエラー

    LibreOffice 3.4 の表計算 Calc を使っています。 LibreOffice を 3.3 から 3.4 に更新したところ ある特定の場合に数値計算の結果、#VALUE! (エラー:519)が でるようになりました。 特定の場合とは、セルに式を入力し、その結果が 0 のとき空白("") を返すとし、このセルを別のセルの式で参照した場合です。 例えば A1 に 0 A2 に 1 A3 に =if(A1*A2>0,A1*A2,"") A4 に =A2+A3 とした場合で、A4の計算結果で #VALUE! がでます。 A4 で =A2+N(A3) としてもダメでした。 A3 が式でなくて、ただの空白("")であれば、これで #VALUE! が回避できましたが、A3 が式でその結果が 空白("")の場合は N関数を使ってもダメでした。 A3 の計算結果で 0 をそのまま表示させれば問題ないのですが、 計算結果が 0 になるセルが大量にあって、 それらの 0 を表示させたくないのです。 なお LibreOffice 3.3 や StarSuite では問題なく計算できていました。 LibreOffice 3.4 の Calc で、式で計算した結果を 空白("")にしたとき、このセルを別のセルの式で参照した場合に 和のときは 0 とみなす方法はないのでしょうか。 あるいは、セルの式で書式を設定して計算結果の 0 を透明にして 出力する方法はないのでしょうか。

  • アクセス2003 クエリの計算結果(左寄せになってしまう)

    いつもお世話になってます。 クエリで下記の式を入れた列だけデータが左寄せで表示されてしまいました。 原価率: IIf([工事売上]>0,FormatPercent([工事原価]/[工事売上]),FormatPercent(0)) 書式を変えればいいのかと思い、デザインビューでプロパティを開いてみたのですが書式欄が空欄で選択する書式も表示されません。 計算結果は特に問題ないのであとは右寄せにできればOKなんですが。 ほかの列のように右に寄せるにはどうしたらいいのでしょうか?

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • 【エクセル】数字の表示形式を通貨にしたい

    【エクセル】数字の表示形式を通貨にしたい エクセルファイルを開いて、数字が左寄せでA列に並んでいます。 232000 400000 121000 表示を「¥232,000(通貨形式)」か「232,000の(右寄せ)」にしたいのですが、 書式→セル→表示形式を通貨にしても、右寄せにして「,」を指定しても、 設定自体は変わっているのに、表示が変わりません。(左寄せ232000のまま) そこで、セルに入っている数字「232000」を直接打ち込むと、入力しなおしたセルの 数字はきちんと表示されますが、データ量が多いので、いちいち全部を打ち直すのは不可能です。 一度にきちんと表示させる方法があれば、ご教授お願いします。 ちなみに、このエクセルファイルはsylk形式から開けてエクセルに保存しなおした物です。 宜しくお願いします。

  • エラーが出たら、表示をしない設定をしたいです。

    条件式を使って、エラー(#N/A)が出たら空白にして、設定の式に数値が入っていればその数値を表示するという設定をセルにしたいです。 =if(error.type(設定の式)=7,"",設定の式) と入力したのですが、設定の式に数字があっても#N/Aが表示されてしまいます。何が間違っているのかご指摘ください。

  • セルの書式設定で12,345.6人と12,345人の両立は?

    エクセル2000です。 セルの表示の書式設定で、例えば計算結果が 12345なら12,345人 12345.6なら12,345.6人 12345.67なら12,345.67人 と表示し、セルは数値のままにしておきたいのです。 セルの書式設定で、G/標準"人" とすると、整数と小数点についてはそのようになりますが、桁区切りのカンマは出せません。 カンマを出すために、#,###.##"人"とすると、整数値の場合、12,345.人と、不要な小数点がでてしまいます。 どうしたらよいのでしょう?

専門家に質問してみよう