• ベストアンサー

エクセルの関数で

次のような表があります。 名前 国語 算数 理科 あい 90 80 80 うえ 40 70 89 おか 60 70 90 きく 60 80 80 この中で科目別の最大最小をもとめ、 その点数をだしたのは誰かを求めたいのです。 重複した場合は、最初にヒットしたものでかまいません。 LOOKUPはソートしないとだめだし、 VLOOKUPはソートしなくてもいいのですが範囲の指定が・・ MATCHでは何番目までは取得できたのですが・・ マクロを使わず、この表の並び替えもしないで 出来る方法はありますか? win2k・Excel2000です

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

  • ベストアンサー
  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

MATCH関数までできるのなら、そこからOFFSET関数を使えば どうでしょうか。 =OFFSET($A$1,MATCH(B7,B2:B5,0),0) MATCH関数で最高点の取得者の範囲内での行番号を取得し、 「名前」欄からその分オフセットした欄に該当する 名前を表示します。 (名前欄をA1 として表を作った場合の式です)

momoturbo
質問者

お礼

有難うございました。 無事出来そうです。

関連するQ&A

  • 参照関数を教えてください。

    エクセル2003sp2をXPで使用しています。 たとえば。     Aさん  Bさん  Cさん  Dさん 国語   1    3    4    2 算数   2    4    1    3 社会   4    1    3    2 理科   3    2    4    1 ↑のようなランキングの数表があるとして。その横に Aさん'   Bさん'   Cさん'   Dさん'  国語   算数    理科    社会  算数   理科    社会    国語  理科   社会    国語    算数  社会   国語    算数    理科 ↑のようにランキング順に並べ替えし、 同時に左端のラベルを引っ張ってきたいのですが。 LOOKUPやVLOOKUPは「昇順」というのがキーワードのようで 『Aさん'』の真下に 【=VLOOKUP(1,B$2:B$5,1,0)】と入れても【1】が出。 【=LOOKUP(1,A$2:A$5,B$29:B$49)】と入れると【#N/A】が出ます。 縦に20前後、横に90前後とデータがちょっと多いため ランキングを個々に並び替えることなく一発表示させたいです。 どんな数式を入れてあげればよいのでしょうか?

  • エクセルの質問です。

    エクセル2003を使用しています。 元データには   A   B(国語点数) C(算数点数) D(社会点数) E(理科点数 F(英語点) G(合計) 1 名前(1)   90        85        70       100      20    365 2 名前(2)   85        20        40       70       50    265    3 名前(3)   50        90        60       70       80    350 というデータを     A    B    C 1 名前(1)  国語  90 2        算数  85 3        社会  70 4        理科  100 5        英語  20 6        合計  365 7 名前(2)  国語  85 8        算数  20 9        社会  40 10       理科  70 11       英語  50 12       合計  265       ・       ・       ・ となるように表示していきたいのですが… ただのセルのコピーでは人が連続してコピーできませんでした。 何かいい方法があるかたはご教授ねがいます。 よろしくお願いします。   

  • Excelでデータを取り出したいとき

    初めて質問させてもらいます。     A君   B君 国語  85   社会      87  数学  90  95 理科      83 英語  97 このような感じで、点数80点を超えた場合のみ点数を入力していくとした場合に、別のシートにA君・B君が取った点数を、教科などを気にせずに80点以上の点数を表にまとめるという形で抽出することは可能でしょうか? また、これと同じような表が複数個ある時に、それらすべてをまとめて表にする、ということもできるのでしょうか?? VLOOKUPなどでやってみたのですがどうしても空欄ができてしまい、表がどうしても見にくくなってしまいます。どなたがご助力お願いします。

  • エクセルの関数について質問です。

    以下のようなエクセルの表があります。 列:生徒氏名 行:生徒が履修する科目名 各セルに各生徒が履修する科目の開講曜日・時限       国語   算数   理科   社会   重複 生徒1   水1   木2        月3 生徒2   水3        火4 生徒3   月5   金4        月5 生徒4   金2   金2   火4 各生徒が履修する科目の曜日・時限が重複していないかを「重複」欄に表示できるようにしたいのですが、どのような関数を使えばよいでしょうか。 どうぞよろしくお願いします。

  • エクセル関数について

    エクセルで重複に関する質問です。 [元データ] A      B       C        会員番号 氏名     選択コース 1111   山田一郎  英語 1212   鈴木恵子  英語 1323   佐藤次郎  算数 1111   山田一郎  国語 1212   鈴木恵子  算数 1212   鈴木恵子  国語 という表があるとします。(実際のデータはもっとある) 山田さんは英語と国語の2コースを選択。 鈴木さんは英語と国語と算数の3コースを選択。 佐藤さんは算数だけを選択。 というわけです。 ここで、D列に、 A      B       C          D     会員番号 氏名      選択コース   総選択内容 1111   山田一郎   英語       英語・国語 1212   鈴木恵子   英語       英語・国語・算数 1323   佐藤次郎   算数       算数のみ 1111   山田一郎   国語       英語・国語 1212   鈴木恵子   算数       英語・算数・国語 1212   鈴木恵子   国語       英語・算数・国語 という表示をさせたいのですが、 どうすればいいでしょう? いろいろあると思うのですが、 作業させる人がPC操作が苦手なので、 元データを貼り付けただけで、 自動的にD列が表示されるようにしなければならないのです。 ピポットやマクロなどは使えないのです。 毎回私がやってあげられないので、 関数のみで、(勿論、隠しシートで関数を組み合わせることになると思いますが)、 あるいは、とにかく作業させる人が何もしないのに元データを貼り付けただけで、 D列が自動的に表示される、という状態にする方法があれば、どうか教えてください。 よろしく御願いします。

  • エクセルでランク表を作成する方法について

    Excelでランキング表を作成する方法を教えてください。 具体的には      国語  算数  理科   A   78   67   88   B   68   83   76   C   80   79   91 という表が既にあります。  これを次のような科目別のランキング表にしたいのです。       国語  算数  理科  1位   C     B   C  2位   A    C   A  3位   B    A   B   いろいろな関数を試したのですが,うまくいきません・・・  よろしくお願いします。

  • エクセル 表から指定した値を取り出す関数

    エクセルの関数について教えてください。 エクセルの表があって、そこの列項目と行項目を指定した時に クロスするセルの値を取り出すことをしたいのですが、 どのような関数を用いれば実現できるのでしょうか? 具体的には以下のような表をエクセル上に書いてあるとします。    国語 算数 英語 田中 80 70 60 鈴木 50 90 80 で、任意のセルに田中の国語の点数を示そうとした時、 どのような関数を書けばいいのでしょうか? わかりにくい説明かもしれませんが、宜しくお願いします。

  • 息子の宿題

    小5の算数の宿題で、恥ずかしながらどーしてもわからない問題があるので回答よろしくお願いします。 ”国語、社会、算数、理科のテストをしました。国語、社会、理科の3つのテストの平均点は86点ですが、算数を入れた4つのテストの平均点は85点になります。算数の点数は何点でしょうか。”

  • Excel2003 エクセル ある行の範囲内で最小値の列の特定のセルの

    Excel2003 エクセル ある行の範囲内で最小値の列の特定のセルの文字を返す方法 Excelで関数を使ってセルの作成方法を教えていただけませんか?    国語  算数  理科     90    85   80 の場合80点が最小値ですので、あるセルに理科と表現したいのです。 よろしくお願いします。

  • COBOLで内部ソートをしたいです

    COBOLで内部ソートをしたいです 生徒一人ひとりの成績データから上位点数のものを3教科得点としたいです。 項目名 変数名 国語 wk-kok 算数 wk-san 社会 wk-sha 理科 wk-rik 体育 wk-tai 3教科合計 wk-3kei これで3教科の合計を点数が高い順に上位3教科で合計としたい場合、 単純に国語と算数を比べて、次は国語と社会を比べて・・・とそんなやり方しか思いつかないのですが 何か良い方法はないでしょうか。 使用しているのは富士通のNETCOBOLです。

専門家に質問してみよう