[[20100630161347]] 『match関数 思った答えが返ってきません。』(みむり) ページの最後に飛ぶ

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

 

『match関数 思った答えが返ってきません。』(みむり)

いつも大変参考にさせて頂いております。match関数に付いて教えてください。Excel2007

	A列
1	検証
2	評価
3	貸出機
4	テスト
5	attack
6	貸出在庫

という表があり、「評価」がリストの中の何番目か調べようと思います。
=match("評価",A1:A6)

2であるはずの答えが、なぜか5になってしまいます。

実は投稿用に文字を変えようと思い、下記にして作り直していました。関数を変えないまま文字列を変更したので、「評価」をBBBに変更したらエラー値になるはずですが、6を返してきます。・・検索値を参照していないようです。

	Find	評価
1	AAA	6
2	BBB	
3	CCC	
4	DDD	
5	EEE	
6	FFF	

理由はなんでしょうか・・。
よろしくお願いいたします。


 短い方が格好が良いと思って、引数の省略は、しない事。

 =match("評価",A1:A6,False)
 =match("評価",A1:A6,0)
 BJ

 =match("評価",A1:A6,0)
 照合の型を入力してみたら? 

 検査範囲は絶対参照にしなくて大丈夫ですか?

 (こだぬき)

 かぶりまくりですがそのままで(汗

 MATCH関数のヘルプを確認していますか?

 >MATCH(検査値,検査範囲,照合の型)

 >照合の型
 >-1、0、1 の数値のいずれかを指定します。
 >照合の型には、検査範囲の中で検査値を探す方法を指定します。

 >照合の型に 1 を指定すると、検査値以下の最大の値が検索されます。
 >このとき検査範囲のデータは、昇順に並べ替えておく必要があります。
 >昇順の並べ替えでは、数値は 1 〜 9、アルファベットは A 〜 Z、かなは "あ" 〜 "ん"、ブール型の値は FALSE から TRUE に配置されます。

 >照合の型に 0 を指定すると、検査値に一致する値のみが検索の対象となります。
 >このとき検査範囲を並べ替えておく必要はありません。

 >照合の型に -1 を指定すると、検査値以上の最小の値が検索されます。
 >このとき検査範囲のデータは、降順に並べ替えておく必要があります。
 >降順の並べ替えでは、数値は 9 〜 1、アルファベットは Z 〜 A、かなは "ん" 〜 "あ"、ブール型の値は TRUE から FALSE に配置されます。

 >照合の型を省略すると、1 を指定したと見なされます。

 お書きの式では照合の型を省略しているため「1」が指定されているものとみなされます。
 このとき、検索範囲が昇順に並んでいない場合、返される値は不定です。
 (検索範囲内のデータ、検索値によって異なる)

 で、2番目の表では昇順に並んでいますが検索値が検索範囲の文字より大きいとみなされるため検索値以下の最大値「FFF」の位置が返されます。

 検索範囲を並べ替えずにぴったりの値の位置を求めたいのであれば照合の型に「0」を指定してください。
 (独覚)

ありがとうございました。照合の型も初め入れてみてはいたのですが、間違えて"1"にしていました。
そして省略してしまったので、1になってしまったのですね。ありがとうございますm(_ _)m 
早いお返事で本当にうれしいです。

BJさん( 短い方が格好が良いと思って、引数の省略は、しない事)。

 笑 わたし、やりがちです。今度から気をつけます(^^

こだぬきさん
絶対参照にしないとですよね。ありがとうございます。

独覚さん
ご丁寧にありがとうございます。本当によく分かりました! m(_ _)m

(みむり)


 タイトルを少し変更しました。(kazu)

コメント返信:

[ 一覧(最新更新順) ]


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