• ベストアンサー
  • 困ってます

エクセルでこんなこと、できるのでしょうか?

たとえばA1に1 B1に2 C1に3というようにJ1に10まで入力 (この1~10は人の番号) A2からJ2には1から10の人のそれぞれの科目Aの点数 同じくA3からJ3には科目Bの点数、と言う風に入れていきます。 K2、K3・・・に入れたいのは、点数が一番高かった人の番号 単に一番高かった点数ならMax関数を使うというのはわかるのですが、違うセル番地にあるその点数を取った人を指定するという方法(関数?)が思いつきません。こんなこと、できるのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数73
  • ありがとう数2

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

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

基本的な数式は K2 =INDEX($A$1:$J$1,MATCH(MAX(A2:J2),A2:J2,0)) 以下コピー といった具合です。 #ただし,しばしば点数が一番高いヒトが同点複数いた場合,じゃぁどうしたいのかが次の課題になります。 具体的にどんな具合に結果を示したいのか,必要に応じて次の手を模索したり改めてご相談を投稿してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

すぐにご回答を頂いたようでありがとうございます。さっそくこの式を入れてみましたが、うまく反応してくれました。当たり前、ですね(^_^;) この時点で止まっていましたが、これでめどがつき先へ進めそうです。また新たに不明点が出てくることがあるかと思いますので、改めて質問させていただきます。ありがとうございました。

関連するQ&A

  • 光と電子の相互作用の計算について

    こんにちは、下記はmathematicaで、ランダウの「相対論的量子力学」P404の式f(s、u)を計算したものです。プログラムの概要は、残念ながら800文字以上になるので書かれません。、、、、その後、下記を作用させて、式を整理しました。 k0^2-k1^2-k2^2-k3^2->0;j0^2-j1^2-j2^2-j3^2->0; p0^2-p1^2-p2^2-p3^2->m^2;q0^2-q1^2-q2^2-q3^2->m^2; k0*p0-k1*p1-k2*p2-k3*p3->1/2*(s-m^2)/.-k0*p0+k1*p1+k2*p2+ k3*p3->-1/2*(s-m^2); k0*q0-k1*q1-k2*q2-k3*q3->1/2*(m^2-u)/.-k0*q0+k1*q1+k2*q2+ k3*q3->-(1/2*(m^2-u)); p0*q0-p1*q1-p2*q2-p3*q3->(m^2-t/2)/.-p0*q0+p1*q1+p2*q2+ p3*q3->-(1/2*(m^2-u)); j0*p0-j1*p1-j2*p2-j3*p3->1/2*(m^2-u)/.-j0*p0+j1*p1+j2*p2+ j3*p3->-1/2*(m^2-u); j0*q0-j1*q1-j2*q2-j3*q3->1/2*(s-m^2)/.-j0*q0+j1*q1+j2*q2+ j3*q3->-(1/2*(s-m^2)); k0*j0-k1*j1-k2*j2-k3*j3->(-t/2) /.-k0*j0+k1*j1+k2*j2+k3*j3->(t/2); 更に最後にm=0としました。すると、計算結果は、 (1/s^2)*(4*(2*k2^2*p0*q0 + 2*k3^2*p0*q0 + 2*k1^2*(p0*q0 - p1*q1) - 2*k2^2*p2*q2 - 2*k2*k3*p3*q2 - 2*k2*k3*p2*q3 - 2*k3^2*p3*q3 - k2*q2*s - k3*q3*s + k2*p2*u + k3*p3*u - k1*(2*k2*(p2*q1 + p1*q2) + 2*k3*(p3*q1 + p1*q3) + q1*s - p1*u)))となりました。この結果に、どのような法則を使用すれば答えを纏めf(s、u)が得られるのでしょうか?

  • エクセル マクロでセルを自動移動

    例1のようになっているエクセル表があります。 データは右方向、下方向へ増えます。 Cの列以降は4つ単位でしかデータは増えません。 それを例2の表のように列A,Bのデータはそのままに Cの列以降の4つのセルを区切りに下の行に移動して、 空白の列まで言ったらA2の行以降を最後の行まで繰り返しするという マクロを書くことは可能でしょうか。 出来ましたらそのマクロを教えてください。 例1 A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 K3 L3 M3 N3 例2 A1 B1 C1 D1 E1 F1 A1 B1 G1 H1 I1 J1 A1 B1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 A2 B2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 A3 B3 G3 H3 I3 J3 A3 B3 K3 L3 M3 N3

  • 長い式の簡素化

    宜しくお願い致します 例えば、A1,B1~J1までに10,000 5,000 2,000 1,000 500 100 50 10 5 1 と固定数値が10個入っていますA2,B2~J2までにランダムな数値が入ります これを1行目と2行目を掛け算して最後にK2に合計を出したいので =A1*A2+B1*B2+C1*C2+・・・・・・J1*J2というように長い式となりますが この式をもう少し関数か何かで簡素化することは可能でしょうか。

その他の回答 (1)

  • 回答No.2
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

一番高い点数が2人以上いた場合にも対応できるようにするためには次のような作業列を作って対応することが分かり易いでしょう。 例えばK列より右の列でL列からU列までを作業列として使用します。 L2セルには次の式を入力してU2セルまでオートフィルドラッグしたのちの下方にもオートフィルドラッグします。 =IF($A2="","",A2+(1-COLUMN(A1)/100)) その後にK2セルには次の式を入力して下方にオートフィルドラッグします。 =IF($A2="","",INDEX(A$1:J$1,MATCH(LARGE(L2:U2,1),L2:U2,0))&IF(INT(LARGE(L2:U2,2))=INT(LARGE(L2:U2,1)),"/"&INDEX(A$1:J$1,MATCH(LARGE(L2:U2,2),L2:U2,0)),"")&IF(INT(LARGE(L2:U2,3))=INT(LARGE(L2:U2,1)),"/"&INDEX(A$1:J$1,MATCH(LARGE(L2:U2,3),L2:U2,0)),"")&IF(INT(LARGE(L2:U2,4))=INT(LARGE(L2:U2,1)),"/"&INDEX(A$1:J$1,MATCH(LARGE(L2:U2,4),L2:U2,0)),"")) この式では最高の点数が4人まで対応することができます。適宜変更して使用してください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

詳しいご回答をありがとうございます。コピペでやってみましたが、複数1位が/で区切られ表示できるのですね。まだその表自体が試行錯誤の段階で、具体的にどう発展させるか決まっていないのですが、とても参考になりました。(このような複雑な式を自力で作成するのは無理ですので)ありがとうございました。

関連するQ&A

  • エクセルでA行をコピーし、3列づつ貼り付ける方法

    エクセルでAの行(たとえばA1~A63まで)の文字列を全てコピーし、一括で3列21行の範囲内で張り付けることは可能でしょうか? 3列21行の範囲内で貼り付けるとは、たとえば下記の範囲内で、I2、J2、K2、I3、J3、K3の順番で張り付けることです。 I2、J2、K2 I3、J3、K3 I4、J4、K4 I5、J5、K5 ・・・ ・・・ I19、J20、K21 いろいろググってみたのですが、思うような答えが見つかりませんでした。 分かる方がおりましたら、何卒ご教示のほど、宜しくお願い致します。

  • 行列

    行列A |a1 b1 c1| |a2 b2 c2| |a3 b3 c3| の各列ベクトルが線形従属であるとき、|A|=0であることの 証明には、例えば、どのようにしていけばいいのでしょうか? 係数をk1,k2,k3として、 k1a1+k2b1+k3c1=0 k1a2+k2b2+k3c2=0 k1a3+k2b3+k3c3=0 となるk1,k2,k3が0以外に自明な解があると証明するにはどのように すればいいのでしょうか。 |A|=0から逆行列を持たないことが言えるので、それを証明すれば いいのでしょうか。 すみませんが、ご教授お願いします。

  • 偏微分方程式の数値解析

    お忙しいところすみません. 現在,FDTD法による数値解析を行っています. FDTD法は空間及び時間微分に対して中心差分を行っていますがこれを4次のルンゲクッタ法で行うことは出来るのでしょうか?ある参考書に以下のような「連立1階微分方程式」を4次のルンゲ-クッタ法で解くというのがありました. dy/dt=f(t,y,z) dz/dt=g(t,y,z) これを4次のルンゲ-クッタ法で解くと y(n+1)=y(n)+1/6*(k1+2*k2+2*k3+k4) z(n+1)=z(n)+1/6*(j1+2*j2+2*j3+j4) ここで k1=Δt*f(t(n),y(n),z(n)) j1=Δt*g(t(n),y(n),z(n)) k2=Δt*f(t(n)+Δt/2,y(n))+k1/2,z(n)+j1/2) j2=Δt*g(t(n)+Δt/2,y(n))+k1/2,z(n)+j1/2) k3=Δt*f(t(n)+Δt/2,y(n))+k2/2,z(n)+j2/2) j3=Δt*g(t(n)+Δt/2,y(n))+k2/2,z(n)+j2/2) k4=Δt*f(t(n)+Δt,y(n)+k3,z(n)+j3) j4=Δt*g(t(n)+Δt,y(n)+k3,z(n)+j3) これをマクスウェルの方程式に対応させ ε∂E(t,x,y,z)/∂t=f(t,H)=∇×H μ∂H/∂t=g(t,E)=-∇×E として出来ないこともない気がするのですが. なぜこの方法を試みようとした理由は現在,通常のFDTD定式化により数値解析を行っていますが ・プログラムは正しい ・始めの部分は正常に計算出来ている ・途中から凹凸が出始め,それが成長して発散している という事態になり,数値的不安定の可能性が強いと思ったからです.オイラー法やルンゲ-クッタ法ではこのような異常振動は進み幅を小さくすれば止まる(ということが数学的に証明されている)ようです. 何卒回答の方,よろしくお願い致します.

  • Excelにおけるセルの参照方法について

    少し複雑なセルの参照方法について、分からなくて困っています 例えば、A1~K1 A2~K2 A3~K3     A4~K4  にある値が入力されているとき、 A10に[=A1]と入力した場合は、隣のB10にD1の値を、C10にG1の値を、D10にJ1の値が出力され、 A10に[=A2]と入力した場合は、隣のB10にD2の値を、C10にG2の値を、D10にJ2の値が出力され、 以下[=A3][=A4]の場合も同様に出力されるようにするためにはどうすればよいのでしょうか? 関数の組み合わせなどで解決できるのでしょうか?実際にはもっと膨大なデータを処理しなければならず、現在は手入力で非効率的な作業を行って困っています(^^;)どなたかご教授お願いしますm(__)m

  • エクセルでINDEX+MATCH関数について

    INDEX+MATCH関数について B1:D7、F1:H7には次のようなデータが入力されていて J1:M3のようなものを作成したいのですが上手くいきません。 J2にコード番号を入力し、品名を表示させ、数を入力し、価格を表示させる ・・・ということをしたいのですが、上手くいきません。 K2には  =INDEX((C2:D7,G2:H7),MATCH(J2,B2:B7,0),1,LEFT(J2,1)) という関数が入っていて K2にはりんご M2には500  と表示され上手くいきます。 コード番号100番台は上手くいくのですが、200番台になると#N/Aとエラー表記になります。 どこをどう修正すれば上手くいくのでしょうか。 教えてください。

  • エクセルで住所の番地順に並べ替えるには?

    現在、町名ごとにシートを分けて管理しており、 セルには番地のみが入力されております。 番地順に並べ替えを行うと、 下記のようになります。 A1:1-2-3 A2:1-20-10 A3:1-5-8 これを A1:1-2-3 A2:1-5-8 A3:1-20-10 にするために 「-」で区切ってから並び替えをしたいのですが、 A1:1-2-3 → B1:1 C1:2 D1:3 となるような関数を教えてください。 よろしくお願いいたします。

  • エクセル関数SUMIFについて

    エクセル関数を良く使います。 今回行いたいのはJ28:J32の範囲の中でJ24より小さい値の行のI28:I32の合計の値というものです。 しかし、下記の様に入力すると「入力が正しくありません」と出てしまいます。 =SUMIF(J28:J32,<J4,I28:I32) 数式の場合は””で囲むとヘルプに出ているのですがそれだと<J24という文字として認識してしまうらしく、私の望むJ4より小さい値の行のI列の合計は出てきません。 この式の検索条件にセル番地とすうしくの組み合わせを入れてはいけないのでしょうか? 御存知の方教えて下さい。

  • Excelの関数

    MAX関数の答えに該当するセルの列番地を別の関数の引数の一部に使いたいのですが、どのようにすればいいですか? 例えばMAX(A1:G10)とあってその答えがC5だとします。 別のセルで=C10を入れるのですが、そのCはMAX関数の答えのCをひっぱってくるようにしたいのです。 宜しくお願いします。

  • EXCELのIF関数について

    9セルA1&#65374;J1に1&#65374;15の数のうちの10個が一つずつ入っており、セルA3&#65374;J3にも1&#65374;15の数が入っています。またA2&#65374;J2には、A&#65374;Jまでの英字が入っています      1 2 15 9 7 6 5 4 11 3        A B C D E F G  H  I  J       2 3 5 7 9 10 11 12  13 15   のとき                                          B J G E D    I        C   のようにA3列の値と同じ1列の数字の下の値を            A5 列に表示したいのですが、何度やってもできません。      良い知恵をお持ちの方、よろしくおねがいします。

  • エクセルの関数で悩んでいます

    たとえばA列に5,10,15,20…と5の倍数を置いて A1=<B1<A2のときC1は1 A2=<B1<A3のときC1は2 というように Ax=<B1<Ax+1のとき、C1にxが表示されるような式を作りたいと思っていますが、どうしたらいいのでしょうか? IF関数を使っていたのですが、上手くいきませんでした わかる方がいましたら、どうぞよろしくお願いします! 説明下手ですみません