
No.9ベストアンサー
- 回答日時:
No4です。
タイプミスに気づいて参りましたが、ほかの方が直してくださってますね。
混乱させてしまったようで申し訳ありません。
if関数の真のときと偽のときの値が逆です。
=IF(ISERRROR(VLOOKUP(品番1からの検索)),VLOOKUP(品番2からの検索),VLOOKUP(品番1からの検索))
が正しいです。
おそらく
=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$P$6:$R$171;2;0);VLOOKUP(B7;$O$6:$R$171;3;0))
で動くのではないでしょうか。
この回答への補足
無事動きました。
ですが、空欄時のN/Aえらーを表示させたくないので、
もう一つIF関数を噛ませるか、
もしくはISBLANK関数を使って、
偽の判定の方にORを使って品番1、2の両方の判定をさせることとかってできますか?
No.12
- 回答日時:
>IF(B7="";"";VLOOKUP(B7;$O$6:$R$171;2;0))
>元々の式が上記のもので
元のVLOOKUP数式におかしな点がありますが、数式中の引数を区切る文字はセミコロンではなくカンマですよね。
また、O列の検索値から2列目のP列の値を求めるなら、検索範囲は「$O$6:$P$171」でよいはずです。
>空欄時にN/Aエラーを表示しないようにしていたのですが、今の式にどう加えればいいでしょうか。
すでに回答がありますが、現在の空欄ではないときの式が入って言える部分に修正した数式を代入すればよいことになります。
IF(B7="";"";修正した数式)
しかし、皆さんから提示されているISERROR関数は、判定式がエラーでない場合はVLOOKUP数式を2回計算する数式になっていますので、計算効率が良くありません(数式入力データ数が多くなると、メモリーの消費量や計算負荷が大きくなります)。
質問にはエクセルのバージョンが記載されていませんが、もしご使用のエクセルが2007以降のバージョンなら、IFERROR関数を使用されることをお勧めします。
IF(B7="","",IFERROR(2列目を検索するVLOOKUP数式,3列目を検索するVLOOKUP数式))
#Officeソフトはバージョンによって使用できる機能や操作法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
No.11
- 回答日時:
回答No.9の補足へのアドバイスです。
>ですが、空欄時のN/Aえらーを表示させたくないので、もう一つIF関数を噛ませるか、もしくはISBLANK関数を使って、
B6セルのブランク以外にもP列でもノーヒットと言う可能性もありますので両方をカバーできる方法として次の式を提案します。
=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));IF(ISERROR(VLOOKUP(B7;$P$6:$R$171;2;0));"";VLOOKUP(B7;$P$6:$R$171;2;0)) ;VLOOKUP(B7;$O$6:$R$171;3;0))
念のためにご利用のソフトはOpenOfficeのCalcですよね。
質問するときはソフト名を明確にされると解決が早くなると思います。
No.8
- 回答日時:
回答No.4の補足にアドバイスさせて頂きます。
>N/Aエラーになってしまします。
VLOOKUP関数で検索結果が未検出の時に出ます。
条件の文字列が対象列に存在していることを確認してください。
>何か間違っているでしょうか。
はい、間違ってます。
IF関数の中にISERROR関数が有るので正否の判断を誤っているようです。
No.7
- 回答日時:
No5です。
よく見たら、私も入力ミスしてましたね。
加えて、よく見たら、IF文の Iserror対する真と偽が逆ですね。
=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171,3,0)),VLOOKUP(B7,$P$6:$R$171,2,0),VLOOKUP(B7,$O$6:$R$171,3,0))
こちらが正解ですかね。
この回答への補足
真と偽が逆なのですね。
IF(B7="";"";VLOOKUP(B7;$O$6:$R$171;2;0))
元々の式が上記のもので
空欄時にN/Aエラーを表示しないようにしていたのですが、
今の式にどう加えればいいでしょうか。
No.6
- 回答日時:
>上記の式ではN/Aエラーになってしまします。
1つのVLOOKUP関数をISERROR関数で判定してエラーの時は、もう1つのVLOOKUP関数を参照する以下のような数式にしなければなりません(提示された数式はエラーの時にエラーになった数式を返す数式になっています)。
=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171.3,0)),VLOOKUP(B7,$P$6:$R$171,2,0),VLOOKUP(B7,$O$6:$R$171,3,0))
この回答への補足
真と偽が逆なのですね。
IF(B7="";"";VLOOKUP(B7;$O$6:$R$171;2;0))
元々の式が上記のもので
空欄時にN/Aエラーを表示しないようにしていたのですが、
今の式にどう加えればいいでしょうか。
No.5
- 回答日時:
>=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$O$6:$R$171;3;0) ;VLOOKUP(B7;$P$6:$R$171;2;0))
いやいや、 ;と,を入力間違いしていませんか。
=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171.3,0)),VLOOKUP(B7,$O$6:$R$171,3,0),VLOOKUP(B7,$P$6:$R$171,2,0))
では?
No.4
- 回答日時:
下表のようなものを想定すればよろしいでしょうか?
一番簡単なのは品番入力欄を「品番1用」と「品番2用」の
2つ作ることだと思います。
品番入力にどっちを入れても大丈夫なようにしたいようなら、
ISERROR関数とIF関数を組み合わせて
=if(ISERRROR(VLOOKUP(品番1の検索)),VLOOKUP(品番1からの検索),VLOOKUP(品番2からの検索))
という感じにすればいいと思います。

この回答への補足
=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$O$6:$R$171;3;0) ;VLOOKUP(B7;$P$6:$R$171;2;0))
やりたいことを汲み取っていただきありがとうございます。
B7に検索値を入れ、O6からR171までの対応表を画像のように作った場合、
品番2の対応表はずらして(品番1の部分は除いて)
非検索対象列が手前に1列ずれるというふうになると思うのですが、
上記の式では
N/Aエラーになってしまします。
何か間違っているでしょうか。
No.3
- 回答日時:
ご参考になれば
http://global-wing.com/activity/vlookup_check.html
一致するデータがある(重複がある場合はVLOOKUPが使えないので
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/ …
その他の方法として
http://www.geocities.jp/chiquilin_site/data/0510 …
というよううな方法があるようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのVLOOKUP関数 7 2022/08/23 06:46
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Excel(エクセル) Excelの関数についての質問です。(vlookup関数) A列 B列. C 1 大阪 50. 検索 6 2023/08/11 13:35
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
特定のセルだけ結果がおかしい...
-
エクセル ドロップダウンリスト...
-
【マクロ】列を折りたたみ非表...
-
vba テキストボックスとリフト...
-
【関数】同じ関数なのに、エラ...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
iPhoneのExcelアプリで、別のシ...
-
エクセル
-
【マクロ】WEBシステムから保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報