• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル MATCH関数について)

エクセルMATCH関数の問題 - 順番通りに表示されない

このQ&Aのポイント
  • エクセル2013の練習でMATCH関数とINDEX関数を利用したデータを作っていました。
  • 指定の行はB73~B76までの4行で、春、夏、秋、冬の順番で並んでいますがC79に春と入力すると、順番としては1番目の春が何故か3と表示されます。
  • この現象を春を使用しない以外に回避する方法がありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

MATCH関数の第3引数(照合の型)が省略されているためです。 以下のように0を指定してください。 =MATCH(C79,B73:B76,0) そのままの数式で対応するなら参照するデータを昇順に並べ替えてください。 以下MATCH関数のヘルプより引用 ##照合の型 省略可能です。-1、0、1 の数値のいずれかを指定します。照合の型には、検査範囲の中で検査値を探す方法を指定します。この引数の既定値は 1 です。 照合の型 動作 1 または省略 MATCH 関数は、検査値以下の最大の値を検索します。検査範囲の引数の値は、昇順の並べ替えでは、1 ~ 9、A ~ Z、あ~ん、FALSE ~ TRUE の順に配置されます。 0 MATCH 関数は、検査値と等しい最初の値を検索します。検査範囲の引数の値は、任意の順序で指定できます。 -1 MATCH 関数は、検査値以上の最小の値を検索します。検査範囲の引数の値は、降順の並べ替えでは、9 ~ 1、Z ~ A、ん~あ、TRUE ~ FALSE の順に配置されます。

manual372
質問者

お礼

回答ありがとうございます。 照合の型を入れた所、無事に正しく表示されました。 入力中にも関数の式が表示されているのに見落としておりました。 No2の方からも同様のアドバイスをいただいておりましたが、最初に回答して いただいたということで、No1の方をベストアンサーとさせていただきます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! MATCH関数の「照合の型」の指定を省略していますので、 「TRUE」型として処理されます。 「TRUE」型で処理する場合は検査範囲を昇順で並べておく必要があります。 ただし、「昇順」といってもあくまで数値に関してですので文字列ではとんでもない結果になると思います。 必要なことは日ごろから「照合の型」を省かずに 今回の場合は =MATCH(C79,B73:B76,0) としてみてください。 「照合の型」の0(FALSE)は「完全一致」のデータは範囲指定した行の何行目か? が返ります。 無意味で余計なお世話かもしれませんが、 B73~B76のデータを 夏・秋・春・冬 の順にすれば「照合の型」を省略してもその順番通りの行が返ります。 試しに A73セルに =COUNTIF(B$73:B$76,"<"&B73)+1 という数式を入れ、フィルハンドルでA76セルまでコピーしてみてください 強いて言えばこれが春・夏・秋・冬 の大きい順になるので、 検査範囲がこの順番になっていれば「照合の型」を省略してもお示しの数式で表示できると思います。 (検査範囲が文字列なのでこの使い型が正しいかどうかは疑問ですが・・・) 結論として、日ごろから「照合の型」は指定する習慣をつけた方が良いと思います。m(_ _)m

manual372
質問者

お礼

回答ありがとうございます。 照合の型をなんで入れていなかったのか、恥ずかしい限りです。 COUNTIF関数を試してみましたが、春の横に打ち込んでみたところ3と表示されました。 フィルハンドルで下までコピーすると3,1,2,4の順に。 この理由は何とか自力で確認してみたいと思います。 >結論として、日ごろから「照合の型」は指定する習慣をつけた方が良いと思います。m(_ _)m 基本的な事を忘れないよう、気を付けます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A