• ベストアンサー

計算式を教えてください

下記の左表を、矢印右側のような表に集計したいのですが、 うまく計算式ができません。教えてください。 計算式で出したいのは、右表の「40」「太郎」「15」「次郎」・・ のデータの部分です。    名前  ランク  点数      1位 名前  2位 名前 ・・・ 総務 三郎  3位  5  ⇒ 総務  40 太郎   15 次郎 ・・・ 総務 太郎  1位  40    経理  60 五郎   50 司郎 ・・・ 総務 次郎  2位  15   経理 司郎  2位  50 経理 五郎  1位  60 経理 六郎  3位  4

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

   A   B   C   D 1  所属 名前 ランク 点数 2  総務 三郎    3   5 3  総務 太郎    1  40 4  総務 次郎    2  15 5  経理 司郎    2  50 6  経理 五郎    1  60 7  経理 六郎    3   4 8  物流 七郎    4  10 9  物流 八郎    3  20 10 物流 九郎    2  30 11 物流 十郎    1  40    F  G  H  I  J  K  L  M  N  O  P 1  所属  1 名前  2 名前  3 名前  4 名前  5 名前 2  総務 40 太郎 15 次郎  5 三郎 3  経理 60 五郎 50 司郎  4 六郎 4  物流 40 十郎 30 九郎 20 八郎 10 七郎 1.セル G2、H2 に次式を入力   G2: =OFFSET(INDIRECT("A"&MATCH($F2,$A:$A,0)),MATCH(G$1,OFFSET(INDIRECT("A"&MATCH($F2,$A:$A,0)),0,2,COUNTIF($A:$A,$F2),1),0)-1,3,1,1)   H2: =OFFSET(INDIRECT("A"&MATCH($F2,$A:$A,0)),MATCH(G$1,OFFSET(INDIRECT("A"&MATCH($F2,$A:$A,0)),0,2,COUNTIF($A:$A,$F2),1),0)-1,1,1,1) 2.範囲 G2:H2 を選択して、此れを右方にズズーッとドラッグ&ペースト 3.範囲 G2:P2 を選択して、此れを下方にズズーッとドラッグ&ペースト 4.セル G2 を選択して、次の[条件付き書式]を設定    数式が    =ISERROR(G2)    フォント色  白 5.セル G2 を選択して[コピー]を実行 6.範囲 G2:P4 を選択して[編集]→[形式を選択して貼り付け]を実行 7.“書式”に目玉入れ 8.[OK]をクリック

その他の回答 (2)

noname#66192
noname#66192
回答No.2

追記です。 =IF(F1=5,A1,IF(F1=40,A2,IF(F1=15,A3))) は編集後の名前の列(G列としました) へ入力します。 名前がA列といいましたがその前に値があるので名前はB列 ですね。 それに伴い、点数はD列、編集後の点数はG列、名前はH列 となります。 一つ、ずれてしまって申し訳ありませんでした。 余計わかりにくくなってしまったらごめんなさいm(_ _)m

noname#66192
noname#66192
回答No.1

似たようなことを前に高等学校の授業でやりましたので 参考程度ですが回答を。 IF 文でなんとかなりませんか? 入力すると場合によっては、とても長くなりますが。 質問の表の場合、総務で誰が1位か経理で誰が1位かを 計算式で出したいということですか? 一番点数が高い人を単純に計算する場合 =IF(C1>C2,IF(C1>C3,C1)) このように入力すればC1からC3のなかでC1が一番大きかったら その値を返してくれます。(Cの列は点数としました) 一番点数が低い人を単純に計算する場合 =IF(C1<C2,IF(C1<C3,C1)) 上記の逆です。このように入力するとC1からC3のなかでC1が一番 小さかったらその値を返します。 点数が真ん中の人の場合 =IF(C1<C2,IF(C1>C3,C1)) このように入力するとC1からC3のなかでC1が真ん中 (C2より小さく、C3よりは大きい場合)のときに その値を返してくれます。 列を変えてA列(名前の列としました)の場合 文字列ですのでC列のようには行きません。 そこで次のようにします。 =IF(F1=5,A1,IF(F1=40,A2,IF(F1=15,A3))) このように入力するとF列の点数に応じてA列の値を返します。 (F列は編集後の点数の列としました) これでなんとかできると思います。

関連するQ&A

専門家に質問してみよう