痔になりやすい生活習慣とは?

エクセルの表で
A列     B列
あいうえお  1
かきくけこ  2
さしすせそ  3
たちつてと  4
 ・      ・
 ・      ・
 ・      ・
YMCA 403

という表からC1のセルに
VLOOKUP(D1,A1:B403,2,1)
と打ち込み
D1のセルに
「あいうえお」
と打ち込むと、「1」が出てくると思うのですが、
なぜか「6」と出てきます。
原因が分かりません。
どなたかお教えいただけますでしょうか。

A 回答 (3件)

VLOOKUP(D1,A1:B403,2,0)


としてみてください。
    • good
    • 8
この回答へのお礼

ありがとうございます。
これでできました。

お礼日時:2009/04/24 12:17

 


最後の”検索の型”が違うのでしょう。 

VLOOKUP(検査値、検査範囲、列番号、検索の型)

検査値と完全一致のデータを見つけたい場合は
最後の検索の型は、False 又は 0 です。

=VLOOKUP(D1,A1:B403,2, 0)

検索の型が、1 の場合???

詳しくは、VLOOKUPのヘルプを参照のこと。
 

 
    • good
    • 7

A1:B403をA列で登り順ソートしてから実行しましょ

    • good
    • 4

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QexcelのVLOOKUPで検索値を2つにできますか?

excelのVLOOKUPで検索値を2つにしたいです
私の知っているVLOOKだと下記のことは対応できます
例えば、A列に会社名、B列に住所、C列に電話番号 とあった場合
「住所が検索値と同一なら電話番号を表示しなさい」という指示は出せます

そこで質問です
「会社名と住所が検索値と同一なら電話番号を表示しなさい」
というような、複数の検索値を持つ事はできないのでしょうか?

参考になるURLなどでも結構ですので、ご存知の方よろしくお願いいたします

Aベストアンサー

元の表をA列に会社名、B列に住所、C列に「=A2&B2」、D列に電話番号のようにして
=VLOOKUP(会社名&住所,$D$2:$C$100,2,FALSE)
のようにすれば可能です。

QVLOOKUP関数を使用時、検索する値は昇順に並べ替える必要がありますか。

VLOOKUP関数使用時、検索する値を昇順に並べ替えておかないと、正しい値を返す事が出来ないのでしょうか?

下記条件のそれぞれについて御指導お願い致します。

1.参照元も参照先も同じワークシートに存在する場合。
2.参照元と参照先が同じブックに存在する場合。
3.参照元と参照先が異なるブックに存在する場合。

特に3について並べ替えなくても処理できる方法があれば
併せて御指導お願い致します。

Aベストアンサー

答えは、NOでもあり、YESでもあります。
というのは第4引数がTRUEとFALSEに指定する型があり
  FALSE型  並べる必要なし
  TRUE型   並べる必要あり
だからです。今までのOKWAVEの回答者の中にもTRUE型において、間違った(質問のような)解答がありました。
TRUE型は区画範囲で割り出すのだから、順位並んでいないと、
FROMーTOがいってしまいますが、1つで済ましている以上、順でないと困るわけです。
FALSEは個別のものを探すので、順序は問題にしません。
1.2.3で質問の点に差があると考える必要はありません。
前半と後半は聞いていることが違います。後半はシートやブックを
エクセルでどう表現しているかの問題です。!や[]などで表すやり方を調べてください。

QEXCELで別のシートのデータを参照して返す方法

ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。

作業用のシート1と参照用のシート2があり、
シート1のA列には
 あおき
 あべ
 いぐち
 いはら
などと文字列(名前)が入力されています。
こちらは今度の野球のスタメンだと思ってください。

シート2にはA列とB列があって、
わたなべ 55
いぐち  43
あおやま 67
いはら  41
などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。

ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。
なので、シート1のB列に
IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、
適合したシート2の行のB列の値を表示する
という式を入れたいのですが、どのように式を書けばよいでしょうか。

すみませんがどなたか教えてください。

Aベストアンサー

私もその場合はVLOOKUP関数を使用しています。

「B1」=VLOOKUP(A1,Sheet2!$A:$B,2,0)

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qコピー&ペーストすると、VLOOKUPの “範囲” が、ずれてしまう

こんにちは。いつもお世話になっております。とかく昨日からは幾度か質問させて頂いておりまして、都度ご丁寧な回答を承っており、感謝しております。

さて、早速ですが今度は下記の事で悩んでおります。

◆エクセルバージョン → エクセル2003

◆VLOOKUPの入ったセルをコピーして貼り付けすると “範囲”が自動的に “1”ずつプラスされて式が変わってしまう為、都度、手修正で直している。
 これを改善したい。

【具体例】
SHEET名 = 顧客名一覧 に対して

A1に お と入力すると B1に 小野 と表示される。
A2に か と入力すると B2に 加藤 と表示される。
A3に さ と入力すると B3に 斉藤 と表示される。

ように作成しております。
この 顧客名一覧Sheetの B1 に
 =VLOOKUP(A1,VLOOKUP用シート!A1:B100,2,0)
という関数式を入れているので、これをコピーし、B2~B100まで貼り付けをしたのですが、そうすると

B2には =VLOOKUP(A2,VLOOKUP用シート!A2:B101,2,0) と入ってしまい、
B3には =VLOOKUP(A3,VLOOKUP用シート!A3:B102,2,0) と入ってしまいます。

何故、この数式の中の“範囲”が勝手にプラス1ずつされてしまうのか…これを防ぎたい。

現在は、100個ほどペーストしたものに対して、全て直接入力で“範囲”を正しい VLOOKUP用シート!A1:B100 と修正している状態です。

どなたかお手隙の方いらっしゃいましたら、どうぞご教授の程、お願い致します。

こんにちは。いつもお世話になっております。とかく昨日からは幾度か質問させて頂いておりまして、都度ご丁寧な回答を承っており、感謝しております。

さて、早速ですが今度は下記の事で悩んでおります。

◆エクセルバージョン → エクセル2003

◆VLOOKUPの入ったセルをコピーして貼り付けすると “範囲”が自動的に “1”ずつプラスされて式が変わってしまう為、都度、手修正で直している。
 これを改善したい。

【具体例】
SHEET名 = 顧客名一覧 に対して

A1に お と入力すると B1に 小野...続きを読む

Aベストアンサー

範囲は相対的な位置で記録されていると考えてください。
そんなわけで
 =VLOOKUP(A1,VLOOKUP用シート!A1:B100,2,0)
を下にコピーすると
 =VLOOKUP(A2,VLOOKUP用シート!A2:B101,2,0)
と下に範囲がずれてくるのです。
右にコピーすると
 =VLOOKUP(B1,VLOOKUP用シート!B1:C100,2,0)
となります。

同じ計算を同列の行や列で繰り返し行なう場合は入力の手間を省くことができるので、便利な機能です。
例:
 C1 =A1+B1
C1セルを下にコピーすると
 C2 =A2+B2
 C3 =A3+B3 

ずれないようにするには、絶対参照の形式で範囲を指定する必要があります。
列方向を固定するには列番号の前に "$" マークを付けます。
行方向を固定するには行番号の前に "$" マークを付けます。
 =VLOOKUP(A$1,VLOOKUP用シート!A$1:B$100,2,0)
これで下へコピーしてもずれることはなくなります。
ただし列番号に "$" マークを付けていないので、横へコピーすると列番号は変わります。

範囲は相対的な位置で記録されていると考えてください。
そんなわけで
 =VLOOKUP(A1,VLOOKUP用シート!A1:B100,2,0)
を下にコピーすると
 =VLOOKUP(A2,VLOOKUP用シート!A2:B101,2,0)
と下に範囲がずれてくるのです。
右にコピーすると
 =VLOOKUP(B1,VLOOKUP用シート!B1:C100,2,0)
となります。

同じ計算を同列の行や列で繰り返し行なう場合は入力の手間を省くことができるので、便利な機能です。
例:
 C1 =A1+B1
C1セルを下にコピーすると
 C2 =A2+B2
 C3 =A3+B3 

ずれないようにするに...続きを読む

QVLOOKUPで値があるのにエラーになる

EXCEL2003でVLOOKUP関数を使用しています。

=VLOOKUP(A1,マスタ,2,0)

上記の関数をコピーしたのですが、いくつかエラーとなる箇所があり、
マスタの検索先を調べてみると、検索値と一致している項目があるのに
エラーとなっているものがあります。
IF関数で検索値とマスタの検索先を比べてみて、一致しているのは確認しました。
原因がわかる方いらっしゃいましたら教えてください。

Aベストアンサー

・検索先はマスターの左端の列ですよね
・検索先のセルをA1にコピーしてもエラーになりますか
・マスターの部分を範囲指定で置き換えたらどうなりますか


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング