アプリ版:「スタンプのみでお礼する」機能のリリースについて

Microsoft Excel 2002 SP3 での質問です。

match("木",{"土","日"}) が、2を返すんですが、これはExcelのバグでしょうか? それとも、私の勘違いでしょうか?
第1引数が、第2引数の配列の何番目にあるかを調べるのが、matchの機能だと思ったのですが・・

なぜか、#N/Aが返りません。
これは、土日の判定に使おうと思っています。Weekdayで検査してもいいのですが、動かない理由が分かりません。
数値などは、問題なく動いているように見えますし、木曜以外は動きます。

A 回答 (2件)

MATCH関数の照合の型が省略されているので検索値に近い最大値を選択しているからです。

これを完全一致型の0を使用する事で#N/Aが戻りますのでお試し下さい。
=match("木",{"土","日"},0)
因みに土日判定ならWEEKDAY関数の方が良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
Excelはあまり使わないんで、知りませんでした。
関数のマニュアルの読み方がいい加減でした。

ありがとうございます。

お礼日時:2008/04/07 15:40

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



検査値 表の中で必要な項目を検索するために使用する値を指定します。

検査値 には、実際に検索する値ではなく、検査範囲 の中で照合する値を指定します。たとえば、電話番号帳を使ってある人の電話番号を調べるとき、検査値 としてその人の氏名を指定しますが、実際に検索するのは電話番号です。


検査値 には、数値、文字列、論理値、またはこれらの値に対するセル参照を指定できます。

検査範囲 検査値 を含む隣接したセル範囲を指定します。検査範囲 は、配列または配列に対するセル参照を指定してもかまいません。

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

照合の型 に 1 を指定すると、検査値 以下の最大の値が検索されます。このとき 検査範囲 は、-2、-1、0、1、2、...、A、...、Z、...、ア、...、ン、...、FALSE、TRUE のように昇順で並べ替えられておく必要があります。


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


照合の型 に -1 を指定すると、検査値 以上の最小の値が検索されます。このとき 検査範囲 は、TRUE、FALSE、...、ン、...、ア、...、Z、...、A、...、2、1、0、-1、-2、... のように降順で並べ替えられている必要があります。


照合の型 を省略すると、1 であると見なされます。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2008/04/07 15:41

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