web-dev-qa-db-ja.com

Excelで利用可能な文字列のセットからランダムな文字列を生成する方法は?

任意の順序でランダムな文字列値を持つ列を生成したいと思います。これらの文字列値は、( 'New'、 'Mint'、 'Very Good'、 'Good'、 'Acceptable'、 'Poor')文字列である必要がありますか? RANDBETWEEN関数を使用して、上記のデータを角かっこで囲んで列に入力する方法を誰かに教えてもらえますか?

8
Ashutosh

文字列が数本しかない場合

文字列が最初の列にある場合は、次のようにCHOOSE()関数を使用できます。

_=CHOOSE(RANDBETWEEN(1,6),$A$1,$A$2,$A$3,$A$4,$A$5,$A$6)
_

RANDBETWEEN(1,6)はランダムに1から6までの数値nを選択します-CHOOSE次に、すべてのパラメーターをカウントします。 (列Aの文字列)をリストし、nth用語を表示します。

enter image description here

ただし、文字列が多い場合

CHOOSEの項目がいくつかある場合、この式を維持するのは面倒です。

その場合、おそらく テーブルを挿入 (それをMyStringsと呼びましょう)、列にID列を作成することをお勧めします=ROW()-1を使用して、式をVLOOKUPに切り替えます。 MINMAXおよび 構造化参照 を使用して、RANDBETWEENで使用するために、テーブルにある用語の数を動的に計算できます。

_=VLOOKUP(RANDBETWEEN(MIN(MyStrings[ID]),MAX(MyStrings[ID])),MyStrings,2,0)
_

enter image description here

慎重に

RANDBETWEENは揮発性の関数です。つまり、他のセルが変更されるたびに(ワークブックの任意の場所)再計算されます。ランダムに生成された文字列を一度作成したままにしておく必要がある場合は、コピーして 特殊を値として貼り付け する必要があります。

多くの揮発性関数を使用すると、ワーブックの速度が低下する可能性がありますが、 これを軽減するためにできることはあります

13
Andi Mohr

これを行うには、INDEXRANDBETWEENを併用できます。

=INDEX({"New","Mint","Very Good","Good","Acceptable","Poor"},RANDBETWEEN(1,6))

この数式を列に入力するだけです。

10
Excellll