アプリ版:「スタンプのみでお礼する」機能のリリースについて

文字探しのゲームとして、エクセルで任意の言葉(ここでは野菜名)をランダムに並び替えて
別シートに表示させたいと考えています。

sheet1に記載された野菜名を乱数(B列)とランク(C列)を使い、
sheet2のA1から右に、それぞれ1位、2位のところへ値を入れたいと考えています。
画像の場合、sheet2のA1にはアスパラガス、B1にはイチゴ、となります。
各列は11まであり、次の行はその続きとなります。
(1行目が1位から11位まで、2行目は12位から22位まで)
sheet2の1位、2位の場所はわかりやすいように記載しただけで、実際は数式で構いません。


ランクで毎回並びが変わってしまいますが、文字探しが目的のため、その点は問題ありません。

vlookup関数でと考えておりましたが、どうも違うように思えます。
作成のヒントをいただければと思います。
よろしくお願いいたします。

「エクセルでランク順に別シートへ並べ替える」の質問画像

質問者からの補足コメント

  • 回答ありがとうございます。
    xlookup非対応のバージョンでした。
    最初に断りを入れず申し訳ありません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/10/05 07:44
  • 皆様回答ありがとうございます。
    たくさん回答があり、正直理解するのに時間がかかっています。
    もう少しお時間をください。

    ランキングの件については、chonamiさんがいわれているように、
    ランダムに並び替えたいために乱数からのランキングということで理解していただければと思います。

    No.12の回答に寄せられた補足コメントです。 補足日時:2021/10/06 20:59

A 回答 (12件中11~12件)

おはようございます。



Xlookupは、Office 365の新関数ですので、質問者さんのVer次第で
 使えるか分からないので、参考までに。 1つの案として。

sheet1のRank関数をA列に表示すれば、Vlookup関数が使えるかと思います。 見た目が気になる様でしたら、A列を非表示とか。
A列:Rank関数、B列:野菜、C列:乱数 に変更になりますが。。。

上記が前提ですが、Sheet2のA1に(No.1さんの関数を借りて)
=VLOOKUP(COLUMN()+(ROW()-1)*10,Sheet1!$A$1:$C$20,3,True)
を入力。 A1をコピーして、J1まで貼り付け。A1:J1をコピーし、2行目
 へ貼り付け。 これで、どうでしょうか?
    • good
    • 0

Sheet2のA1=XLOOKUP(COLUMN()+(ROW()-1)*10,Sheet1!$C$1:$C$20,Sheet1!$A$1:$A$20,"err",0,1)


として右と下にコピーではどうでしょうか。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!