• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:列の数値一番上、一番下を検索しA列の文字を返す)

セル内の最低点と最高点を取得する方法

このQ&Aのポイント
  • 列の数値一番上、一番下を検索しA列の文字を返す方法について教えてください。
  • 質問文章中のテーブルには、A列に点数が入力されており、B~C列には各問の人数が入力されています。
  • B列に入力されている数値の一番上(最低点)と一番下(最高点)を調べ、それに応じたA列の文字(点数)を返す関数について教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

>どのような意味なのか教えていただけたら幸いです。 再掲: >まぁこーいうもんだと思って使って下さい。 「配列数式」という特殊な計算式を利用しています。通常のエクセルの関数の参考書等には載ってない、とお話しした通りです。初心者さん向けのやりかたじゃない、マニアだけが使う極めて特殊な計算方法だと理解してください。 参考: http://pc.nikkeibp.co.jp/pc21/special/hr/ このすべてを理解してもらうまで、延々と説明をしていくのはここのような質問相談掲示板の範疇ではありませんので。 参考: >関数の勉強を始めたばかりでまったく解からず困っています。 ご利用のエクセルのバージョンも書かれていないご質問なので手取り足取りどこを選んで何をクリックと説明は省きます(次回からは、ご相談投稿に際してはあなたが普段使うソフトのバージョンまでキチンと明記する事を憶えて下さい)が、「数式の検証」という機能を使って『正しく計算できることが分かっている』複雑な計算式が、どのように計算を進めているのかステップを追って理解すると勉強になります。 この機能は、『間違っていないことが分かっている正しい計算式』の計算のシクミを理解するのに利用してください。 実際に手を動かして解答した数式の動作を確認してみると、数字が入ったセルに該当する位置に数字のゼロが並び、そのゼロを検索して先頭に出てくるゼロの位置を調べている(=先頭の数字の位置を調べている)事が判ります。

ki_ki
質問者

お礼

色々ご指導いただきありがとうございました。 次回投稿の際にはソフトのバージョンまできちんと書くようにいたします。

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

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

B7に =INDEX($A2:$A6,MATCH(0,INDEX(0/B2:B6,0),0)) B8はちょっと数式が簡単で =LOOKUP(999,B2:B7,$A2:$A7) それぞれ右にコピーすると出てきます。 いずれも「関数の勉強」をして判る計算式「ではない」(たとえば関数の参考書とかにこーいう使い方が載ってる計算方法じゃないという意味です)ので,まぁこーいうもんだと思って使って下さい。

ki_ki
質問者

お礼

回答いただき有り難うございました。 数式をコピーさせていただき解決しました。知識不足の私には数式の意味が解らず残念です。 INDEX(0/B2:B6,0)の0/B2を初めて見たのですが、どのような意味なのか教えていただけたら幸いです。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

B7セルには次の式を入力し、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 その式を右横のC7セルまでドラッグコピーします。 =INDEX($A$1:$A$6,MIN(IF(B$2:B$6>0,ROW(A$2:A$6),1000))) B8セルには次の式を入力して上と同様にして式を確定したのちにC8セルまで横にドラッグコピーします。 =INDEX($A$1:$A$6,MAX(IF(B$2:B$6>0,ROW(A$2:A$6),0)))

ki_ki
質問者

お礼

色んな関数の組み合わせがあるんですね。 最低点の方は上手くいきましたが、最高点の方がうまくいきません。頑張って勉強します。回答いただき有り難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

B2に  =INDEX($A$2:$A$6,MIN(10^(B$2:B$6=0)*ROW(B$2:B$6))-1) と入力して CtrlキーとShiftキーを押しながらEnterキー ※配列数式にする為 B3に =INDEX($A$2:$A$6,MATCH(MAX(B$2:B$6)+1,B$2:B$6)) と入力して Enterキー B2:B3を選択して左(C2:C3)へフィルコピー ============================ I関数使用方法の説明 NDEX(配列,行番号[,列番号])  配列の先頭から行番号の位置の値を参照します。 MIN(範囲) 範囲内の最小数値を求めます。 10^(範囲=0) 範囲内の数値が0以外の時に1を、その他は10を返します。 ROW(範囲) 範囲の行番号を返します。 MIN(10^(範囲=0)*ROW(範囲)) で数値が入った一番上のセルの行番号を表示します。 ※結果が配列の為、配列数式化が必須 MATCH(検査値,範囲) 検査値の値を範囲の中から探して位置番号を返します。 MAX(範囲) 範囲内の最大値を返します。 MATCH(MAX(範囲)+1,範囲) で範囲内で最後に数値が入力された位置番号を返します。

ki_ki
質問者

お礼

いち早くお返事いただきまして有り難うございました。 関数の説明も丁寧に教えていただき勉強になります。現在の私の知識では理解するのが難しい事も多いので、頑張って勉強したいと思います。 質問させていただいた内容につきましては、数式をコピーさせていただき、範囲等必要なセル番地のみを変えて、解決出来ました。

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

関連するQ&A

  • Excelにて列の一番下にある数値を表示する関数

    質問させていただきます。 エクセルの関数で「○列に入力されている数値の中で常に一番下にある数値を表示する」関数などありますでしょうか? 例えば B列に数値を入力していき、一番下?最終行?にある数値を自動で表示させたいです。下の例では「80」をとあるセルに表示させたいです。  A  B  C  D  ・・・・・ 1  100 2   99 3  150 4   80 5 6 ・ ・ =MAXという関数は見つけることはできたのですが・・・ =MAXの関数では、最大値しか表示できないので・・・ 色々と調べてみたのですが、調べ方が悪いのか探し出せませんでした。 お手数ですがよろしくお願いします。

  • 文字列を数値として認識させる方法

    Excelで次のような表を作っています。 項目A 1 項目A 1 項目B 2 項目A 1 項目C 1 このように並んでいる表を集計して、次のようにまとめます。 項目A 3 項目B 2 項目C 1 最初にデータを入力するとき、ほとんどの数値は「1」なので、項目を入力したら数値「1」が自動的に入力できるよう次の関数を使っています。 =IF(ISTEXT(A1),"1","") そして、2以上の数値が必要な場合は、「1」と自動入力されたところに、正しい数値を上書きして入力しています。 このとき、上書きした数値は数値として集計に反映されていますが、自動入力された「1」は文字列と判断されているようで、集計に反映されていません。 自動入力された「1」を数値として認識させるには、どのようにしたらいいでしょうか?

  • エクセルでA列、B列、C列、D列、E列に数値が入力されており、それぞれ

    エクセルでA列、B列、C列、D列、E列に数値が入力されており、それぞれの数値が重複しないように合計数値を計算したいのですが、何か良い方法は無いでしょうか? 例 A B C D E 1 5 12 6 13 13 2 7 13 7 14 14 3 16 8 20 5+12+6+13+13=49 5+12+7+13+13=50 よろしくお願いします

  • 【関数】B列の日付がA1より5日前なら文字色変更

    エクセルの関数について教えてください。 条件付き書式でもよいです。 A1に「=today()」で日付を表示させています。 B列は、手入力で任意の日付を入力しています。 C列には人数を入力しています。 何日(B列)は何人(C列)という表です。 たとえば、 B2の日付が、A1の日付より5日前なら、 B2、C2の文字色を赤色にする ということはできますか?

  • Excel(エクセル)の計算について

    大至急。 Excel(エクセル)についての質問です。 問題 左のデータは,2年生と3年生の生徒に, 同一のテストを実施した結果である。 欠席者の点数は,入力されていない。 (1)以下の値を求める数式を,右側に入力せよ。 生徒の人数(総数) 100 欠席者の人数 9 受験した生徒の人数 2年生の人数 3年生の人数 全体の平均点 2年生の平均点 3年生の平均点 全体の最高点 95 全体の最低点 10 (2) IF 関数を用い,評価の列に,次のように表示せよ。 ○ 点数が空白セルなら,空白 ○ 点数 ≧ 80 ならば 「A」 ○ 70 ≦ 点数 < 80 ならば 「B」 ○ 60 ≦ 成績 < 70 ならば 「C」 ○ 点数 < 60 ならば 「D」 という問題がわかりません。 Aの縦の列に生徒名、Bの列に学年、Cの列に得点が 書いてあります。 本当にパソコン音痴なので困っています。 わかりやすい回答をお願いいたします。

  • Excel(エクセル)について

    大至急。 Excel(エクセル)についての質問です。 問題 左のデータは,2年生と3年生の生徒に, 同一のテストを実施した結果である。 欠席者の点数は,入力されていない。 (1)以下の値を求める数式を,右側に入力せよ。 生徒の人数(総数) 100 欠席者の人数 9 受験した生徒の人数 2年生の人数 3年生の人数 全体の平均点 2年生の平均点 3年生の平均点 全体の最高点 95 全体の最低点 10 (2) IF 関数を用い,評価の列に,次のように表示せよ。 ○ 点数が空白セルなら,空白 ○ 点数 ≧ 80 ならば 「A」 ○ 70 ≦ 点数 < 80 ならば 「B」 ○ 60 ≦ 成績 < 70 ならば 「C」 ○ 点数 < 60 ならば 「D」 という問題がわかりません。 Aの縦の列に生徒名、Bの列に学年、Cの列に得点が 書いてあります。 本当にパソコン音痴なので困っています。 わかりやすい回答をお願いいたします。

  • エクセルでB列の数値がA列(A1:A10)の範囲に存在するかどうかを知りたい

    こんばんは。 エクセルでこのようなことができるのかどうか分からないので、教えてください。 B列の数値がA列(A1:A10)の範囲に含まれる数値なら○、含まれない数値なら×と、C列に表示したいのですが、エクセルでそのようなことはできるのでしょうか。 できるのであれば方法を教えていただけますでしょうか。 よろしくお願いいたします。 <<最終的な結果は以下のように表示したいです>>   A B C 1 12 19  ○ 2 15 20  ○ 3 19 28  ○ 4 20 30  × 5 23 34  ○ 6 28 35  × 7 32 38 × 8 34 39  ○ 9 39 10 40

  • A列の特定条件のセルのときC列の数値を集計する関数

    以下のA列に1から3の値が入っている時、 例えば1の時のC列の数値を集計できる関数はありますか? A列1の時調べるとC列は1が1個、2が1個、3が1個です。 A列2ではC列は1が1個です。 A列3ではC列は1が1個です。 _|A|B|C 1|1| |3 2|2| |1 3|1| |2 4|3| |1 5|1| |1 よろしくお願いします。

  • Excel 数値に近い文字列を2つ表示させたい

    添付図罫線より左側がG2に上りと入力した例【上り場合】、 右側がG2に下りと入力した例【下りの場合】になります。 A列に路線名、B列に方向、C列に駅名、D列にkmが入力されています。 G1に路線名を京浜東北、G2に方向を上り、 G3にkmを1.5と入力すると、 京浜東北、上りの1.5kmはどの駅からどの駅の区間になるのかを探し、 G4に秋葉原、G5に神田と表示させたいです。 G2が下りと入力された場合は、 【下りの場合】という添付図右側のように、 神田から秋葉原と表示させたいです。 一致するkmを探して駅名を表示するには、 以下の関数かと思うのですが、 =index(c1:c25,sumproduct((a1:a25=g1)*(b1:b25=g2)*(d1:d25=g3),row(c1:c25))) 近い数値もしくは一致する数値(km)を探して、 結果(駅から駅)を表示するには、 どのようにすればいいのかご教示いただきたくお願いいたします。

  • 関数や lookupで取り出した 数値 文字を 固定したい

    関数や lookupで取り出した 数値 文字を 固定したい    A 列 B列 C列    A1 5   B1 6 C1 =A1+B1(11数値)の 式を消して 11の数字を固定するには どうすれば いいでしょうか?  

専門家に質問してみよう