『rand×vlookupで』(トレチノイン)
疑似タロット占いを作成しています。 sheet1 |A |B|C |D | 1| | | |正 | 2|=rand() |0|愚者 |No | 3|=rand() |1|魔術師|Yes| …
sheet2 |A |B | 1|=rand()|=rand()| 2|※1 |※2
※1 =VLOOKUP(A1,一覧!A2:G23,3) ※2 =IF(B1>0.499,XLOOKUP(A3,一覧!C:C,一覧!E:E),XLOOKUP(A3,一覧!C:C,一覧!G:G))
おおよそこういうフォーマットです。 ※1の式なのですが、Vlookupで引数省略の場合は近似値検索になると思うのですが たまに何も引っかからずに#N/Aエラーになります。 sheet1のrandを見ても、近しい値はあるのですが。
xlookupで小さいほうか大きいほうかにしろ、というのは一旦置いておいて なぜエラーが起きるのかを知りたいです。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
VLOOKUPのヘルプを確認してください。
検索の型の指定を省略したとき、Trueとみなされますが、 その時には、検索範囲の最初の列は、数値順になっていることが求められると思います。 ランダムになっているとエラーになる可能性が高いと思います。
"一覧"ってなんですか?Sheet1,Sheet2のほかにそういうシートがあるんですか?
(xyz) 2025/03/14(金) 15:42:31
すみません、sheet1が一覧です。 ヘルプ見ました。結局ランダムだと難しいようなので、方策を考えます。ありがとうございました。 (トレチノイン) 2025/03/14(金) 16:26:58
sheet2!A1の値がSheet1!A列のどの値よりも小さい場合、「検索値未満の最大値」が存在しないためエラーを吐き出します
0/22,1/22,2/22,3/22… と分数の固定値にすることをうまくいくと思います
(エリス) 2025/03/18(火) 19:48:24
おっしゃっていることは正しいのですが。。。固定にすると、均等な確率で(理論上)出てしまうため 気分として実際のタロットの感じが出ないなと思った次第です。
結局、Sheet2側に =SORT(FILTER(Sheet1!A:G,ISNUMBER(Sheet1!A:A))) で表を再生成し
=XLOOKUP(A1,A3:A24,C3:C24,C3,-1) で対応しました。 (トレチノイン) 2025/03/26(水) 14:51:26
sheet1!A1=0
sheet1!A2=RAND()
sheet1!A3=A2+RAND()
:
sheet1!A22=A21+RAND()
sheet2!A1=RAND()*sheet1!A22
(エリス) 2025/03/26(水) 18:14:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.