[[20070301212533]] 『VLOOKUP関数について』(nao) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUP関数について』(nao)
 VLOOKUP関数についてなんですが、最初に手入力した表のコードがあるのですが                                                                                                                                                                                                                                                                                                                              1	高橋肇	Windows基礎	OB	2002年4月	   4	\8,000
2	高橋肇	Windows応用	OA	2002年7月	   4	\14,000
3	佐藤みどりExcel基礎 	EB	2002年8月	   6     \12,000
4	佐藤みどりExcel VBA	EV	2002年12月   8    \24,000
5	福島隆	Windows基礎	OB	2002年4月	   4	\8,000
6	福島隆	Word基礎	         WB	2002年5月	   6     \12,000
7	福島隆	Excel基礎	         EB	2002年8月	   6     \12,000
8	和田みつるExcel VBA	EV	2002年12    8	\24,000
9	小野正	Word応用	         WA	2002年10    8     \20,000
10	小野正	Excel応用  	EA	2002年11月  6	\20,000
11	鹿島紀子	PowerPoint基礎	PB	2002年6月   4	\15,000
12	鹿島紀子	Excel基礎	         EB	2002年6月   6     \12,000
13	鹿島紀子	Access基礎	AB	2002年9月	   7	\28,000
14	東俊之	Windows基礎	OB	2002年8月	   4	\8,000
15	東俊之	Excel基礎  	EB	2002年6月   6	\12,000

 と、こういうふにならんでいたのですがVLOOKUP関数の練習のために、コードを一度OB
からEBまで消して、VLOOKUP関数でセルDをアクティブセルにして、関数の挿入の設定画面で
(検索)を選び次に(VLOOKUP関数)を選び関数の引数の画面で検索値でC3のWindows基礎を選び、そして範囲をコース表のセルI4からL12までを選択して絶対参照にして列番号に2を入れて
OKを選択すると列DにOBと表示されて、ここまではうまくいくのですが、D3からほかのセルに
フィルハンドルで行17までコピーすると
OB
OB
EB
EV
OB
WB
EB
AB
WA
EV
EB
EB
AB
OB
EB
というふうに最初とちがったコードの順番になってしまいます。よろしくおねがいします。

(nao)

	コース表			
受講コース	コード	受講回数	受講料
Access基礎	AB	7	\28,000
Excel VBA	EV	8	\24,000
Excel応用 	EA	6	\20,000
Excel基礎	         EB	6	\12,000
PowerPoint	EB	4	\15,000
Windos応用	OA	4	\14,000
Windos基礎	OB	4	\8,000
Word応用	         WA	8        \20,000
Word基礎	         WB	6       \12,000


 よく意味がわかりませんが、、、
 そのVLOOKUP関数を提示してみてはいかがでしょう?
 
 (キリキ)(〃⌒o⌒)b


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

 検索の型を指定しましょう

 VLOOKUP(検索値, 範囲, 列番号, FALSE)

(キリキ)さんありがとうございます  (nao)

=VLOOKUP(C3,$I$4:$L$12,2)とこういう感じで検索値がC3 範囲が$I$4:$L$12 列番号が2
です。本には検索の型は空白でよいとかいてあるのです。


HELP読んでる?

検索の型 VLOOKUP を使用して検索値と完全に一致する値だけを検索するか、その近似値を含めて検索するかを指定する論理値です。

TRUE を指定するか省略すると、検索値と完全に一致する値、またはその近似値が返されます。検索値が見つからない場合は、検索値未満の最大値が使用されます。
範囲の左端の列にあるデータは、昇順に並べ替えておく必要があります。そうしないと、正しく計算が行われません。データを昇順に配列するには、[データ] メニューの [並べ替え] をクリックし、[昇順] をクリックします。詳細については、「既定の並べ替え順序」を参照してください。

FALSE を指定すると、検索値と完全に一致する値だけが検索されます。この場合、範囲の左端の列にある値を並べ替える必要はありません。検索値と一致する値が範囲の左端に複数ある場合は、最初に検索された値が使用されます。検索値と完全に一致する値が見つからない場合は、#N/A エラー値が返されます。


 最近出没している名無しさん、HNを書いてくださいね^^
 (dack)

ありがとうございます。(dack)さん (nao)


 こんにちは〜♪

 横から失礼します。。。

 >=VLOOKUP(C3,$I$4:$L$12,2)とこういう感じで
 >本には検索の型は空白でよいとかいてあるのです  

 今回の場合、VLOOKUPが参照する範囲の左の列(受講コース)
 のデータが、昇順に並んでいると言う条件。
 で、書かれているのではないでしょか。

 コース表 ↓

            I             J        K           L

 [3]	受講コース      コード  受講回数   受講料
 [4]	Access基礎       AB       7       \28,000
 [5]	Excel VBA        EV       8       \24,000
 [6]	Excel応用        EA       6       \20,000
 [7]	Excel基礎        EB       6       \12,000
 [8]	PowerPoint基礎   PB       4       \15,000
 [9]	Windows応用      OA       4       \14,000
 [10]	Windows基礎      OB       4        \8,000
 [11]	Word応用         WA       8       \20,000
 [12]	Word基礎         WB       6       \12,000

 上のコース表を見る限り昇順になっていますので
 正しい結果が返るはずですが。

 上の表のコース名は、私が直してありますが
 naoさんのは、受講コース名が、スペルが違う物がありました。
  Windows応用
   ↓
  >Windos応用

 ですから、正しい結果を返さないのではないでしょうか。

 ★皆さんも書かれていますが
 VLOOKUP(検索値, 範囲, 列番号, FALSE)

 検索値が、特に文字列の場合は完全一致で
 検索の型を FALSE にした方が良いと思います。

 ご参考にどうぞ〜。。

 。。。。Ms.Rin〜♪♪


Ms.Rinさんありがとうございました^^  (nao)


Windows応用を直して、VLOOKUP(検索値、範囲、列番号、FALSE)でやり直したらコードの列は前よりただしく並べられるようになりました。まちがっていたところは、ExcelVBAでした。
Excel半角VBAだったのをExcelVBAにしたら前よりエラーがなくなったのですが、一箇所だけ
10番目のExsel応用のところだけ#NAになってしまいます。本当ならばEAになるはずなの
ですが、すいませんがよろしくおねがいします。
(nao)


 スペルが合っているとするならば、、、
 スペースの有無などは大丈夫でしょうか?
 エクセル君は、スペースが入っているだけで「違うもの」と、判断してしまいます。
 
 (キリキ)(〃⌒o⌒)b

最初の手入力した表のExcel応用とコース表のExcel応用を入力し直したら、うまくいきました。これってExcelのきまぐれでしょうか?
    (キリキ)(〃⌒o⌒)b  さんありがとうございます。     (nao)              


 前のデータが残っていれば、単純に
=A1=A2
 の様な式で、A1とA2の内容が等しいかどうか確認してみると
 おそらく[FALSE]等しくないですよ。と言う結果が出ていた事と思います。

 きまぐれではなく、キリキさんの仰っているような
「目では見えないけど違う」あるいは「非常に似ているから見落としているけど違う」
 と言う事だったのだと思いますよ。
「=で見比べて同じと出るのに、うまくいかない」
 のなら、本当に気まぐれかもしれません。由々しき事態ですよ。

 (HANA)

 HANAさんに、突っ込みを入れますwww
 
	[A]	[B]	[C]	[D]
[1]	a	A	TRUE	FALSE
			↑	↑
			=A1=B1	=EXACT(A1,B2)
 
 (キリキ)(〃⌒o⌒)b

 ん?
	[A]	[B]	[C]	[D]	[E]	[F]
[1]	A	AA	「A」→	A	AA	TRUE
[2]			「A 」→	A 	#N/A	FALSE
[3]			「a」→	a	AA	TRUE
					E1=VLOOKUP(D1,$A$1:$B$1,2,0)	
						F1=$A$1=D1
 こういうことではないの?
 単純に=で見比べてTRUEの時は、VLOOKUP関数で引っ張ってこられる。

 (HANA)

 いや、、、
 深い意味は無いんです。。。
 
 ただ、HANAさんに突っ込みいれられる貴重〜なスレかもb
 って思ったからw
 
 いや、ごめんなさい^^;
 (キリキ)(〃⌒o⌒)b

 う〜〜ん、おかしいですね。
 私のは突っ込みどころ満載だと思うのですが・・・。(笑)

 なので早速違ったことを書いたかと思ってドキドキしましたよ。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.