• 締切済み

エクセルVLOOKUP関数の検索値について

  A   B     C     D     E 1 あ AAA 2 い  BBB 3 う  CCC 4 え  DDD 5         お   い  =VLOOKUP(C5,A1:A4,2,0) VLOOKUP関数にて、質問です。 検索値候補1=C5のセル 検索値候補2=D5のセル 範囲=A1:B4 E5=関数 (ここに式を入れたい) 検索値候補1がない時は、候補2を検索する そんな式はどうすればよいですか? 素人ですので、おたすけください

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

=IF(COUNTIF(A1:A4,C5),VLOOKUP(C5:A1:B4,2,0),IF(COUNTIF(A1:A4,C6),VLOOKUP(C6:A1:B4,2,0),"")) ってとこでしょうか?

ka2ka2_
質問者

お礼

ANo.3の方この場を借ります ANo.1の方へ私の間違いでした。 解決できました。 ありがとうございました

  • xyzxyz11
  • ベストアンサー率0% (0/4)
回答No.2

 多分ですけど、    VLOOKUP(IF(C5=""),D5,C5,A1:A4,2,0) ではないですか?  IF との連携でできた気がします。

  • mayoiga
  • ベストアンサー率41% (16/39)
回答No.1

試してみました。 =IF(ISNA(VLOOKUP(C5,A1:B5,2,FALSE))=FALSE,(VLOOKUP(C5,A1:B5,2,FALSE)),(VLOOKUP(D5,A1:B5,2,FALSE))) まずIF文でエラーかどうかを判断し、C5の検索がエラーならD5を使用するという風に条件を設定します。 ISNA関数についてはヘルプをご覧下さい。

ka2ka2_
質問者

お礼

早速の回答ありがとうございました。 たすかりました

ka2ka2_
質問者

補足

検索値候補2=D5のセル が空白のとき うまくいきませんでした が、 回避方法はありませんか?

関連するQ&A

  • VLOOKUP関数は一番左の値しか検索できない?

    例えば、 1  aaa 2  bbb 3  ccc と言う値を入れて、 D1に「1」を入れ、=VLOOKUP(D1,A1:C3,2,0) すれば、「aaa」が返ってきますが、 D2に「aaa」を入れ、=VLOOKUP(D2,A1:C3,-1,0) とした場合、#N/Aになってしまいます。 一番左側しか検索値として指定できないのでしょうか?

  • VLOOKUP関数で検索値と一致項目を取得できません

    VLOOKUP関数で検索値と一致項目を取得できません 下記のような表があるとき、 =VLOOKUP(K1,A2:B4,2,TRUE)と記述し『CCC』を取得したいのですが、 『BBB』を取得してしまいます。  |A |B |C |D |E |F |G |H |I |J |K 1|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|=SUM(A1:J1) 2| 4|AAA 3| 5|BBB 4| 6|CCC 一致しない場合は、近似値を取得したいため、検索方法をTRUEにしています。 EXCEL2007を使用しています。 K1の値を数値で『6』と入力した場合や、『=0.6*10』など記入した場合は、『CCC』が取得できます。 また、A1~J1を0.5にした場合は『BBB』が取得できるので、関数自体は正しいと思うのですが、原因がわかりません。 現在のところ、=ROUND(SUM(A1:J1),2)としてごまかしているのですが、 原因がわかりましたら、教えていただけますでしょうか?

  • EXCELで複数行の検索

    初心者です。 Aファイルのaaa、bbbなどをキーに Bファイルを検索してできるだけ簡単にマクロ等使わずに 下記のような抽出をする方法があれば教えてください。 よろしくお願いします。 Aファイル aaa bbb ccc Bファイル(例えば「ddd」と「あ」は別セルです) ddd あ eee い aaa う fff え bbb お ggg か ccc き 結果 Aファイル aaa う bbb お ccc き

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • VLOOKUP関数で検索できません

    A列に勤務時間帯、B列に人数を入力したリストがあります。 E1にVLOOKUP関数を入力しましたがエラーになるので困っています。 A1 → 8:00~18:00  B1 = 5 A2 → 9:00~19:00  B2 = 7 D1 → 8:00~18:00 E1 → =VLOOKUP(D1,A1:B2,2,0) チルダを抜くと検索できるようになりますが、 VLOOKUP関数でチルダは使えないのでしょうか。 チルダありでも検索できるうまい方法があれば教えて下さい。

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • エクセル、こんな場合はどのような関数式を立てればよいでしょうか?

     会社の部材部門に勤務していますが、毎月の生産予定が下記のように組まれているとして      A   B   C   D   E 1 商品  台数  品番 2製品1  80  AAA 3製品2 100  BBB 4製品3  50  AAA 5製品2 200  AAA 6製品4 150  CCC 7製品1  40  AAA 8製品5  60  AAA 9製品2 180  BBB   ↓   ↓        のような配列で作られていて、仕事の都合上から以下のように品番が切り替わるごとにC列品番をキーワードにD列に累計合計を表示させたいのです。同じ品番が連続したり、1行のみや、細かく切り替わったり、不規則です。      A   B   C   D   E  1 商品  台数  品番  累計  2製品1  80  AAA  80  3製品2 100  BBB 100  4製品3  50  AAA  50  5製品2 200  AAA 250  6製品4 150  CCC 150  7製品1  40  AAA  40  8製品5  60  AAA 100  9製品2 180  BBB 180 10製品6 400  BBB 580 11製品2 350  BBB 930  SUMIF関数,SUM関数をIF関数にネストして式を作るような気がしているのですが、単純に条件に合うものの合計ならSUMIF関数または集計機能で求められますが、品番が替わる地点で、条件に合う品番のそこからの累計を求め、表示させる式が導けません。=IF(AND(C2<>C3)(B2>0),SUMIF($C$2:C2,C2,$B$B2:B2))のような式を組みましたが、B2からのトータル累計が出て、思うようにいきませんでした。どなたか教えていただけないでしょうか?

  • エクセルのリスト表からマトリクス表に丸いを付けたい

    初めて質問させていただきます。 Excel2016を使用しています。 リスト表(A列は重複なし、B列は重複あり) | A | B | 1 | AAA | 111 | 2 | BBB | 222 | 3 | BBB | 444 | 4 | CCC | 222 | 5 | CCC | 333 | 6 | DDD | 333 | 7 | EEE | 333 | 8 | EEE | 444 | マトリクス表(1行目とA列の値は、既に埋め込まれているものです) | A | B | C | D | E | 1 | | 111 | 222 | 333 | 444 | 2 | AAA | ○ | | | | 3 | BBB | | ○ | | ○ | 4 | CCC | | ○ | ○ | | 5 | DDD | | | ○ | | 6 | EEE | | | ○ | ○ | VLOOKUP、INDEX、MATCHなどの関数で考えてみましたが、 正解が見えてきませんでした。 何かよい方法はありますでしょうか。 ぜひよろしくお願いします。

  • EXCEL関数VLOOKUPで日付検索

    よろしくお願いいたします シート1 セルA(商品)  B(価格)  C(購入日) AAA      200円   2006/02/02 BBB      300円   2007/01/01 CCC      200円 DDD      200円   2005/03/03 シート2 セルA1(シート1の商品名入力) セルA3(購入日表示) 上の様なデーター表があるのですが 上記のやり方で行うと日付がランダムな数字で表示されます 例: 31456、24536など 原因がつかめません。。。 関数は以下の通りです(シート2セルA3) =IF(ISERROR(VLOOKUP(A1,Sheet1!$A$1:$C$60000,3,0)),"",VLOOKUP(A1,Sheet1!$A$1:$C$60000,3,0)) 空白セルがデーターに存在しても上記の関数で回避できると 書いてあったのでやってみたものの 結果を表示するセルには黄色のひし形みたいなものがでます。 クリックしてみると「空白セルを参照しています」との事です。 これが原因で日付エラーが出るのでしょうか? 関数の書き方などもご教授下さい。

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

専門家に質問してみよう