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

Match関数の使い方で↓のような例をみつけたのですがよくわからないのでアドバイスをお願いできますでしょうか


  A    B         Match関数の答え
1 1500  MATCH(0,$A$1:A1,-1) 1
2      MATCH(0,$A$1:A2,-1) 1
3 2000  MATCH(0,$A$1:A3,-1) 3
4     MATCH(0,$A$1:A4,-1) 3
5     MATCH(0,$A$1:A5,-1) 3
6     MATCH(0,$A$1:A6,-1) 3
7 3000  MATCH(0,$A$1:A7,-1) 7

Match関数の引数を-1にした場合
一般的な説明は検査値以上の最小の値が検索されます
データを降順に並べ替えておく必要があります
です。

例えば B7のMATCH(0,$A$1:A7,-1) の場合、検査値0以上の最小の値は1500なので、1が返ってくるのではないでしょうか

また降順に並べておく必要がありますとありますが、
↑の例は降順になっていないのですが、関数がエラーになりません。

作業はすすんだのですが、Match関数の使い方が理解できないので
どなたかアドバイスをお願いいたします。

質問者からの補足コメント

  • うーん・・・

    ↑は参考書にあったのですが、そこには
    検査値に検査範囲の最小値未満の数値を指定し、照合の種類に-1を指定すると最下行の数値が求められる。
    なお、Match関数の検査値を省略した場合は検査範囲で指定した値に0以下の値があると正しく求められないので注意
    とありました。

      補足日時:2017/11/19 22:44

A 回答 (2件)

「検査値以上の最小の値が検索」というのは、「データを降順に並べ替えて」いた場合の話ではないでしょうか?


「データを降順に並べ替えて」おかない(テンデンバラバラの)場合は、「位置的に最寄りにある検索値以上の値」になると、私は思っています。(だから、例示された式の「関数がエラーにな」らない?)

ところで、例示された数値 0 を検索する式の目的は何なのでしょうねぇ?
セル B1 に =MATCH(3456,A$1:A1,1) を入力しても結果は同じで、かつ、一般的な使い方ですけど。

私、何か勘違いしているかしらン?
    • good
    • 0
この回答へのお礼

どうもありがとうございました。「データを降順に並べ替えて」がいた場合の話ではないかと、私もそう思うようになりました。

質問の式は参考書の内容なもので、数値0を検索する目的は最下行の数値を求めるためのようです。(質問の補足につけたしました)
どうもありがとうございました。

お礼日時:2017/11/19 22:48

[補足]および[No.1お礼]へのコメント、


私には「最下行の数値を求」まっていると言えるのかヨー分からんです。貴方は?
紹介されたトリッキーな方法より、昇順に並べた検査範囲の最大値以上の数値を指定し、照合の種類を省略(または 1 を指定)する方がリーズナブルと思います。

該当する参考書の著者は誰ですか?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
本は
http://gihyo.jp/book/2013/978-4-7741-5500-5
です。
実際の例は 同じ単価は結合して1つのセルになっているので単純に単価×数量ができない場合でした。
↑の方法だと、index関数と合わせて単価×数量ができる仕組みでした。
作業自体は進んだのですが、仕組みがよくわからず質問いたしました。

並び方がポイントということはわかりました。

どうもありがとうございました。

お礼日時:2017/11/20 05:55

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