VLOOKUPで検索値を”A”とした場合
Aが複数ある場合一番上の値を返してきますが、
2番目3番目の値も返してきて欲しいのですが
そのような事はできるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Aに枝版を付けて、それぞれでVLOOKUPを使えば可能です。


検索値の右となりに列を挿入し、
  A列 B列 C列
1行 A    4  
2行 B    7  
3行 A    6   

であれば、
b1に、=a1&"-"&countif($a$1:a1,a1)
(
以下b列にコピー&ペースト

でVLOOKUP関数の検索値を
ひとつはa-1
以下a-2、a-3…としておけば、
a-1で検索すれば4、
a-2で検索すれば6がかえってきます。

 如何でしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。
1歩前進した感じです。
すみませんが、もう1つ教えて下さい。

検索値をa-1、a-2、…とありますが、
aの部分をセル指定したいのですが
そのような事はできますか?
検索値をA1に入力し、A1-1、A1-2のような。。
いろいろやってみましたが、エラーになりました。。。

お礼日時:2001/11/26 15:54

検索する範囲を横方向に広げ、列番号で2番目の値なら3列目、3番目の値なら4列目と、指定するというのはどうでしょうか?



VLOOKUP(検索値,範囲,列番号[,検索の型])

  A列 B列 C列 D列
1行 A  2  4  6
2行 B  5  7  9

=VLOOKUP("A",A1:D2,2)→→2
=VLOOKUP("B",A1:D2,4)→→9

2番目,3番目の値があるかどうか不確定な時には、絶対に存在しない値(例えば、0とか-1とか)を入れておいて、if関数で判定すればよいかと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

QVLOOKUPの検索項目に当てはまらない場合にそのまま入力値を返す方法を教えてください。

①A2に(渡部)、A3に(岡村)と入力しているとします。

②そしてC2、C3に関数(=VLOOKUP(A3,E3:F4,2,0))を入力しています。

③E2に(渡部)F2に(森)
 E3に(森) F3に(渡部)としています。

A2、3に入力した名前をC2、3に転記したいのですが、
名前によっては自動で名前を変更出来るようにしています。
ただ、E2~F3のリストに名前がなければC3はエラーでかえってしまいます。

※教えて頂きたいのは、リストにある名前は変更し
 リストにない名前はそのまま入力値を返せるように設定したいのです。
 なにか良い方法はありませんでしょうか?

Aベストアンサー

こんにちは!

Excel2007以降のバージョンをお使いだとして・・・

C2セルに
=IFERROR(VLOOKUP(A2,E:F,2,0),A2)
としてフィルハンドルで下へコピーではどうでしょうか?m(_ _)m

Qある列に検索値が複数あり,そのうちの上から○番目のセルの番地を求める(等の)方法を質問です。

  ┃  A  |  B  |  C  |  D  |  E  |
━━━━━━━━━━━━━━━━━━━━━━━━
1 ┃  A  |     |     |     ┃     |
────────────────────────
2 ┃     |     |  東  |     ┃     |
────────────────────────
3 ┃     |     |     |     ┃     |
━━━━━━━━━━━━━━━━━━━━━━━━
4 ┃  B  |     |     |     ┃     |
────────────────────────
5 ┃     |     |  西  |     ┃     |
────────────────────────
6 ┃     |     |     |     ┃     |
━━━━━━━━━━━━━━━━━━━━━━━━
7 ┃  C  |     |     |     ┃     |
────────────────────────
8 ┃     |     |  東  |     ┃     |
────────────────────────
10┃     |     |     |     ┃     |
━━━━━━━━━━━━━━━━━━━━━━━━
11┃     |     |     |     |     |
────────────────────────
12┃     |     |     |     |     |
──────────────━━━━━─────
13┃     |     |     ┃  ※1 ┃     |
──────────────━━━━━─────
14┃     |     |     ┃  ※2 ┃     |
──────────────━━━━━─────
15┃     |     |     |     |     |


上記のようなA,B,Cの表があったとして,
【※1】【※2】に検索して検索値として表示させたい概要は以下の通りです。


【※1】D13セルに表示させたいもの→A1セルに記入している「A」
    検索方法:C列から「東」という文字を検索し、上から数えて1番目にある「東」の文字からオフセット等によりA1セルに入力してある文字を表示する。

【※2】D14セルに表示させたいもの→A7セルに記入している「C」
    検索方法:C列から「東」という文字を検索し、上から数えて2番目にある「東」の文字からオフセット等によりA7セルに入力してある文字を表示する。


上記の表はA,B,Cの3つの表しかありませんが,実際は20個程度の表があります。
また,【※1】【※2】に表示された結果を元に,各表「A表,B表,C表」から必要な情報のみを別表で表示したいと考えています。


以上を踏まえて色々計算式を考えたのですが,【※1】【※2】の計算式が思い浮かびません。
【※1】【※2】に入れる計算式を教えてください。
マクロを使わないで作成しているので関数による回答をお願いします。

  ┃  A  |  B  |  C  |  D  |  E  |
━━━━━━━━━━━━━━━━━━━━━━━━
1 ┃  A  |     |     |     ┃     |
────────────────────────
2 ┃     |     |  東  |     ┃     |
────────────────────────
3 ┃     |     |     |     ┃     |
━━━━━━━━━━━━━━━━━━━━━━━━
4 ┃  B  |     |     |     ┃     |
────────────────────────
5 ┃     |...続きを読む

Aベストアンサー

[回答番号:No.1]に示した式中の「$G$2」は単に「G2」とするのが正しいです。(今回の場合は同じ結果にはなりますが)

QExcelの関数で、検索条件(複数)を満たす場合値を返す方法について質

Excelの関数で、検索条件(複数)を満たす場合値を返す方法について質問です。

セルA2にある文字列が、別ファイルのA列にある文字列を含む場合セルB2に○を、含まない場合は×を入力する関数を教えて下さい!!

---------
book1.xls シート1 A2にある文字列が、
book2.xls シート1 A列にある文字列のいずれかを含む場合、
book1.xls シート1 B2に「○」を、含まない場合は「×」を結果として反映させたいです。
※book1.xlsのリストは全角カナ、book2.xlsのリストは半角カナ です。
※book2.xls シート1にある検索条件は行列共に増える可能性があります。

マクロやVBAではなく関数で行うことは可能でしょうか?

勉強不足ですみません。
色々調べて試しているのですが、なかなかうまくいかないのでお力をお貸し下さい。

よろしくお願いします。

Aベストアンサー

No.6です!
たびたびごめんなさい。

今後Book2の行・列ともに増える可能性があります!の件に対応できるように
前回の方法を少し発展してみました。
もう一度画像をアップします。
Book2のデータにまず、入力することがない!という「#」を入力し、それを数式の範囲に指定します。
(このデータ量は適宜変更してみてください。)
そして数式に入力セルすべてを範囲指定しておき、「#」が入力してあるセルに
増えていくデータを入力するとBook1に反映されると思います。

数式は前回と同じですが、Booi1のC2セルに
=IF(B2="","",IF(OR(ISNUMBER(FIND([Book2]Sheet1!$A$1:$B$10,B2))),"○","×"))
(前回同様配列数式ですので、Shift+Ctrlキーを押しながらEnterキーで確定です)

これをオートフィルで下へコピーします。

以上、何度も失礼しました。m(__)m

QEXCELで範囲内にある値を検索してA列の値を返す

タイトル通りなのですが、OSはXPでEXCEL2000を使用しています。
シート内ですが
1.A列には文字列が入っています。200行まで空白は無いです。
1.B列からL列の200行までに数字がランダムに入っています。
2.数字は1~500までです。
3.行によってはL列まですべてのセルに値が入ってません。
 数字の入っていないセルは空白です。
4.数字の重複はありません。

やりたいことは
別のシートのA列に1~500までの数字を入れ、B列に上記範囲の中からその数字を検索して、その行のA列の値を返したいのですが、出来ません。
どの関数を組み合わせれば出来るのでしょうか?
vlookupの検索範囲は1列だけなのでダメでした。
よろしくお願いします。

Aベストアンサー

一例です。
データシートをSheet1としています。
=IF($A1<>"",INDEX(Sheet1!A:A,SUMPRODUCT((Sheet1!$B$1:$L$200=$A1)*ROW(Sheet1!$A$1:$A$200))),"")


人気Q&Aランキング

おすすめ情報