Excel - RAND 数式で別のシートのセル参照を使用する

Excel - RAND 数式で別のシートのセル参照を使用する

RAND コマンドの確率参照を別のワークシートへのセル参照に置き換えることが可能かどうか知っている人はいますか?

重み付けされたランダムなテキスト選択には、以下の基本的な数式を使用しています。アイデアは、セルを下にドラッグするだけでシートに入力できるというものです。

別のシートに、各エントリの累積確率を合計する計算機を作成しました。

確率を更新するには、手動で数式を編集する必要があります。中括弧内の確率を計算機シートのセル参照 ({0、Calc!C3、Calc!C4、Calc!C5 など) に置き換えることができれば、時間の節約になります。

それは可能ですか? 試してみましたが、エラーが発生しました。

ご注意ください: 私は高度な Excel スキルを持っていません。これは私が Excel でこれまで試みた中で最も複雑なことです。

コード

=CHOOSE(MATCH(RAND(),{0,0.05,0.15,0.3,0.54,0.74,0.79,0.89,0.99,1}),"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")

ワークブック– これは実際のワークシートへの Dropbox リンクです。ちょっとマニアックですが、Werewolf The Apocalypse ロールプレイング ゲーム用に作成しました。

答え1

あなたの質問を最もよく理解した上で、次の解決策を提案します。あなたの側でチェックして、それが要件を満たしているかどうかを確認してください。

確率を範囲として見ているのがわかります。たとえば、0 - 0.4、0.4 - 0.65 などです。RAND も 0 から <1 の間の数値を生成するため、最後の値は自動的に 1 になります。

たとえば、「ランク確率」シートで、次のような表を作成します。これは一目瞭然だと思いますが、上部の 0 から始めて、下のセルの元の確率列の前の値をそれぞれ参照します。

ここに画像の説明を入力してください

メインシート(例:9月)のセル D2 以下に次の数式を入力します。

=CHOOSE(MATCH(RAND(),TRANSPOSE('Rank probabilities'!$D$2:$D$7)),"1","2","3","4","5","6")

次に、数式バー内でCTRL+ SHIFT+を押してENTER配列数式を作成します。数式は、配列数式であることを示すために中括弧で囲まれます。

目的の行に沿ってコピーし、F9 キーを押して手動で計算します。TRANSPOSE は、確率の垂直列を水平配列に転置する機能を実行し、数式内の数値の手動配列を置き換えます。

以下の Screen to GIF スナップショットを参照してください。自分の側でテストして、これが機能するかどうかを確認してください。この例では、シート「Sept」の列 D のみが変更され、数式アプローチが反映されています。他のインスタンスでも同じことを再現できます。

ここに画像の説明を入力してください

関連情報