質問: excel:2つの基準を満たすテーブル内のランダム選択 これが私のデータの例です:name: office: years: john smith canada 1 bob smith canada 1 jake smith canada 1 sarah smith canada 1 別のシートで、officeとyearsに基づいてランダムな名前を出力したいと思います。数式を下にドラッグすると、毎回異なる名前が付けられます(これが行き詰まっています)。私はいくつかの式を試しましたが、これが最も近いものです。=index($b$2:$b$436,match(small(if($d$2:$d$436&$f$2:$f$436=$h$3&$i$3,$g$2:$g$436),1),$g$2:$g$436,0)) 列b =名前列d =オフィス列f =年、h3とi3が私のルックアップ値です列gは乱数のセット= rand()
回答: a2で名前を返したい場合(a1はヘッダーまたは空白)、a2でこの配列数式を使用します。=index($b$2:$b$436,small(if(($d$2:$d$436=$h$3)*($f$2:$f$436=$i$3)*(countif(a$1:a1,$b$2:$b$436)=0),row($b$2:$b$436)-row($b$2)+1),randbetween(1,sum(($d$2:$d$436=$h$3)*($f$2:$f$436=$i$3)*(countif(a$1:a1,$b$2:$b$436)=0)))))で確認 ctrl+shift+ctrl コピーダウン-開始セルの上のセルに一致するように、countif関数のa$1:a1範囲を変更します。注:-この方法では、乱数の列は必要ありません