質問: エクセル(excel、calc)でランキングの順位を検索して名前を表示させる 30名の部員がいます(名前:b87~b116) 1日ごとに数字を出していき(1日:e87~e116、31日ai87~ai116)、その数字を元に30名分の数字を出しています(al87~an116) その後、ランキング付けを行っています(an87~an116) 本題ですが、an87の数字を(al87~an116)から探し出して、どの部員(b87~b116)なのか判別して、名前(b87~b116)を表示させることは可能でしょうか? どのような式になるのか、どの関数を使うか等、答えを教えていただけると幸いです。 (趣味でexcelを使っているだけなので、なるべくわかりやすい言葉で教えていただけると助かります) 30名分の数字を元にして、その後別セルでランキング付けをしている理由としては、1日~31日の数字も別のセルを参照してたりして混乱しているのもありますが、元の表(a87~am116)はランキングでソートしたくないため、このような方法を取っています。 よろしくお願いいたします。
回答: こんばんは >an87の数字を(al87~an116)から探し出して、 (al87~an116)の値がすべて異なる(重複ヒットがない)かや、ヒットしない可能性の有無などによって多少変わってきますが、ひとまず「必ず一つだけヒットする」というのなら、 =match(an87,$al$87:$al$116,0) ...1 で、範囲内の何番目の値が一致するかが返されます。 >名前(b87~b116)を表示させることは可能でしょうか? 同じ行の値を参照すれば良いのでしょうから、上記の値を利用してindex関数で同じ番目の値を参照すれば良いことになります。 =index($b$87:$b$116,参照番号) ...2 1、2を組み合わせて、 =index($b$87:$b$116,match(an87,$al$87:$al$116,0)) とすることで、ご質問の結果を表示できると思われます。