• ベストアンサー

セルの中で数値を検索したいのですが

ある数値をランク関数で、ランク付けしてます。 1~10位の間でランクし、これを検索したいわけですが 普通に検索するだけだと、MATCH関数でいけるんですが たまに、数値が同じになり、5位が複数になったりすると 一つ目の5位はいけても、二つ目の5位が検索できずに#N/Aになってしまいます。 こういう場合に、1つ目の5位、2つ目の5位 という感じで 分けて検索できるような関数、もしくは方法はあるのでしょうか? 良い知恵お持ちの方いらっしゃいましたら助けていただけませんでしょうか^^;

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

◆このような順位付けをしてはいかがでしょうか? 表1     A  B  C  D  E  F  G  H  H  I   01  2  4  5  2  3  7  1  4  2  5   02  4  4  2  3  4  5  2  6  7 10   03 04 05 06 07 08  6  8  7  5  7 12  3 10  9 15   09  3  6  4  2  5  9  1  8  7 10 >9行目では、これらの数値を数値の少ない順にランク関数でランクをつけています A9=RANK(A8,$A$8:$J$8,1)+COUNTIF($A$8:A8,A8)-1 ★右にコピー ★これですと、E9は「5」になります

mazdaFD3
質問者

お礼

maron--5様、2件もの詳細なご回答ありがとうございます^^ 両方拝見したのですが、ANo.3でいただいたご回答は私には難しいのと、イメージ的にはANo.2の内容の方が助かりました^^; 4位が二つある状態よりも、無理やりでも重複ランクをなくした状態の方が、便利ですし、複雑な式よりも柔軟な考え方の方が大事であると勉強になりました^^

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

その他の回答 (2)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆どうしても、4が2つあるような同じ順位付けをするのであれば 表1をSheet1とし、表2をSheet2としますと ★表2(Sheet2)     A  B  C  D  E  F     01  1  7 02  2  4 03  3  1 04  4  3 05  5  5 06  6  2 07  7  9 08  8  8 09  9  6 10 10 10 ◆式1 B1=SUMPRODUCT((SMALL(Sheet1!$A$9:$J$9+COLUMN(Sheet1!$A$9:$J$9)*10^-5,A1)=Sheet1!$A$9:$J$9+COLUMN(Sheet1!$A$9:$J$9)*10^-5)*COLUMN($A:$J)) ★下にコピー ◆式2(MATCH関数を使用するのであれば) B1=MATCH(SMALL(Sheet1!$A$9:$J$9+COLUMN(Sheet1!$A$9:$J$9)*10^-5,A1),Sheet1!$A$9:$J$9+COLUMN(Sheet1!$A$9:$J$9)*10^-5,0) ★この式は「配列数式」です。式を入力後、Ctrl+Shift+Enter をおして、式を確定させてください。 ★確定すると、式の両端に{ }がつきます。 ★式を確定させてから、下にコピー

全文を見る
すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆方法はあります ★抽象的な質問にはこのような回答にならざるを得ません ★具体的な表を示していただけば、具体的な回答をさせていただけると思います

mazdaFD3
質問者

補足

maron--5さん、回答ありがとうございます。 簡素すぎてしまったようです、失礼しました。 以前、別の方に冗長すぎる質問は読む気すら起きない、と注意を受けたものですから^^;  以下のような、表1があったとします。 表1     A  B  C  D  E  F  G  H  H  I   01  2  4  5  2  3  7  1  4  2  5   02  4  4  2  3  4  5  2  6  7 10   03 04 05 06 07 08  6  8  7  5  7 12  3 10  9 15   09  3  6  4  2  4  9  1  8  7 10 表1では、1~7行目まで別表からの数値が入っています。 この表では説明の便宜上、2行目までのみ数値を記入しています。 8行目では、1~7行目の数値を合計した数値が入ります。 この場合、1行目+2行目の数値がA8~I8の行に10個あります。 9行目では、これらの数値を数値の少ない順にランク関数でランクをつけています。 この場合、G8が最も少ない合計数ですので、ランクは1位になり、最も多いI8が10位になります。 以下のような、表2があったとします。 表2     A  B  C  D  E  F     01  1  7 02  2  4 03  3  1 04  4  3 05  5 #N/A 06  6  2 07  7  9 08  8  8 09  9  6 10 10 10 表2では、A列に1~10位を示す数値が入ります。これは固定数値です。 B列では、MATCH関数を用いて、表1の9行目の数値を検索しています。 例えば、表2のA1は1(1位)ですが、表1の9行目で、7個目になりますので7になり 同じように、A2の2(2位)は4個目になりますのでB2は4になります。 表1の9行目では、4位がC9とE9に二つあるため、5位はありませんので、B5では数値が検索できず#N/Aになります。 これを、#N/Aにならずに、一つ目の4位(B4)が3だった場合は、5位(B5)に二つ目の4位として、5を入れたいのです。 ランクは10位までしかないので、この場合B列の中には1~10のランクの中では5のみ存在しませんので、自動的に5が入るという感じです。 現在のところ、重複するランクが2つ出たことはありませんので、表2の例のようなケースのみを考えているのですが もし、重複するランクが2つ以上発生した場合の対応方法も合わせてご質問させていただきたいと思います。 改めて、このような場合における、関数。または解決できる方法がございましたらご教示いただけませんでしょうか^^;  

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

関連するQ&A

  • セル範囲内いずれかの数値が他のセル範囲に含まれるかを調べたい

    EXCEL2003です。 A1~H1にそれぞれ3桁の数値が入っています。(空欄もあります。) これら範囲内の数値のいずれか一つでも他のセル範囲(次のシートのA1~A50まで)に 含まれていれば結果をJ1に表示したいのですが、可能でしょうか。 当初はJ1に、if(A1が含まれるか,"あった",if(B1が含まれるか,"あった",if(~と、 やってましたが、関数のネストレベルに引っかかってできませんでした。 MATCH関数だと一つの数値が含まれるかどうかは調べられるようですが、 検索したい数値が複数ある場合はやはりセルを分けて別々に評価するしかないのでしょうか?

  • ある数値が何個目にあるか調べる関数ありますでしょうか?

    タイトルにありますとおり ある数値が何個目にあるか調べる方法 または関数がないか悩んでおります^^; 文章だけではわかりにくいので以下に例を示します。   A B C D  1 2 2 0 3 1 4 8 5 2 6 9 7 5 8 3   このような表があったとします。 A列に適当な数字が並んでいます。 A列で3が何個目にあるか?という場合は MATCH関数でMATCH(3,A1:A8)で8と表示されると思います。 調べたい数値が1個だけしか存在しない場合はいいのですが 複数ある場合、MATCH関数だとうまくいきません。 例えば、A列の2を調べる場合は1行目と5行目にあるため使えません。 このような場合、使えそうな関数、またはMATCH関数でも便利な活用方法など ご存知の方いらっしゃいましたら、ご教示いただけませんでしょうか^^;

  • 【EXCEL】空白でないセルの位置を検索したい

    初めまして。 EXCELの関数を利用して、 下記のようなことをしたいと思案中です。  A B C D E F 1* 1   2   3 2* 1   2 3 3 3* 1   2    4* 1   2 3 3 *が計算式を挿入したい箇所です。 各行の最初のブランク位置を検索したいです。 ブランクの個数は不定ですが、 B~Fのセルに入れるデータは全て数値です。 MATCH関数を使い、MATCH("",B3:F3)のようにしても、 #N/Aとなってしまいます。 何か良い方法はないでしょうか? ご教授頂けますようよろしくお願い致します。

  • Excel 順不同数値の検索

    | A | B |   100 115   110   120   130   120   110   120 このように数値が順不同で並んでいるA列を上から検索して、 B1の値と同じ値かそれ以上になる行番号(かその値)をB2に表示させるには どのようにすればよろしいでしょうか。 (上記の場合ですと、3行目の120の値をB2に表示させたい。) 出来ればVBAは使わず関数だけで実現したいと考えています。 VLOCKUP、MATCH等々、検索関数を調べましたが出来そうで出来ません。 ご教示頂けますでしょうか。

  • EXCEL関数の「RANK関数」で跳び表示なし・・

    EXCELのRANK関数についてですが。 下記の点数の数値にランク付けをしたとき、重複する点数が複数あるときは、重複個数分跳んで次のランク順位が表示されますが、 今回のニーズとして、重複しても跳ばずにランク表示を1.2.3.4と表示させたいのですが何か方法はありますか? 具体的には下記です。 100 100 90 72 72 60 60 50 の点数郡に対して =RANK(A1,$A$1:$A$8)の関数を使うと このようになると思いますが、 100 1 100 1 90 3 72 4 72 4 60 6 60 6 50 8 ↓こういう答えが欲しいです。 100 1 100 1 90 2 72 3 72 3 60 4 60 4 50 5 宜しくお願いします。

  • エクセルで上から2つめの数値を取得したい(MAXのような関数はないのか)?

    エクセルで、複数のセル(とりあえず横に並んでいる)から最大、最小の数値を取得するにはmax,min関数を使ってできます。では、同様に上から2番目の数値を取得する関数はあるでしょうか? rank,match,hlookup等を組み合わせては実現可能なようですが、列をたくさん消費します。しかも、1位が2つある時の対応など、めんどうです。もし、簡易な手法があったら教えてください。

  • (エクセル)複数のセルの数値を、一つのセル羅列したい

    いつもお世話になります。 エクセル初心者(マクロも関数も;;)です。 表題の通り、複数のセルにある数値を一つのセルにまとめる方法を探しています。 例えば、 --------------------------     A   B   C   D 1   123  45   67  1234567 2   00   11   22  001122 -------------------------- のようにDの縦列にA・B・Cの数値を (合計ではなく)羅列させたいのです。 すごく初歩的な質問のようなことだと思いますが これがわかりません。。。 どうか簡単な方法を教えて下さい。 あと数値じゃなくて文字列でも同じような事ができるでしょうか? 環境:Excel2003

  • (MS-Excel)複数の条件にマッチする複数のセルを配列?で出力させ

    (MS-Excel)複数の条件にマッチする複数のセルを配列?で出力させたい。 たとえば、条件1=A列で値が数値であるセルと、条件2=条件1でマッチしたセルと同じ行でC列で値が「その他」という文字列であるセルを検索させます。 そして、A列でマッチしたセルの値をE列に出力させて、C列でマッチしたセルの値をF列に出力させたい、というような感じです。 VLOOKUP関数などで、{配列}を使うなどすれば可能だと思って試行錯誤したけどダメでした。 なお、データベース関数のように条件セルなど作業セルが必要な方法は使いたくないです。 よろしく、お願いします。

  • セルの値をcountifの範囲に使いたいです

     すいません、初心者です。 A1 のセルが49と表示(数式はmatch関数)されている状態で、 A2でA1を使い、countif(49:49,"N") と計算されるようにしたいのですが、どのような数式にすればよいのでしょうか。 *49は行の数値で、各行の"N"個数を調べたいのです。 A1の値は変わっていきますので、それをA2にも自動的に反映させたい のです。どうかよろしくお願いいたします。

  • 文字列が数値に変換されない

    文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。

このQ&Aのポイント
  • カートリッジを入れ換えたところ「カートリッジが認識できません」との画面しか出なくなり、まったく使えません。端子部分を拭いてみたり、何度か抜き差しを繰り返したりを試してみましたが効果なしです。
  • カートリッジが認識できず、「カートリッジが認識できません」との画面が表示され、スキャン機能も使用できません。純正品のカートリッジを使用しており、端子部分を清掃し、複数回の抜き差しも試しましたが改善されませんでした。
  • EPSON社製品のカートリッジを入れ換えたところ、画面に「カートリッジが認識できません」との表示が出て使用できません。画面に表示される以外の対処方法がわからず、スキャン機能も利用できません。リセット機能があれば解決できるのかもしれませんが、確認できていません。
回答を見る

専門家に質問してみよう