お世話になります。
わかりにくいタイトルの上、過去に質問があるかもしれませんが・・・
○セルA1に別シートよりVLOOKUPでひっぱってきた数値を表示(空白の場合も有り)
○セルB1にセルA1の値、数値表示・もしくは何か入力があれば”入力有”空白ならば空白表示をするのはどうしたらいいのでしょうか?
IF(A1="","","入力有")としましたが、もともとA1にはVLOOKUPの数式が入っていますし、
IF(0<A1,"入力有","")としたら、A1にはマイナス数値表示もありました。
「何らかの入力が有った場合そのまま表示」という指示はあるんでしょうか?(例えば、検索の時に使う[*]のような・・・)
よろしくお願い致します。
No.7ベストアンサー
- 回答日時:
No.2&3です。
VLOOKUPの値が#N/Aになるのは、VLOOKUPの第1引数で指定された数値(あるいは文字列)が参照する表に存在しない場合です。
VLOOKUPで参照したセルが空の場合も「0」という数字の場合も、A1に持ってきたときには「0」になってしまいます。これはVLOOKUPに限ったことでなく、他のセルを参照するときにはそうなるのです。たとえばA1に何も入力せず空白としておいて、B1に=A1という式を入れるだけで、B1には0と表示されてしまいます。
したがって、VLOOKUPの結果、参照先のセルが空白の場合は空白を、0という数字が入ってきたときは0を表示させたい(要は参照先と同じように表示させたい)のであれば、A1に表示する時点で細工する必要があると思うのです。そうでないと、B1で=IF(A1=0,…)とやっても、その0は本当に0だったのか空白セルだったのかわからないので、本当に0が入っていた場合に表示されません。
0という数値が元の表に入っていることがあり得ないのであれば、それでもいいと思います。条件付き書式で「"0"なら白」、という設定されているということは、0の場合はあり得ない、ということかもしれませんが、果たして本当に0の値があった場合を想定して設定しているのかどうか、ちょっと疑問です。
それから、「何らかの数値」というのを判定する関数として、
ISNUMBER(A1)
というのがあり、これはA1に数値が入っているときにTRUEになります。
他にも、
ISTEXT(A1)はA1に数値でなく文字列が入っているとき、
ISNONTEXT(A1)はA1に文字列でない値が入っているときにTRUEになります。文字列でない値ということは数値だからISNUMBER(A1)と同じではないか、と思われますが、A1に#N/Aなどのエラーが表示されている場合、ISNUMBER(A1)の場合はFALSEになりますが、ISNONTEXT(A1)の場合はTRUEになります。
また、ISBLANK(A1)はセルが空だったらTRUEになります。
この関数で注意する点は、本当に空のセルだったらTRUEになるのですが、数式の結果""となっているときはFALSEになります。""が入っている場合は、あくまでも「空のセル」でなく「""という文字列が入っている」、と認識されるのです。したがって、上のISTEXT(A1)も、A1が本当に空ならFALSEに、""が入っていたらTRUEになります。
見た目上の空白は、数式も入ってない本当に空のセルか、""という文字列の2種類あるので、関数の値もそれに左右されます。ややこしい世界です。
以上、補足(というより蛇足?)でした。
No.10
- 回答日時:
#3でもおっしゃっていますが、
関数における()内の各々の引数は、セルの「値」を問題にするもので、式や書式コメントその他は一切問題(処理対象、演算等の材料)にできません。ここのところを抑えてない質問が相当あり、不必要な質問をしたり、考えが横道にそれます。
A1を空白
B1に =IF(A1="","",1)
C1に =IF(B1="","",1)
をやってみるとC1は空白になります。
質問の場合はA1が空白でなく、0が入っていたためでしょう。
ですから、=IF(ISERROR(VLOOKUP(・・),"","",VLOOKUP(・・))
のようにエラー(むつからない場合)は強制的に空白をセットします。
ーーー
>関数では「何らかの数値」?何か入力があればといったような指示はないんでしょうか。
本件では、式が入っているかどうかではなく、エラーかどうかを
判別すべきものでしょう。
式の有無の場合、関数式は最初に言った値を判別したり、利用して処理するので、式の有無を判別する関数はありません。
CELL関数にもない。
VBAでユーザー関数をつくりHasFormulaプロパティを使えば判別できますが、本質問では関係のないことです。
それをやったら、A列全部にVLOOUPが入っていれば、識別に
使えない。
No.9
- 回答日時:
#1です。
やはり空白が0になってましたか?それも対応なら
A1のVLOOKUPを
=IF(ISNUMBER(VLOOKUP(検索値,範囲,列番号,FALSE)),VLOOKUP(検索値,範囲,列番号,FALSE),"")
としてB1に#1を設定するか、A1はそのままで
=IF(ISNUMBER(VLOOKUP(検索値,範囲,列番号,FALSE)),"入力有","")
皆様、多くのアドバイスありがとうございました。
問題は解決しました。
色んな方法があることもとても勉強になりましたし、感謝です。
ここにまとめてお礼させて頂きます。
No.8
- 回答日時:
考え方を変えて回答してみます。
VLOOKUP関数で参照する範囲に空白がある場合 "0" が返ってきます。
もともと "0" が入力されているセルとは区別できません。
であれば、空白でない空白を示すマークがあれば良い訳ですので、参照先の空白に #N/A または =NA() を入力しましょう。
#N/A はデータが無いことを示すエラーです。セルに直接入力する事でその参照する関数はエラー(#N/A)を返します。
=NA() は #N/Aを返す関数です。
あとは ISNA関数で #N/A を判定するだけです。
A1 =IF(ISNA(VLOOKUP(検索値,参照,列番号)),"",VLOOKUP(検索値,参照,列番号))
B1 =IF(ISNA(A1),"","入力有")
こんな感じでしょうか。
※以下、複数ある参照範囲の空白セルに #N/A を一括して入力する方法です。
・空白セルの1つに #N/A を入力
・参照範囲を選択
・編集→ジャンプ→セル選択→空白セル(を選択)→OK→編集→貼り付け
No.6
- 回答日時:
>A1は空白かとおもっていましたが
>"0"が入力されており、空白ではなく条件付で「"0"なら白」になっていました。
と言う補足がありましたので、
=IF(A1=0,"","入力有")
ではどうでしょうか。
質問にある
「何らかの入力が有った場合そのまま表示」という部分は、A1に引っ張ってきた値を
そのまま表示ということでしょうか?
でしたら、
=IF(A1=0,"",A1) でいかがでしょう。
No.5
- 回答日時:
これならエラー関係ナシでした。
A1=IF(ISNUMBER(VLOOKUP(xxx)),VLOOKUP(xxx),"")
B1=IF(A1="","空白表示","入力有り")
No.4
- 回答日時:
○セルA1に別シートよりVLOOKUPでひっぱってきた数値を表示(空白の場合も有り)
空白場合、#N/A が出ると思うのですがこれはどのように処理したいのでしょうか?
(こちらの設定間違いだったらごめんなさい)
No.3
- 回答日時:
No.2です。
ちょっと補足。> IF(A1="","","入力有")としましたが、もともとA1にはVLOOKUPの数式が入っていますし、
数式が入っているかどうかは関係ありません。あくまでも上の A1="" というのは、A1に入っている「値」が空文字列かどうかで判定されます。数式の結果の値が""であれば、""として判定されます。
VLOOKUPでは空のセルを参照したときに数値の0に置きかえてしまい、""にならないので、先手を打ってVLOOKUPの値が""のときは""、そうでないときはVLOOKUPの式を、というIF文にしたのが先の回答です。
なので、A1のセルを先の回答のようにしておけば、B1セルは、
IF(A1="","","入力有")
でOKかと思います。
もっとスマートな方法があるかもしれませんが…。
この回答への補足
なるほど!!A1にひっぱってくるときに、数値表示にするか空白表示にするかを指示するんですね!
後、
>数式が入っているかどうかは関係ありません。あくまでも・・・
というのは、式が入ってからではなく"0"が入っていたからというのが正しい理由なんですね。
ありがとうございます。
参考までに、関数では「何らかの数値」?何か入力があればといったような指示はないんでしょうか?
No.2
- 回答日時:
あまりスマートではありませんが、A1の式を
=IF(VLOOKUP(xxxxx)="","",VLOOKUP(xxxxx))
とすると、VLOOKUPの参照先が空白のときは、空白になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/10/25 17:10
- Excel(エクセル) エクセルの昇順での数値入力のミスの見つけ方を教えてください。 4 2022/06/26 20:41
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 隣り合っていないセルを まとめて税込表示したい 8 2022/09/25 14:32
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
Excel:関数が入っているセルに...
-
エクセルで、「複数のセルの中...
-
ピボットテーブルで空白セルの...
-
関数TRANSPOSEで空白セルを0に...
-
Excelで、入力文字の後に自動で...
-
Excel > ピボットテーブル「(空...
-
数式による空白を無視して最終...
-
vlookupの結果が0になるセルと...
-
エクセル&メモ帳での改行の空...
-
空白セル内の数式を残したまま...
-
《Excel2000》SUMPRODUCT関数で...
-
エクセルで、合計をもとめたい...
-
excel2010 空白セルにのみ貼り...
-
エクセルのグラフで式や文字列...
-
エクセルにて負の時間を0:00と...
-
エクセルで数式の入ったセルの...
-
SUMIFS関数で「計算式による空...
-
エクセル セルのコピー元が空...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
Excel > ピボットテーブル「(空...
-
「データ要素を線で結ぶ」がチ...
-
ピボットテーブルで空白セルの...
-
関数TRANSPOSEで空白セルを0に...
-
空白セル内の数式を残したまま...
-
excel2010 空白セルにのみ貼り...
-
エクセル 連番が途切れていると...
-
Excel:関数が入っているセルに...
-
Excelで、入力文字の後に自動で...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
形式貼り付けの「空白を無視す...
-
エクセルで数式の入ったセルの...
-
【Excel】 csvの作成時、空白セ...
-
エクセルで、「複数のセルの中...
-
エクセルで上の行の値を自動的...
-
空白を0とみなす関数
おすすめ情報