- ベストアンサー
計算式を教えてください
下記の左表を、矢印右側のような表に集計したいのですが、 うまく計算式ができません。教えてください。 計算式で出したいのは、右表の「40」「太郎」「15」「次郎」・・ のデータの部分です。 名前 ランク 点数 1位 名前 2位 名前 ・・・ 総務 三郎 3位 5 ⇒ 総務 40 太郎 15 次郎 ・・・ 総務 太郎 1位 40 経理 60 五郎 50 司郎 ・・・ 総務 次郎 2位 15 経理 司郎 2位 50 経理 五郎 1位 60 経理 六郎 3位 4
- みんなの回答 (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)
追記です。 =IF(F1=5,A1,IF(F1=40,A2,IF(F1=15,A3))) は編集後の名前の列(G列としました) へ入力します。 名前がA列といいましたがその前に値があるので名前はB列 ですね。 それに伴い、点数はD列、編集後の点数はG列、名前はH列 となります。 一つ、ずれてしまって申し訳ありませんでした。 余計わかりにくくなってしまったらごめんなさいm(_ _)m
似たようなことを前に高等学校の授業でやりましたので 参考程度ですが回答を。 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列は編集後の点数の列としました) これでなんとかできると思います。