• 締切済み

エクセルに詳しいかた、教えてください。

エクセルに詳しい方、教えてください。 お聞きしたいことが2点あります。 ○知りたいこと1 数字が下記の通り、A列はランダムに、B列は数字が1ずつ増加するように並んでおり、C列は空欄です。    A B C 1  5 1 2  3 2 3  1 3 ・A列の数字のうち、もっとも小さい数字の右(B列)の数字を ・C1に表示されるような関数 を、組みたいのですが、どのようにすればよいのでしょうか? ちなみにA列の数字は0を含む整数です。 ○知り合いこと2 (前提は知りたいこと1からの続き) A列の中には同じ数字が発生する可能性がある状況です。 この場合、以前違う関数ではPCが優先順位付けができないためか、 C列に、A列に対応するB列の数を、取得しようとしても、#N/Aという表示が出てしまうようでした。 そこで可能ならば、優先順位づけをインプットさせたいのですが、 ・指定したセル内の一桁の数字に、1を足した数が一番優先順位が高く、 ・以降2を足した数、3を足した数・・・といったように順に優先順位が高くなる ・1を足した後の数が9まできたら、0に戻る このようなことを考慮したうえで、C列に数字を表示させることは可能でしょうか? 知りたいこと1だけでも、1・2を合わせたものでも、ご存知のかたがいらっしゃいましたらご教示いただけますと幸いです。

みんなの回答

回答No.4

質問や回答をみていると、「A列のデータを大きい値順に並べ換えると共に、その順位を表示したい。」と考えられるので、それに沿って、アドバイスします。 A列にデータが10個入力されているとします。(データ領域:A1:A10) セルB1に、[=Rank(A1,A$1:A$10,0)]と入力します。 セルB1をコピーして、B2:B10に貼り付けます。 列A:Bをクリックし、データ→並べ替えを選択し、最優先される欄にB列を選択し、昇順・降順の別を選択し、OKボタンを押します。 セルB1のランク関数はA列の値が大きい順に順位を決めています。 小さい順の場合、式中の0を1とします。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 1に関しては、 =VLOOKUP(MIN($A:$A),$A:$B,2,FALSE) で良いと思います。  尚、A列の中に最小値が入力されているセルが複数存在する場合には、その中で最も上にある行のB列の値が表示されます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

点数表があって、「テストで最小・最大点を取った生徒の名前を表示する」などの例題で関数の本には必ず載っているタイプですよ。エクセルの関数の本など読んでないのでは。 ーーー =INDEX($A$1:$B$10,MATCH(MIN($A$1:$A$10),$A$1:$A$10,0),2) 吟味 最小MIN関数は空白セルは0としてみてしまう。 もしあればマイナスの値があっても排除しない。(むしろ排除するのは式が難しい) A列文字列の行は引っかからない。 最小値が2つあると上行が優先して指摘される。 ーー ほんとに表現がわかりにくい 後半はA列に最小データが2行以上ある場合、他列の値の大小で、大の行を取りたいのか。 ー A列   B列  C列    D列 5 1 2 3 2 3 1 3 12 1.12 2 6 23 1 4 11 1.11 1 2 25 1.25 C列はウエイト。 D列はD1:D10を範囲指定して、=IF($A$1:$A$10=MIN($A$1:$A$10),(A1:A10)+(C1:C10)*0.01,"") と入れてSHIFT+CTRL+ENTER ウエイト込みの点数を出した。C列は2桁数とする。 中間作業列 A12に=MAX(IF($A$1:$A$10=MIN($A$1:$A$10),(A1:A10)+(C1:C10)*0.01,"")) と入れてSHIFT+CTRL+ENTER 1.25 最終結果 =INDEX($A$1:$B$10,MATCH(A12,$D$1:$D$10,0),2) で 2(6行目のB列の値) ==== 上記は配列数式を使ったりしているので、難しい回答と思う。 私の質問のヒント(下記)を基に質問文を書き直し、再質問して、もう少し単純な回答がないか、頼んでみたら。 ーー 「A列に最小データが2行以上ある場合、他列の値の大小で、大(小)の行を取りたい」。 10行ぐらいの実例を挙げて質問のこと。

azutsuyo
質問者

お礼

ご回答、ありがとうございます。 常識的な質問ですみません・・・。 これからは一度調べてからご質問させていただきます。 また2つめの質問についても参考にさせていただき、次回質問させていただきますね。 ありがとうございました。

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

知りたい1: >B列は数字が1ずつ増加するように並んでおり なら =MATCH(MIN(A:A),A:A,0) 実はA1から数字が入ってないなら =MATCH(MIN(A1:A10),A1:A10,0) などのようにして調べられます。 知りたい2: 一つのご相談投稿では,ひとつの問題解決でお願いします。 これはこちらに限らず,質問相談掲示板でのごくごく一般的なマナーです。 マナーというばかりでなく実際上の問題としても,あれもこれも突っ込むと例えば >指定したセル内の一桁の数字に、1を足した数が一番優先順位が高く、 一番肝心な条件ですが,肝心のこれはいったいどういう事ですか? 「指定したセル」とは?「1桁の数字」とは?? といったヤリタイことのご説明も,おろそかになります。 一つめのご質問が解決したら一度こちらの相談投稿は打ち切って,具体的な状況を判りやすく添えて,改めてご質問投稿しなおしてみたらどうでしょう。

azutsuyo
質問者

お礼

ご回答、ありがとうございます。 質問は1つずつなのですね!すみません。常識知らずでした。 ちょっと整理して再度質問してみます。 ありがとうございました。

関連するQ&A